MCPcopy
hub / github.com/electric-sql/pglite / #parseErrorMessage

Method #parseErrorMessage

packages/pg-protocol/src/parser.ts:413–451  ·  view source on GitHub ↗
(
    offset: number,
    length: number,
    bytes: ArrayBuffer,
    name: MessageName,
  )

Source from the content-addressed store, hash-verified

411 }
412
413 #parseErrorMessage(
414 offset: number,
415 length: number,
416 bytes: ArrayBuffer,
417 name: MessageName,
418 ) {
419 this.#reader.setBuffer(offset, bytes)
420 const fields: Record<string, string> = {}
421 let fieldType = this.#reader.string(1)
422 while (fieldType !== '\0') {
423 fields[fieldType] = this.#reader.cstring()
424 fieldType = this.#reader.string(1)
425 }
426
427 const messageValue = fields.M
428
429 const message =
430 name === 'notice'
431 ? new NoticeMessage(length, messageValue)
432 : new DatabaseError(messageValue, length, name)
433
434 message.severity = fields.S
435 message.code = fields.C
436 message.detail = fields.D
437 message.hint = fields.H
438 message.position = fields.P
439 message.internalPosition = fields.p
440 message.internalQuery = fields.q
441 message.where = fields.W
442 message.schema = fields.s
443 message.table = fields.t
444 message.column = fields.c
445 message.dataType = fields.d
446 message.constraint = fields.n
447 message.file = fields.F
448 message.line = fields.L
449 message.routine = fields.R
450 return message
451 }
452}

Callers 1

#handlePacketMethod · 0.95

Calls 3

setBufferMethod · 0.80
stringMethod · 0.80
cstringMethod · 0.80

Tested by

no test coverage detected