Optimize.

This commit is contained in:
Nuno Cruces
2025-03-17 12:16:19 +00:00
parent d36f19fd91
commit b36f73c66d

22
stmt.go
View File

@@ -663,17 +663,21 @@ func (s *Stmt) Columns(dest ...any) error {
case byte(NULL): case byte(NULL):
dest[i] = nil dest[i] = nil
default: default:
ptr := util.Read32[ptr_t](s.c.mod, dataPtr+0)
if ptr == 0 {
dest[i] = []byte{}
continue
}
len := util.Read32[int32](s.c.mod, dataPtr+4) len := util.Read32[int32](s.c.mod, dataPtr+4)
buf := util.View(s.c.mod, ptr, int64(len)) if len != 0 {
if types[i] == byte(TEXT) { ptr := util.Read32[ptr_t](s.c.mod, dataPtr)
dest[i] = string(buf) buf := util.View(s.c.mod, ptr, int64(len))
if types[i] == byte(TEXT) {
dest[i] = string(buf)
} else {
dest[i] = buf
}
} else { } else {
dest[i] = buf if types[i] == byte(TEXT) {
dest[i] = ""
} else {
dest[i] = []byte{}
}
} }
} }
dataPtr += 8 dataPtr += 8