mirror of https://github.com/jackc/pgx.git
Tweak handling of reading null as raw bytes.
* NULL maps to nil not empty slice * Handle NULL in Scan not ReadBytespull/57/head
parent
e616eb0783
commit
daf2efa313
6
query.go
6
query.go
|
@ -227,7 +227,11 @@ func (rows *Rows) Scan(dest ...interface{}) (err error) {
|
|||
if vr.Type().DataType == ByteaOid {
|
||||
*d = decodeBytea(vr)
|
||||
} else {
|
||||
*d = vr.ReadBytes(vr.Len())
|
||||
if vr.Len() != -1 {
|
||||
*d = vr.ReadBytes(vr.Len())
|
||||
} else {
|
||||
*d = nil
|
||||
}
|
||||
}
|
||||
case *int64:
|
||||
*d = decodeInt8(vr)
|
||||
|
|
|
@ -817,8 +817,8 @@ func TestReadingNullByteArray(t *testing.T) {
|
|||
t.Fatalf("conn.QueryRow failed: ", err)
|
||||
}
|
||||
|
||||
if len(a) != 0 {
|
||||
t.Errorf("Expected 'a' to have length 0, but it was: ", len(a))
|
||||
if a != nil {
|
||||
t.Errorf("Expected 'a' to be nil, but it was: %v", a)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -838,8 +838,8 @@ func TestReadingNullByteArrays(t *testing.T) {
|
|||
if err := rows.Scan(&a); err != nil {
|
||||
t.Fatalf("failed to scan row", err)
|
||||
}
|
||||
if len(a) != 0 {
|
||||
t.Errorf("Expected 'a' to have length 0, but it was: ", len(a))
|
||||
if a != nil {
|
||||
t.Errorf("Expected 'a' to be nil, but it was: %v", a)
|
||||
}
|
||||
}
|
||||
if count != 2 {
|
||||
|
|
|
@ -113,7 +113,8 @@ func (r *ValueReader) ReadBytes(count int32) []byte {
|
|||
return nil
|
||||
}
|
||||
|
||||
if count == -1 {
|
||||
if count < 0 {
|
||||
r.Fatal(errors.New("count must not be negative"))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue