Scan implements the sql.Scanner interface.
(src any)
| 631 | |
| 632 | // Scan implements the sql.Scanner interface. |
| 633 | func (a *StringArray) Scan(src any) error { |
| 634 | switch src := src.(type) { |
| 635 | case []byte: |
| 636 | return a.scanBytes(src) |
| 637 | case string: |
| 638 | return a.scanBytes([]byte(src)) |
| 639 | case nil: |
| 640 | *a = nil |
| 641 | return nil |
| 642 | } |
| 643 | |
| 644 | return fmt.Errorf("pq: cannot convert %T to StringArray", src) |
| 645 | } |
| 646 | |
| 647 | func (a *StringArray) scanBytes(src []byte) error { |
| 648 | elems, err := scanLinearArray(src, []byte{','}, "StringArray") |