| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #ifndef SQ_SQLITE3_H
- #define SQ_SQLITE3_H
- #include "squirrel.h"
- #include "sqlite3.h"
- #include <string.h>
- #include <stdio.h>
- #include "sqstdblobimpl.h"
- typedef struct sq_sqlite3_sdb sq_sqlite3_sdb;
- typedef struct sq_sqlite3_sdb_func sq_sqlite3_sdb_func;
- /* to use as C user data so i know what function sqlite is calling */
- struct sq_sqlite3_sdb_func
- {
- /* references to associated lua values */
- HSQOBJECT fn_step;
- HSQOBJECT fn_finalize;
- HSQOBJECT udata;
- sq_sqlite3_sdb *sdb;
- sq_sqlite3_sdb_func *next;
- };
- /* information about database */
- struct sq_sqlite3_sdb
- {
- /* associated squirrel vm */
- HSQUIRRELVM v;
- /* sqlite database handle */
- sqlite3 *db;
- /* sql functions stack usage */
- sq_sqlite3_sdb_func *func; /* top SQL function being called */
- /* references */
- HSQOBJECT busy_cb; /* busy callback */
- HSQOBJECT busy_udata;
- HSQOBJECT progress_cb; /* progress handler */
- HSQOBJECT progress_udata;
- HSQOBJECT trace_cb; /* trace callback */
- HSQOBJECT trace_udata;
- HSQOBJECT update_hook_cb; /* update hook callback */
- HSQOBJECT update_hook_udata;
- HSQOBJECT authorizer_hook_cb; /* update hook callback */
- HSQOBJECT authorizer_hook_udata;
- HSQOBJECT null_value;
- int nested_transaction_count;
- };
- extern const SQChar *SQLite3_TAG;
- #endif // SQ_SQLITE3_H
|