@@ -13,6 +13,7 @@ int main(int argc, char *argv[])
1313 const char * err = NULL ;
1414 int retval = 0 ;
1515 char db_path [1024 ];
16+ char sync = 0 ;
1617
1718 if (argc > 1 ) {
1819 char * url = argv [1 ];
@@ -34,6 +35,7 @@ int main(int argc, char *argv[])
3435 fprintf (stderr , "%s\n" , err );
3536 goto quit ;
3637 }
38+ sync = 1 ;
3739 } else {
3840 retval = libsql_open_ext (":memory:" , & db , & err );
3941 if (retval != 0 ) {
@@ -48,30 +50,43 @@ int main(int argc, char *argv[])
4850 goto quit ;
4951 }
5052
51- retval = libsql_query (conn , "SELECT 1" , & rows , & err );
53+ retval = libsql_execute (conn , "CREATE TABLE IF NOT EXISTS guest_book_entries (text TEXT)" , & err );
54+ if (retval != 0 ) {
55+ fprintf (stderr , "%s\n" , err );
56+ goto quit ;
57+ }
58+
59+ retval = libsql_execute (conn , "INSERT INTO guest_book_entries VALUES('hi there')" , & err );
60+ if (retval != 0 ) {
61+ fprintf (stderr , "%s\n" , err );
62+ goto quit ;
63+ }
64+
65+ retval = libsql_execute (conn , "INSERT INTO guest_book_entries VALUES('some more hi there')" , & err );
66+ if (retval != 0 ) {
67+ fprintf (stderr , "%s\n" , err );
68+ goto quit ;
69+ }
70+
71+ retval = libsql_query (conn , "SELECT text FROM guest_book_entries" , & rows , & err );
5272 if (retval != 0 ) {
5373 fprintf (stderr , "%s\n" , err );
5474 goto quit ;
5575 }
5676
57- int num_cols = libsql_column_count (rows );
58-
5977 while ((retval = libsql_next_row (rows , & row , & err )) == 0 ) {
6078 if (!err && !row ) {
6179 break ;
6280 }
63- for (int col = 0 ; col < num_cols ; col ++ ) {
64- if (col > 0 ) {
65- printf (", " );
66- }
67- long long value ;
68- retval = libsql_get_int (row , col , & value , & err );
69- if (retval != 0 ) {
70- fprintf (stderr , "%s\n" , err );
71- } else {
72- printf ("%lld\n" , value );
73- }
74- }
81+ const char * value = NULL ;
82+ retval = libsql_get_string (row , 0 , & value , & err );
83+ if (retval != 0 ) {
84+ fprintf (stderr , "%s\n" , err );
85+ } else {
86+ printf ("%s\n" , value );
87+ libsql_free_string (value );
88+ value = NULL ;
89+ }
7590 err = NULL ;
7691 }
7792
@@ -80,6 +95,16 @@ int main(int argc, char *argv[])
8095 goto quit ;
8196 }
8297
98+ if (sync ) {
99+ printf ("Syncing database to remote...\n" );
100+ retval = libsql_sync (db , & err );
101+ if (retval != 0 ) {
102+ fprintf (stderr , "%s\n" , err );
103+ goto quit ;
104+ }
105+ printf ("Done!\n" );
106+ }
107+
83108quit :
84109 libsql_free_rows (rows );
85110 libsql_disconnect (conn );
0 commit comments