@@ -13,6 +13,7 @@ int main(int argc, char *argv[])
13
13
const char * err = NULL ;
14
14
int retval = 0 ;
15
15
char db_path [1024 ];
16
+ char sync = 0 ;
16
17
17
18
if (argc > 1 ) {
18
19
char * url = argv [1 ];
@@ -34,6 +35,7 @@ int main(int argc, char *argv[])
34
35
fprintf (stderr , "%s\n" , err );
35
36
goto quit ;
36
37
}
38
+ sync = 1 ;
37
39
} else {
38
40
retval = libsql_open_ext (":memory:" , & db , & err );
39
41
if (retval != 0 ) {
@@ -48,30 +50,43 @@ int main(int argc, char *argv[])
48
50
goto quit ;
49
51
}
50
52
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 );
52
72
if (retval != 0 ) {
53
73
fprintf (stderr , "%s\n" , err );
54
74
goto quit ;
55
75
}
56
76
57
- int num_cols = libsql_column_count (rows );
58
-
59
77
while ((retval = libsql_next_row (rows , & row , & err )) == 0 ) {
60
78
if (!err && !row ) {
61
79
break ;
62
80
}
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
+ }
75
90
err = NULL ;
76
91
}
77
92
@@ -80,6 +95,16 @@ int main(int argc, char *argv[])
80
95
goto quit ;
81
96
}
82
97
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
+
83
108
quit :
84
109
libsql_free_rows (rows );
85
110
libsql_disconnect (conn );
0 commit comments