(oid uint32, field any)
| 535 | } |
| 536 | |
| 537 | func (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 | |
| 571 | func (b *CompositeTextBuilder) Finish() ([]byte, error) { |
| 572 | if b.err != nil { |
no test coverage detected