mirror of https://github.com/jackc/pgx.git
parent
ac9d4f4d96
commit
335c8621ff
|
@ -1921,6 +1921,7 @@ func (w *sqlScannerWrapper) Scan(src any) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var bufSrc []byte
|
var bufSrc []byte
|
||||||
|
if src != nil {
|
||||||
switch src := src.(type) {
|
switch src := src.(type) {
|
||||||
case string:
|
case string:
|
||||||
bufSrc = []byte(src)
|
bufSrc = []byte(src)
|
||||||
|
@ -1929,6 +1930,7 @@ func (w *sqlScannerWrapper) Scan(src any) error {
|
||||||
default:
|
default:
|
||||||
bufSrc = []byte(fmt.Sprint(bufSrc))
|
bufSrc = []byte(fmt.Sprint(bufSrc))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return w.m.Scan(t.OID, TextFormatCode, bufSrc, w.v)
|
return w.m.Scan(t.OID, TextFormatCode, bufSrc, w.v)
|
||||||
}
|
}
|
||||||
|
|
|
@ -394,6 +394,10 @@ func TestConnQueryScanArray(t *testing.T) {
|
||||||
err := db.QueryRow("select '{1,2,3}'::bigint[]").Scan(m.SQLScanner(&a))
|
err := db.QueryRow("select '{1,2,3}'::bigint[]").Scan(m.SQLScanner(&a))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, pgtype.Array[int64]{Elements: []int64{1, 2, 3}, Dims: []pgtype.ArrayDimension{{Length: 3, LowerBound: 1}}, Valid: true}, a)
|
assert.Equal(t, pgtype.Array[int64]{Elements: []int64{1, 2, 3}, Dims: []pgtype.ArrayDimension{{Length: 3, LowerBound: 1}}, Valid: true}, a)
|
||||||
|
|
||||||
|
err = db.QueryRow("select null::bigint[]").Scan(m.SQLScanner(&a))
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.Equal(t, pgtype.Array[int64]{Elements: nil, Dims: nil, Valid: false}, a)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue