mirror of
https://github.com/ncruces/go-sqlite3.git
synced 2026-01-11 21:49:13 +00:00
Optimize.
This commit is contained in:
22
stmt.go
22
stmt.go
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user