|
| 1 | +#include <stdbool.h> |
1 | 2 | #include <stddef.h> |
2 | 3 |
|
3 | 4 | #include "include.h" |
4 | 5 | #include "sqlite3.h" |
5 | 6 |
|
6 | | -#define SQLITE_VTAB_CREATOR_GO /******/ 0x01 |
7 | | -#define SQLITE_VTAB_DESTROYER_GO /****/ 0x02 |
8 | | -#define SQLITE_VTAB_UPDATER_GO /******/ 0x04 |
9 | | -#define SQLITE_VTAB_RENAMER_GO /******/ 0x08 |
10 | | -#define SQLITE_VTAB_OVERLOADER_GO /***/ 0x10 |
11 | | -#define SQLITE_VTAB_CHECKER_GO /******/ 0x20 |
12 | | -#define SQLITE_VTAB_TXN_GO /**********/ 0x40 |
13 | | -#define SQLITE_VTAB_SAVEPOINTER_GO /**/ 0x80 |
| 7 | +#define SQLITE_VTAB_CREATOR_GO /******/ 0x001 |
| 8 | +#define SQLITE_VTAB_DESTROYER_GO /****/ 0x002 |
| 9 | +#define SQLITE_VTAB_UPDATER_GO /******/ 0x004 |
| 10 | +#define SQLITE_VTAB_RENAMER_GO /******/ 0x008 |
| 11 | +#define SQLITE_VTAB_OVERLOADER_GO /***/ 0x010 |
| 12 | +#define SQLITE_VTAB_CHECKER_GO /******/ 0x020 |
| 13 | +#define SQLITE_VTAB_TXN_GO /**********/ 0x040 |
| 14 | +#define SQLITE_VTAB_SAVEPOINTER_GO /**/ 0x080 |
| 15 | +#define SQLITE_VTAB_SHADOWTABS_GO /***/ 0x100 |
14 | 16 |
|
15 | 17 | int go_vtab_create(sqlite3_module *, int argc, const char *const *argv, |
16 | 18 | sqlite3_vtab **, char **pzErr); |
@@ -157,6 +159,8 @@ static int go_vtab_integrity_wrapper(sqlite3_vtab *pVTab, const char *zSchema, |
157 | 159 | return rc; |
158 | 160 | } |
159 | 161 |
|
| 162 | +static int go_vtab_shadown_name_wrapper(const char *zName) { return 1; } |
| 163 | + |
160 | 164 | int sqlite3_create_module_go(sqlite3 *db, const char *zName, int flags, |
161 | 165 | go_handle handle) { |
162 | 166 | struct go_module *mod = malloc(sizeof(struct go_module)); |
@@ -208,6 +212,9 @@ int sqlite3_create_module_go(sqlite3 *db, const char *zName, int flags, |
208 | 212 | mod->base.xRelease = go_vtab_release; |
209 | 213 | mod->base.xRollbackTo = go_vtab_rollback_to; |
210 | 214 | } |
| 215 | + if (flags & SQLITE_VTAB_SHADOWTABS_GO) { |
| 216 | + mod->base.xShadowName = go_vtab_shadown_name_wrapper; |
| 217 | + } |
211 | 218 | if (mod->base.xCreate && !mod->base.xDestroy) { |
212 | 219 | mod->base.xDestroy = mod->base.xDisconnect; |
213 | 220 | } |
|
0 commit comments