MCPcopy Create free account
hub / github.com/apecloud/myduckserver / writeValue

Function writeValue

pgserver/logrepl/decode.go:588–667  ·  view source on GitHub ↗

Keep writeValue as a fallback for handling Go values from pgtype codec

(builder array.Builder, val any)

Source from the content-addressed store, hash-verified

586
587// Keep writeValue as a fallback for handling Go values from pgtype codec
588func writeValue(builder array.Builder, val any) (int, error) {
589 switch b := builder.(type) {
590 case *array.BooleanBuilder:
591 if v, ok := val.(bool); ok {
592 b.Append(v)
593 return 1, nil
594 }
595 case *array.Int8Builder:
596 if v, ok := val.(int8); ok {
597 b.Append(v)
598 return 1, nil
599 }
600 case *array.Int16Builder:
601 if v, ok := val.(int16); ok {
602 b.Append(v)
603 return 2, nil
604 }
605 case *array.Int32Builder:
606 if v, ok := val.(int32); ok {
607 b.Append(v)
608 return 4, nil
609 }
610 case *array.Int64Builder:
611 if v, ok := val.(int64); ok {
612 b.Append(v)
613 return 8, nil
614 }
615 case *array.Uint8Builder:
616 if v, ok := val.(uint8); ok {
617 b.Append(v)
618 return 1, nil
619 }
620 case *array.Uint16Builder:
621 if v, ok := val.(uint16); ok {
622 b.Append(v)
623 return 2, nil
624 }
625 case *array.Uint32Builder:
626 if v, ok := val.(uint32); ok {
627 b.Append(v)
628 return 4, nil
629 }
630 case *array.Uint64Builder:
631 if v, ok := val.(uint64); ok {
632 b.Append(v)
633 return 8, nil
634 }
635 case *array.Float32Builder:
636 if v, ok := val.(float32); ok {
637 b.Append(v)
638 return 4, nil
639 }
640 case *array.Float64Builder:
641 if v, ok := val.(float64); ok {
642 b.Append(v)
643 return 8, nil
644 }
645 case *array.StringBuilder:

Callers 1

decodeToArrowFunction · 0.85

Calls 1

AppendMethod · 0.80

Tested by

no test coverage detected