Implementation of the wxSQLite3 class. More...
#include "wx/wxprec.h"
#include "wx/wx.h"
#include "wx/regex.h"
#include "wx/wxsqlite3.h"
#include "wx/wxsqlite3opt.h"
#include "sqlite3.h"
#include <string.h>
#include <assert.h>
Classes | |
struct | sqlite3_intarray |
Definition of the sqlite3_intarray object (internal) More... | |
struct | intarray_vtab |
Definition of intarray table object (internal) More... | |
struct | intarray_cursor |
Definition of intarray cursor object (internal) More... | |
struct | sqlite3_chararray |
Definition of the sqlite3_chararray object (internal) More... | |
struct | chararray_vtab |
Definition of chararray table object (internal) More... | |
struct | chararray_cursor |
Definition of chararray cursor object (internal) More... | |
Defines | |
#define | SQLITE_HAS_CODEC 1 |
Typedefs | |
typedef struct intarray_vtab | intarray_vtab |
typedef struct intarray_cursor | intarray_cursor |
typedef struct chararray_vtab | chararray_vtab |
typedef struct chararray_cursor | chararray_cursor |
Functions | |
wxLongLong | ConvertStringToLongLong (const wxString &str, wxLongLong defValue) |
static double | wxSQLite3AtoF (const char *z) |
static void | intarrayFree (sqlite3_intarray *p) |
static int | intarrayDestroy (sqlite3_vtab *p) |
static int | intarrayCreate (sqlite3 *db, void *pAux, int, const char *const *, sqlite3_vtab **ppVtab, char **) |
static int | intarrayOpen (sqlite3_vtab *, sqlite3_vtab_cursor **ppCursor) |
static int | intarrayClose (sqlite3_vtab_cursor *cur) |
static int | intarrayColumn (sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int) |
static int | intarrayRowid (sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid) |
static int | intarrayEof (sqlite3_vtab_cursor *cur) |
static int | intarrayNext (sqlite3_vtab_cursor *cur) |
static int | intarrayFilter (sqlite3_vtab_cursor *pVtabCursor, int, const char *, int, sqlite3_value **) |
static int | intarrayBestIndex (sqlite3_vtab *, sqlite3_index_info *) |
static void | chararrayFree (sqlite3_chararray *p) |
static int | chararrayDestroy (sqlite3_vtab *p) |
static int | chararrayCreate (sqlite3 *db, void *pAux, int, const char *const *, sqlite3_vtab **ppVtab, char **) |
static int | chararrayOpen (sqlite3_vtab *, sqlite3_vtab_cursor **ppCursor) |
static int | chararrayClose (sqlite3_vtab_cursor *cur) |
static int | chararrayColumn (sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int) |
static int | chararrayRowid (sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid) |
static int | chararrayEof (sqlite3_vtab_cursor *cur) |
static int | chararrayNext (sqlite3_vtab_cursor *cur) |
static int | chararrayFilter (sqlite3_vtab_cursor *pVtabCursor, int, const char *, int, sqlite3_value **) |
static int | chararrayBestIndex (sqlite3_vtab *, sqlite3_index_info *) |
Variables | |
const wxChar * | wxERRMSG_NODB = wxTRANSLATE("No Database opened") |
const wxChar * | wxERRMSG_NOSTMT = wxTRANSLATE("Statement not accessible") |
const wxChar * | wxERRMSG_NOMEM = wxTRANSLATE("Out of memory") |
const wxChar * | wxERRMSG_DECODE = wxTRANSLATE("Cannot decode binary") |
const wxChar * | wxERRMSG_INVALID_INDEX = wxTRANSLATE("Invalid field index") |
const wxChar * | wxERRMSG_INVALID_NAME = wxTRANSLATE("Invalid field name") |
const wxChar * | wxERRMSG_INVALID_ROW = wxTRANSLATE("Invalid row index") |
const wxChar * | wxERRMSG_INVALID_QUERY = wxTRANSLATE("Invalid scalar query") |
const wxChar * | wxERRMSG_INVALID_BLOB = wxTRANSLATE("Invalid BLOB handle") |
const wxChar * | wxERRMSG_NORESULT = wxTRANSLATE("Null Results pointer") |
const wxChar * | wxERRMSG_BIND_STR = wxTRANSLATE("Error binding string param") |
const wxChar * | wxERRMSG_BIND_INT = wxTRANSLATE("Error binding int param") |
const wxChar * | wxERRMSG_BIND_INT64 = wxTRANSLATE("Error binding int64 param") |
const wxChar * | wxERRMSG_BIND_DBL = wxTRANSLATE("Error binding double param") |
const wxChar * | wxERRMSG_BIND_BLOB = wxTRANSLATE("Error binding blob param") |
const wxChar * | wxERRMSG_BIND_DATETIME = wxTRANSLATE("Error binding date/time param") |
const wxChar * | wxERRMSG_BIND_NULL = wxTRANSLATE("Error binding NULL param") |
const wxChar * | wxERRMSG_BIND_ZEROBLOB = wxTRANSLATE("Error binding zero blob param") |
const wxChar * | wxERRMSG_BIND_CLEAR = wxTRANSLATE("Error clearing bindings") |
const wxChar * | wxERRMSG_NOTOWNED = wxTRANSLATE("Transfer of statement ownership not possible") |
const wxChar * | wxERRMSG_NOMETADATA = wxTRANSLATE("Meta data support not available") |
const wxChar * | wxERRMSG_NOCODEC = wxTRANSLATE("Encryption support not available") |
const wxChar * | wxERRMSG_NOLOADEXT = wxTRANSLATE("Loadable extension support not available") |
const wxChar * | wxERRMSG_NOINCBLOB = wxTRANSLATE("Incremental BLOB support not available") |
const wxChar * | wxERRMSG_NOBLOBREBIND = wxTRANSLATE("Rebind BLOB support not available") |
const wxChar * | wxERRMSG_NOSAVEPOINT = wxTRANSLATE("Savepoint support not available") |
const wxChar * | wxERRMSG_NOBACKUP = wxTRANSLATE("Backup/restore support not available") |
const wxChar * | wxERRMSG_NOWAL = wxTRANSLATE("Write Ahead Log support not available") |
const wxChar * | wxERRMSG_NOCOLLECTIONS = wxTRANSLATE("Named collection support not available") |
const wxChar * | wxERRMSG_SHARED_CACHE = wxTRANSLATE("Setting SQLite shared cache mode failed") |
const wxChar * | wxERRMSG_INITIALIZE = wxTRANSLATE("Initialization of SQLite failed") |
const wxChar * | wxERRMSG_SHUTDOWN = wxTRANSLATE("Shutdown of SQLite failed") |
const wxChar * | wxERRMSG_SOURCEDB_BUSY = wxTRANSLATE("Source database is busy") |
const wxChar * | wxERRMSG_DBOPEN_FAILED = wxTRANSLATE("Database open failed") |
const wxChar * | wxERRMSG_DBASSIGN_FAILED = wxTRANSLATE("Database assignment failed") |
static const wxChar * | limitCodeString [] |
static const wxChar * | authCodeString [] |
static sqlite3_module | intarrayModule |
static sqlite3_module | chararrayModule |
Implementation of the wxSQLite3 class.
#define SQLITE_HAS_CODEC 1 |
typedef struct chararray_cursor chararray_cursor |
typedef struct chararray_vtab chararray_vtab |
typedef struct intarray_cursor intarray_cursor |
typedef struct intarray_vtab intarray_vtab |
static int chararrayBestIndex | ( | sqlite3_vtab * | , |
sqlite3_index_info * | |||
) | [static] |
static int chararrayClose | ( | sqlite3_vtab_cursor * | cur ) | [static] |
static int chararrayColumn | ( | sqlite3_vtab_cursor * | cur, |
sqlite3_context * | ctx, | ||
int | |||
) | [static] |
static int chararrayCreate | ( | sqlite3 * | db, |
void * | pAux, | ||
int | , | ||
const char *const * | , | ||
sqlite3_vtab ** | ppVtab, | ||
char ** | |||
) | [static] |
static int chararrayDestroy | ( | sqlite3_vtab * | p ) | [static] |
static int chararrayEof | ( | sqlite3_vtab_cursor * | cur ) | [static] |
static int chararrayFilter | ( | sqlite3_vtab_cursor * | pVtabCursor, |
int | , | ||
const char * | , | ||
int | , | ||
sqlite3_value ** | |||
) | [static] |
static void chararrayFree | ( | sqlite3_chararray * | p ) | [static] |
static int chararrayNext | ( | sqlite3_vtab_cursor * | cur ) | [static] |
static int chararrayOpen | ( | sqlite3_vtab * | , |
sqlite3_vtab_cursor ** | ppCursor | ||
) | [static] |
static int chararrayRowid | ( | sqlite3_vtab_cursor * | cur, |
sqlite_int64 * | pRowid | ||
) | [static] |
wxLongLong ConvertStringToLongLong | ( | const wxString & | str, |
wxLongLong | defValue | ||
) | [inline] |
static int intarrayBestIndex | ( | sqlite3_vtab * | , |
sqlite3_index_info * | |||
) | [static] |
static int intarrayClose | ( | sqlite3_vtab_cursor * | cur ) | [static] |
static int intarrayColumn | ( | sqlite3_vtab_cursor * | cur, |
sqlite3_context * | ctx, | ||
int | |||
) | [static] |
static int intarrayCreate | ( | sqlite3 * | db, |
void * | pAux, | ||
int | , | ||
const char *const * | , | ||
sqlite3_vtab ** | ppVtab, | ||
char ** | |||
) | [static] |
static int intarrayDestroy | ( | sqlite3_vtab * | p ) | [static] |
static int intarrayEof | ( | sqlite3_vtab_cursor * | cur ) | [static] |
static int intarrayFilter | ( | sqlite3_vtab_cursor * | pVtabCursor, |
int | , | ||
const char * | , | ||
int | , | ||
sqlite3_value ** | |||
) | [static] |
static void intarrayFree | ( | sqlite3_intarray * | p ) | [static] |
static int intarrayNext | ( | sqlite3_vtab_cursor * | cur ) | [static] |
static int intarrayOpen | ( | sqlite3_vtab * | , |
sqlite3_vtab_cursor ** | ppCursor | ||
) | [static] |
static int intarrayRowid | ( | sqlite3_vtab_cursor * | cur, |
sqlite_int64 * | pRowid | ||
) | [static] |
static double wxSQLite3AtoF | ( | const char * | z ) | [static] |
const wxChar* authCodeString[] [static] |
{ wxT("SQLITE_COPY"), wxT("SQLITE_CREATE_INDEX"), wxT("SQLITE_CREATE_TABLE"), wxT("SQLITE_CREATE_TEMP_INDEX"), wxT("SQLITE_CREATE_TEMP_TABLE"), wxT("SQLITE_CREATE_TEMP_TRIGGER"), wxT("SQLITE_CREATE_TEMP_VIEW"), wxT("SQLITE_CREATE_TRIGGER"), wxT("SQLITE_CREATE_VIEW"), wxT("SQLITE_DELETE"), wxT("SQLITE_DROP_INDEX"), wxT("SQLITE_DROP_TABLE"), wxT("SQLITE_DROP_TEMP_INDEX"), wxT("SQLITE_DROP_TEMP_TABLE"), wxT("SQLITE_DROP_TEMP_TRIGGER"), wxT("SQLITE_DROP_TEMP_VIEW"), wxT("SQLITE_DROP_TRIGGER"), wxT("SQLITE_DROP_VIEW"), wxT("SQLITE_INSERT"), wxT("SQLITE_PRAGMA"), wxT("SQLITE_READ"), wxT("SQLITE_SELECT"), wxT("SQLITE_TRANSACTION"), wxT("SQLITE_UPDATE"), wxT("SQLITE_ATTACH"), wxT("SQLITE_DETACH"), wxT("SQLITE_ALTER_TABLE"), wxT("SQLITE_REINDEX"), wxT("SQLITE_ANALYZE"), wxT("SQLITE_CREATE_VTABLE"), wxT("SQLITE_DROP_VTABLE"), wxT("SQLITE_FUNCTION"), wxT("SQLITE_SAVEPOINT") }
sqlite3_module chararrayModule [static] |
{ 0, chararrayCreate, chararrayCreate, chararrayBestIndex, chararrayDestroy, chararrayDestroy, chararrayOpen, chararrayClose, chararrayFilter, chararrayNext, chararrayEof, chararrayColumn, chararrayRowid, 0, 0, 0, 0, 0, 0, 0, }
sqlite3_module intarrayModule [static] |
{ 0, intarrayCreate, intarrayCreate, intarrayBestIndex, intarrayDestroy, intarrayDestroy, intarrayOpen, intarrayClose, intarrayFilter, intarrayNext, intarrayEof, intarrayColumn, intarrayRowid, 0, 0, 0, 0, 0, 0, 0, }
const wxChar* limitCodeString[] [static] |
{ wxT("SQLITE_LIMIT_LENGTH"), wxT("SQLITE_LIMIT_SQL_LENGTH"), wxT("SQLITE_LIMIT_COLUMN"), wxT("SQLITE_LIMIT_EXPR_DEPTH"), wxT("SQLITE_LIMIT_COMPOUND_SELECT"), wxT("SQLITE_LIMIT_VDBE_OP"), wxT("SQLITE_LIMIT_FUNCTION_ARG"), wxT("SQLITE_LIMIT_ATTACHED"), wxT("SQLITE_LIMIT_LIKE_PATTERN_LENGTH"), wxT("SQLITE_LIMIT_VARIABLE_NUMBER"), wxT("SQLITE_LIMIT_TRIGGER_DEPTH") }
const wxChar* wxERRMSG_BIND_BLOB = wxTRANSLATE("Error binding blob param") |
const wxChar* wxERRMSG_BIND_CLEAR = wxTRANSLATE("Error clearing bindings") |
const wxChar* wxERRMSG_BIND_DATETIME = wxTRANSLATE("Error binding date/time param") |
const wxChar* wxERRMSG_BIND_DBL = wxTRANSLATE("Error binding double param") |
const wxChar* wxERRMSG_BIND_INT = wxTRANSLATE("Error binding int param") |
const wxChar* wxERRMSG_BIND_INT64 = wxTRANSLATE("Error binding int64 param") |
const wxChar* wxERRMSG_BIND_NULL = wxTRANSLATE("Error binding NULL param") |
const wxChar* wxERRMSG_BIND_STR = wxTRANSLATE("Error binding string param") |
const wxChar* wxERRMSG_BIND_ZEROBLOB = wxTRANSLATE("Error binding zero blob param") |
const wxChar* wxERRMSG_DBASSIGN_FAILED = wxTRANSLATE("Database assignment failed") |
const wxChar* wxERRMSG_DBOPEN_FAILED = wxTRANSLATE("Database open failed") |
const wxChar* wxERRMSG_DECODE = wxTRANSLATE("Cannot decode binary") |
const wxChar* wxERRMSG_INITIALIZE = wxTRANSLATE("Initialization of SQLite failed") |
const wxChar* wxERRMSG_INVALID_BLOB = wxTRANSLATE("Invalid BLOB handle") |
const wxChar* wxERRMSG_INVALID_INDEX = wxTRANSLATE("Invalid field index") |
const wxChar* wxERRMSG_INVALID_NAME = wxTRANSLATE("Invalid field name") |
const wxChar* wxERRMSG_INVALID_QUERY = wxTRANSLATE("Invalid scalar query") |
const wxChar* wxERRMSG_INVALID_ROW = wxTRANSLATE("Invalid row index") |
const wxChar* wxERRMSG_NOBACKUP = wxTRANSLATE("Backup/restore support not available") |
const wxChar* wxERRMSG_NOBLOBREBIND = wxTRANSLATE("Rebind BLOB support not available") |
const wxChar* wxERRMSG_NOCODEC = wxTRANSLATE("Encryption support not available") |
const wxChar* wxERRMSG_NOCOLLECTIONS = wxTRANSLATE("Named collection support not available") |
const wxChar* wxERRMSG_NODB = wxTRANSLATE("No Database opened") |
const wxChar* wxERRMSG_NOINCBLOB = wxTRANSLATE("Incremental BLOB support not available") |
const wxChar* wxERRMSG_NOLOADEXT = wxTRANSLATE("Loadable extension support not available") |
const wxChar* wxERRMSG_NOMEM = wxTRANSLATE("Out of memory") |
const wxChar* wxERRMSG_NOMETADATA = wxTRANSLATE("Meta data support not available") |
const wxChar* wxERRMSG_NORESULT = wxTRANSLATE("Null Results pointer") |
const wxChar* wxERRMSG_NOSAVEPOINT = wxTRANSLATE("Savepoint support not available") |
const wxChar* wxERRMSG_NOSTMT = wxTRANSLATE("Statement not accessible") |
const wxChar* wxERRMSG_NOTOWNED = wxTRANSLATE("Transfer of statement ownership not possible") |
const wxChar* wxERRMSG_NOWAL = wxTRANSLATE("Write Ahead Log support not available") |
const wxChar* wxERRMSG_SHARED_CACHE = wxTRANSLATE("Setting SQLite shared cache mode failed") |
const wxChar* wxERRMSG_SHUTDOWN = wxTRANSLATE("Shutdown of SQLite failed") |
const wxChar* wxERRMSG_SOURCEDB_BUSY = wxTRANSLATE("Source database is busy") |