MCPcopy Create free account
hub / github.com/erans/pgsqlite / encode_error_response

Function encode_error_response

src/protocol/codec.rs:309–344  ·  view source on GitHub ↗
(err: ErrorResponse, dst: &mut BytesMut)

Source from the content-addressed store, hash-verified

307}
308
309fn encode_error_response(err: ErrorResponse, dst: &mut BytesMut) {
310 dst.put_u8(b'E');
311 let len_pos = dst.len();
312 dst.put_i32(0); // Placeholder
313
314 // Required fields
315 dst.put_u8(b'S');
316 put_cstring(dst, &err.severity);
317
318 dst.put_u8(b'C');
319 put_cstring(dst, &err.code);
320
321 dst.put_u8(b'M');
322 put_cstring(dst, &err.message);
323
324 // Optional fields
325 if let Some(ref detail) = err.detail {
326 dst.put_u8(b'D');
327 put_cstring(dst, detail);
328 }
329
330 if let Some(ref hint) = err.hint {
331 dst.put_u8(b'H');
332 put_cstring(dst, hint);
333 }
334
335 if let Some(position) = err.position {
336 dst.put_u8(b'P');
337 put_cstring(dst, &position.to_string());
338 }
339
340 // Null terminator
341 dst.put_u8(0);
342
343 update_message_length(dst, len_pos);
344}
345
346fn encode_notice_response(notice: NoticeResponse, dst: &mut BytesMut) {
347 dst.put_u8(b'N');

Callers 1

encodeMethod · 0.85

Calls 3

put_cstringFunction · 0.85
update_message_lengthFunction · 0.85
lenMethod · 0.45

Tested by

no test coverage detected