Skip to content

Commit aa225f7

Browse files
committed
New architecture WP 2
1 parent c139e83 commit aa225f7

File tree

15 files changed

+1352
-188
lines changed

15 files changed

+1352
-188
lines changed

src/cloudsync.c

Lines changed: 57 additions & 96 deletions
Large diffs are not rendered by default.

src/cloudsync.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,14 @@ db_int64 cloudsync_dbversion_next (db_t *db, cloudsync_context *data, db_int64 m
5252
int cloudsync_commit_hook (void *ctx);
5353
void cloudsync_rollback_hook (void *ctx);
5454

55-
//
55+
// PAYLOAD
56+
int cloudsync_payload_header_size (void);
57+
58+
//#ifdef CLOUDSYNC_DESKTOP_OS
59+
int cloudsync_payload_save (cloudsync_context *data, const char *payload_path, int *blob_size);
60+
//#endif
61+
62+
// END OK
5663

5764
// CLOUDSYNCTABLE CONTEXT
5865
typedef struct cloudsync_table_context cloudsync_table_context;

src/cloudsync_private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void cloudsync_sync_key (cloudsync_context *data, const char *key, const char *v
3636
void *cloudsync_get_auxdata (sqlite3_context *context);
3737
void cloudsync_set_auxdata (sqlite3_context *context, void *xdata);
3838
int cloudsync_payload_apply (sqlite3_context *context, const char *payload, int blen);
39-
int cloudsync_payload_get (sqlite3_context *context, char **blob, int *blob_size, int *db_version, int *seq, sqlite3_int64 *new_db_version, sqlite3_int64 *new_seq);
39+
int cloudsync_payload_get (cloudsync_context *data, char **blob, int *blob_size, int *db_version, int *seq, sqlite3_int64 *new_db_version, sqlite3_int64 *new_seq);
4040

4141
// used by core
4242
typedef bool (*cloudsync_payload_apply_callback_t)(void **xdata, cloudsync_pk_decode_bind_context *decoded_change, sqlite3 *db, cloudsync_context *data, int step, int rc);

src/cloudsync_sqlite.c

Lines changed: 127 additions & 43 deletions
Large diffs are not rendered by default.

src/database.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ int database_exec (db_t *db, const char *sql); // SQLITE_OK
4141
int database_exec_callback (db_t *db, const char *sql, int (*callback)(void *xdata, int argc, char **values, char **names), void *xdata); // SQLITE_OK and SQLITE_ABORT
4242
const char *database_errmsg (db_t *db);
4343
int database_errcode (db_t *db);
44+
bool database_in_transaction (db_t *db);
4445

4546
// VM and BINDING
4647
int database_prepare (db_t *db, const char *sql, dbvm_t **vm, int flags); // SQLITE_OK

src/database_sqlite.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ int database_errcode (db_t *db) {
3737
return sqlite3_errcode((sqlite3 *)db);
3838
}
3939

40+
bool database_in_transaction (db_t *db) {
41+
bool in_transaction = (sqlite3_get_autocommit(db) != true);
42+
return in_transaction;
43+
}
44+
4045
// MARK: - VM and BINDING -
4146

4247
int database_prepare (db_t *db, const char *sql, dbvm_t **vm, int flags) {

0 commit comments

Comments
 (0)