Automatically fetch any additional result sets from a query.
Move the iterator to an internal seq.
This commit is contained in:
parent
b61e125a80
commit
6881d15358
3 changed files with 43 additions and 49 deletions
|
|
@ -1,7 +1,7 @@
|
|||
# vim: set et sta sw=4 ts=4 :
|
||||
|
||||
discard """
|
||||
output: "Jenny|Lenny\nLenny\nJenny\n"
|
||||
output: "a\nb\nc\nd\ne\nf\n"
|
||||
"""
|
||||
|
||||
import kuzu
|
||||
|
|
@ -9,34 +9,26 @@ import kuzu
|
|||
let db = newKuzuDatabase()
|
||||
let conn = db.connect
|
||||
|
||||
var q = conn.query """
|
||||
CREATE NODE TABLE User(
|
||||
id SERIAL PRIMARY KEY,
|
||||
name STRING
|
||||
);
|
||||
|
||||
CREATE REL TABLE FOLLOWS(
|
||||
From User To User
|
||||
);
|
||||
|
||||
MERGE (a:User {name: "Lenny"})-[f:Follows]->(b:User {name: "Jenny"});
|
||||
"""
|
||||
|
||||
q = conn.query( "MATCH (u:User) RETURN *" )
|
||||
var q = conn.query( "RETURN 'hi'" )
|
||||
|
||||
assert typeOf( q ) is KuzuQueryResult
|
||||
assert q.hasNextSet == false
|
||||
assert q.sets.len == 0
|
||||
|
||||
q = conn.query """
|
||||
MATCH (a:User)<-[f:Follows]-(b:User) RETURN a.name, b.name;
|
||||
MATCH (u:User) RETURN u.name;
|
||||
RETURN "a";
|
||||
RETURN "b";
|
||||
RETURN "c";
|
||||
RETURN "d";
|
||||
RETURN "e";
|
||||
RETURN "f";
|
||||
"""
|
||||
|
||||
assert typeOf( q ) is KuzuQueryResult
|
||||
assert q.hasNextSet == true
|
||||
assert q.sets.len == 5
|
||||
|
||||
echo q.getNext
|
||||
for query_result in q.sets:
|
||||
for row in query_result.items:
|
||||
for set in q.sets:
|
||||
for row in set.items:
|
||||
echo row
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue