Keep writeValue as a fallback for handling Go values from pgtype codec
(builder array.Builder, val any)
| 586 | |
| 587 | // Keep writeValue as a fallback for handling Go values from pgtype codec |
| 588 | func 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: |