MCPcopy Create free account
hub / github.com/denodrivers/postgres / parseNoticeMessage

Function parseNoticeMessage

connection/message.ts:77–150  ·  view source on GitHub ↗
(message: Message)

Source from the content-addressed store, hash-verified

75 * https://www.postgresql.org/docs/14/protocol-error-fields.html
76 */
77export function parseNoticeMessage(message: Message): Notice {
78 // deno-lint-ignore no-explicit-any
79 const error_fields: any = {};
80
81 let byte: number;
82 let field_code: string;
83 let field_value: string;
84
85 while ((byte = message.reader.readByte())) {
86 field_code = String.fromCharCode(byte);
87 field_value = message.reader.readCString();
88
89 switch (field_code) {
90 case "S":
91 error_fields.severity = field_value;
92 break;
93 case "C":
94 error_fields.code = field_value;
95 break;
96 case "M":
97 error_fields.message = field_value;
98 break;
99 case "D":
100 error_fields.detail = field_value;
101 break;
102 case "H":
103 error_fields.hint = field_value;
104 break;
105 case "P":
106 error_fields.position = field_value;
107 break;
108 case "p":
109 error_fields.internalPosition = field_value;
110 break;
111 case "q":
112 error_fields.internalQuery = field_value;
113 break;
114 case "W":
115 error_fields.where = field_value;
116 break;
117 case "s":
118 error_fields.schema = field_value;
119 break;
120 case "t":
121 error_fields.table = field_value;
122 break;
123 case "c":
124 error_fields.column = field_value;
125 break;
126 case "d":
127 error_fields.dataTypeName = field_value;
128 break;
129 case "n":
130 error_fields.constraint = field_value;
131 break;
132 case "F":
133 error_fields.file = field_value;
134 break;

Callers 6

assertSuccessfulStartupFunction · 0.90
#authenticateWithSaslMethod · 0.90
#simpleQueryMethod · 0.90
#processErrorUnsafeMethod · 0.90
#preparedQueryMethod · 0.90

Calls 2

readByteMethod · 0.80
readCStringMethod · 0.80

Tested by

no test coverage detected