From ac222369f0f45626fbca5e90339bc34227d73a4a Mon Sep 17 00:00:00 2001 From: mahlon <> Date: Mon, 24 Mar 2025 02:18:24 +0000 Subject: [PATCH] Fix some whitespace, add note for failing test. FossilOrigin-Name: 082dff9df32ccebaf9a2fa51d9cedf736af42c60cfb243a228bad545e024c90d --- experiments/prepared-test.c | 95 +++++++++++---------- tests/queries/t_can_prepare_a_statement.nim | 2 + 2 files changed, 51 insertions(+), 46 deletions(-) diff --git a/experiments/prepared-test.c b/experiments/prepared-test.c index d4c55ac..a103538 100644 --- a/experiments/prepared-test.c +++ b/experiments/prepared-test.c @@ -7,6 +7,9 @@ weird prepared statement binding behavior? I don't know. Maybe it's just me. https://docs.kuzudb.com/get-started/prepared-statements/ + + % clang -lkuzu -o prepared-test prepared-test.c + */ #include @@ -14,64 +17,64 @@ https://docs.kuzudb.com/get-started/prepared-statements/ int main() { - /* Setup */ - kuzu_system_config config = kuzu_default_system_config(); - kuzu_database db; + /* Setup */ + kuzu_system_config config = kuzu_default_system_config(); + kuzu_database db; kuzu_database_init( "TEST-DB", config, &db ); - kuzu_connection conn; - kuzu_connection_init( &db, &conn ); + kuzu_connection conn; + kuzu_connection_init( &db, &conn ); - kuzu_query_result q; - kuzu_prepared_statement stmt; + kuzu_query_result q; + kuzu_prepared_statement stmt; - char things[3][20] = { "Camel", "Lampshade", "Delicious Cake" }; + char things[3][20] = { "Camel", "Lampshade", "Delicious Cake" }; - /* Schema install */ - if ( kuzu_connection_query( - &conn, - "CREATE NODE TABLE Test ( id SERIAL, thing STRING, PRIMARY KEY(id) )", - &q ) != KuzuSuccess ) { - printf( "Couldn't create schema?!\n" ); - return( 1 ); - } + /* Schema install */ + if ( kuzu_connection_query( + &conn, + "CREATE NODE TABLE Test ( id SERIAL, thing STRING, PRIMARY KEY(id) )", + &q ) != KuzuSuccess ) { + printf( "Couldn't create schema?!\n" ); + return( 1 ); + } - /* Prepare statement */ - if ( kuzu_connection_prepare( - &conn, - "CREATE (t:Test {thing: $thing})", - &stmt - ) != KuzuSuccess ) { - printf( "Couldn't prepare statement?\n" ); - return( 1 ); - } + /* Prepare statement */ + if ( kuzu_connection_prepare( + &conn, + "CREATE (t:Test {thing: $thing})", + &stmt + ) != KuzuSuccess ) { + printf( "Couldn't prepare statement?\n" ); + return( 1 ); + } - /* Lets make some nodes using the prepared statement. */ - for ( int i = 0; i < 3; i++) { - printf( "Binding thing: %s\n", things[i] ); - if ( kuzu_prepared_statement_bind_string( &stmt, "thing", things[i] ) != KuzuSuccess ) { - printf( "Unable to bind thing: %s\n", things[i] ); - } - if ( kuzu_connection_execute( &conn, &stmt, &q ) != KuzuSuccess ) { - printf( "Couldn't execute prepared statement.\n" ); - } - } + /* Lets make some nodes using the prepared statement. */ + for ( int i = 0; i < 3; i++) { + printf( "Binding thing: %s\n", things[i] ); + if ( kuzu_prepared_statement_bind_string( &stmt, "thing", things[i] ) != KuzuSuccess ) { + printf( "Unable to bind thing: %s\n", things[i] ); + } + if ( kuzu_connection_execute( &conn, &stmt, &q ) != KuzuSuccess ) { + printf( "Couldn't execute prepared statement.\n" ); + } + } - /* Cleanup */ - kuzu_prepared_statement_destroy( &stmt ); - kuzu_query_result_destroy( &q ); - kuzu_connection_destroy( &conn ); - kuzu_database_destroy( &db ); + /* Cleanup */ + kuzu_prepared_statement_destroy( &stmt ); + kuzu_query_result_destroy( &q ); + kuzu_connection_destroy( &conn ); + kuzu_database_destroy( &db ); - /* HMM */ - printf( "Okay. Now 'kuzu TEST-DB' and look around.\n" ); - printf( "\"MATCH (t:Test) RETURN t.thing;\", perhaps.\n\n" ); - printf( "I'd expect to see what I thought I bound.\n" ); - printf( "Instead, I see three Camels.\n" ); - printf( "Too many camels!!\n" ); + /* HMM */ + printf( "Okay. Now 'kuzu TEST-DB' and look around.\n" ); + printf( "\"MATCH (t:Test) RETURN t.thing;\", perhaps.\n\n" ); + printf( "I'd expect to see what I thought I bound.\n" ); + printf( "Instead, I see three Camels.\n" ); + printf( "Too many camels!!\n" ); return 0; } diff --git a/tests/queries/t_can_prepare_a_statement.nim b/tests/queries/t_can_prepare_a_statement.nim index 4646377..06b1fd8 100644 --- a/tests/queries/t_can_prepare_a_statement.nim +++ b/tests/queries/t_can_prepare_a_statement.nim @@ -18,6 +18,8 @@ for thing in @[ "Camel", "Lampshade", "Delicious Cake" ]: q = p.execute( (thing: thing) ) assert typeOf( q ) is KuzuQueryResult +# This is failing until I can address +# https://github.com/kuzudb/kuzu/issues/5102 q = conn.query( "MATCH (d:Doop) RETURN d.thing" ) echo $q