MCPcopy
hub / github.com/jackc/pgx / AppendValue

Method AppendValue

pgtype/composite.go:537–569  ·  view source on GitHub ↗
(oid uint32, field any)

Source from the content-addressed store, hash-verified

535}
536
537func (b *CompositeTextBuilder) AppendValue(oid uint32, field any) {
538 if b.err != nil {
539 return
540 }
541
542 isNil, callNilDriverValuer := isNilDriverValuer(field)
543 if isNil && !callNilDriverValuer {
544 b.buf = append(b.buf, ',')
545 return
546 }
547
548 var plan EncodePlan
549 if isNil {
550 plan = &encodePlanDriverValuer{m: b.m, oid: oid, formatCode: TextFormatCode}
551 } else {
552 plan = b.m.PlanEncode(oid, TextFormatCode, field)
553 if plan == nil {
554 b.err = fmt.Errorf("unable to encode %v into OID %d in text format", field, oid)
555 return
556 }
557 }
558
559 fieldBuf, err := plan.Encode(field, b.fieldBuf[0:0])
560 if err != nil {
561 b.err = err
562 return
563 }
564 if fieldBuf != nil {
565 b.buf = append(b.buf, quoteCompositeFieldIfNeeded(string(fieldBuf))...)
566 }
567
568 b.buf = append(b.buf, ',')
569}
570
571func (b *CompositeTextBuilder) Finish() ([]byte, error) {
572 if b.err != nil {

Callers 1

EncodeMethod · 0.95

Calls 4

EncodeMethod · 0.95
isNilDriverValuerFunction · 0.85
PlanEncodeMethod · 0.65

Tested by

no test coverage detected