diff --git a/bindings/c/include/libsql.h b/bindings/c/include/libsql.h index c8c6d2599b..5d5a4ca3c4 100644 --- a/bindings/c/include/libsql.h +++ b/bindings/c/include/libsql.h @@ -62,6 +62,10 @@ int libsql_column_name(libsql_rows_t res, int col, const char **out_name, const int libsql_column_type(libsql_rows_t res, int col, int *out_type, const char **out_err_msg); +uint64_t libsql_changes(libsql_connection_t conn); + +int64_t libsql_last_insert_rowid(libsql_connection_t conn); + int libsql_next_row(libsql_rows_t res, libsql_row_t *out_row, const char **out_err_msg); void libsql_free_row(libsql_row_t res); diff --git a/bindings/c/src/lib.rs b/bindings/c/src/lib.rs index 693aa3b54e..4851d65312 100644 --- a/bindings/c/src/lib.rs +++ b/bindings/c/src/lib.rs @@ -282,6 +282,18 @@ pub unsafe extern "C" fn libsql_column_type( 0 } +#[no_mangle] +pub unsafe extern "C" fn libsql_changes(conn: libsql_connection_t) -> u64 { + let conn = conn.get_ref(); + conn.changes() +} + +#[no_mangle] +pub unsafe extern "C" fn libsql_last_insert_rowid(conn: libsql_connection_t) -> i64 { + let conn = conn.get_ref(); + conn.last_insert_rowid() +} + #[no_mangle] pub unsafe extern "C" fn libsql_next_row( res: libsql_rows_t,