Add tests and docs for toBlob. Bump version.

FossilOrigin-Name: d7358c9d8961f2b70f83ca4e19d4c43408e59cc169f072a238745060edb09de9
This commit is contained in:
Mahlon E. Smith 2025-04-19 17:45:53 +00:00
parent 7a85bfc7ac
commit e532c50e99
6 changed files with 78 additions and 19 deletions

View file

@ -0,0 +1,32 @@
# vim: set et sta sw=4 ts=4 :
import kuzu
var db = newKuzuDatabase()
var conn = db.connect
var q = conn.query( "CREATE NODE TABLE Doot ( id SERIAL, data BLOB, PRIMARY KEY(id) )" )
# (188, 189, 186, 170)
q = conn.query( """CREATE (d:Doot {data: BLOB('\\xBC\\xBD\\xBA\\xAA')})""" )
var stmt = conn.prepare( "CREATE (d:Doot {data: encode($str)})" )
q = stmt.execute( (str: "Hello!") )
q = conn.query( "MATCH (d:Doot) RETURN d.data" )
var expected: seq[byte] = @[188, 189, 186, 170]
var val = q.getNext[0]
assert val.kind == KUZU_BLOB
assert val.toBlob == expected
expected = @[72, 101, 108, 108, 111, 33]
val = q.getNext[0]
assert val.kind == KUZU_BLOB
assert val.toBlob == expected
var str: string
for c in expected:
str.add( c.char )
assert str == "Hello!"