Go to the source code of this file.
Functions | |
static int | createModule (sqlite3 *db, const char *zName, const sqlite3_module *pModule, void *pAux, void(*xDestroy)(void *)) |
int | sqlite3_create_module (sqlite3 *db, const char *zName, const sqlite3_module *pModule, void *pAux) |
int | sqlite3_create_module_v2 (sqlite3 *db, const char *zName, const sqlite3_module *pModule, void *pAux, void(*xDestroy)(void *)) |
void | sqlite3VtabLock (sqlite3_vtab *pVtab) |
void | sqlite3VtabUnlock (sqlite3 *db, sqlite3_vtab *pVtab) |
void | sqlite3VtabClear (Table *p) |
static void | addModuleArgument (sqlite3 *db, Table *pTable, char *zArg) |
void | sqlite3VtabBeginParse (Parse *pParse, Token *pName1, Token *pName2, Token *pModuleName) |
static void | addArgumentToVtab (Parse *pParse) |
void | sqlite3VtabFinishParse (Parse *pParse, Token *pEnd) |
void | sqlite3VtabArgInit (Parse *pParse) |
void | sqlite3VtabArgExtend (Parse *pParse, Token *p) |
static int | vtabCallConstructor (sqlite3 *db, Table *pTab, Module *pMod, int(*xConstruct)(sqlite3 *, void *, int, const char *const *, sqlite3_vtab **, char **), char **pzErr) |
int | sqlite3VtabCallConnect (Parse *pParse, Table *pTab) |
static int | addToVTrans (sqlite3 *db, sqlite3_vtab *pVtab) |
int | sqlite3VtabCallCreate (sqlite3 *db, int iDb, const char *zTab, char **pzErr) |
int | sqlite3_declare_vtab (sqlite3 *db, const char *zCreateTable) |
int | sqlite3VtabCallDestroy (sqlite3 *db, int iDb, const char *zTab) |
static void | callFinaliser (sqlite3 *db, int offset) |
int | sqlite3VtabSync (sqlite3 *db, char **pzErrmsg) |
int | sqlite3VtabRollback (sqlite3 *db) |
int | sqlite3VtabCommit (sqlite3 *db) |
int | sqlite3VtabBegin (sqlite3 *db, sqlite3_vtab *pVtab) |
FuncDef * | sqlite3VtabOverloadFunction (sqlite3 *db, FuncDef *pDef, int nArg, Expr *pExpr) |
void | sqlite3VtabMakeWritable (Parse *pParse, Table *pTab) |
static void addArgumentToVtab | ( | Parse * | pParse | ) | [static] |
Definition at line 214 of file vtab.c.
References addModuleArgument(), Parse::db, Token::n, Parse::pNewTable, Parse::sArg, sqlite3DbStrNDup(), and Token::z.
Referenced by sqlite3VtabArgInit(), and sqlite3VtabFinishParse().
Definition at line 140 of file vtab.c.
References Table::azModuleArg, Table::nModuleArg, sqlite3DbFree(), and sqlite3DbRealloc().
Referenced by addArgumentToVtab(), and sqlite3VtabBeginParse().
static int addToVTrans | ( | sqlite3 * | db, | |
sqlite3_vtab * | pVtab | |||
) | [static] |
Definition at line 470 of file vtab.c.
References sqlite3::aVTrans, sqlite3::nVTrans, sqlite3DbRealloc(), sqlite3VtabLock(), SQLITE_NOMEM, and SQLITE_OK.
Referenced by sqlite3VtabBegin(), and sqlite3VtabCallCreate().
static void callFinaliser | ( | sqlite3 * | db, | |
int | offset | |||
) | [static] |
Definition at line 626 of file vtab.c.
References sqlite3::aVTrans, sqlite3::nVTrans, sqlite3_vtab::pModule, sqlite3DbFree(), and sqlite3VtabUnlock().
Referenced by sqlite3VtabCommit(), and sqlite3VtabRollback().
static int createModule | ( | sqlite3 * | db, | |
const char * | zName, | |||
const sqlite3_module * | pModule, | |||
void * | pAux, | |||
void(*)(void *) | xDestroy | |||
) | [static] |
Definition at line 19 of file vtab.c.
References sqlite3::aModule, sqlite3::mallocFailed, sqlite3::mutex, Module::pAux, Module::pModule, sqlite3_mutex_enter, sqlite3_mutex_leave, sqlite3ApiExit(), sqlite3DbFree(), sqlite3DbMallocRaw(), sqlite3HashInsert(), sqlite3ResetInternalSchema(), SQLITE_OK, Module::xDestroy, and Module::zName.
Referenced by sqlite3_create_module(), and sqlite3_create_module_v2().
int sqlite3_create_module | ( | sqlite3 * | db, | |
const char * | zName, | |||
const sqlite3_module * | pModule, | |||
void * | pAux | |||
) |
int sqlite3_create_module_v2 | ( | sqlite3 * | db, | |
const char * | zName, | |||
const sqlite3_module * | pModule, | |||
void * | pAux, | |||
void(*)(void *) | xDestroy | |||
) |
Definition at line 71 of file vtab.c.
References createModule().
Referenced by sqlite3Fts2Init(), and sqlite3Fts3Init().
int sqlite3_declare_vtab | ( | sqlite3 * | db, | |
const char * | zCreateTable | |||
) |
Definition at line 533 of file vtab.c.
References Table::aCol, Parse::db, Parse::declareVtab, sqlite3::mutex, Table::nCol, Parse::pNewTable, Table::pSelect, Parse::pVdbe, sqlite3::pVTab, sqlite3_finalize(), sqlite3_mutex_enter, sqlite3_mutex_leave, sqlite3ApiExit(), sqlite3DbFree(), sqlite3DeleteTable(), sqlite3Error(), sqlite3RunParser(), SQLITE_ERROR, SQLITE_MISUSE, SQLITE_OK, Table::tabFlags, and TF_Virtual.
Referenced by constructVtab().
Definition at line 327 of file vtab.c.
References Token::n, Parse::sArg, and Token::z.
Referenced by yy_reduce().
void sqlite3VtabArgInit | ( | Parse * | pParse | ) |
Definition at line 317 of file vtab.c.
References addArgumentToVtab(), Token::n, Parse::sArg, and Token::z.
Referenced by yy_reduce().
int sqlite3VtabBegin | ( | sqlite3 * | db, | |
sqlite3_vtab * | pVtab | |||
) |
Definition at line 704 of file vtab.c.
References addToVTrans(), sqlite3::aVTrans, sqlite3::nVTrans, sqlite3_vtab::pModule, SQLITE_LOCKED, SQLITE_OK, and sqlite3_module::xBegin.
Referenced by sqlite3VdbeExec().
Definition at line 165 of file vtab.c.
References sqlite3::aDb, addModuleArgument(), Table::azModuleArg, Parse::db, sqlite3::flags, Token::n, Parse::nErr, Table::nModuleArg, Table::pIndex, Parse::pNewTable, Table::pSchema, Parse::sNameToken, sqlite3AuthCheck(), sqlite3DbStrDup(), sqlite3ErrorMsg(), sqlite3NameFromToken(), sqlite3SchemaToIndex(), sqlite3StartTable(), SQLITE_CREATE_VTABLE, SQLITE_SharedCache, Table::tabFlags, TF_Virtual, Token::z, Table::zName, and Db::zName.
Referenced by yy_reduce().
Definition at line 441 of file vtab.c.
References Table::azModuleArg, Parse::db, Table::pMod, Module::pModule, Table::pVtab, sqlite3DbFree(), sqlite3ErrorMsg(), SQLITE_ERROR, SQLITE_OK, Table::tabFlags, TF_Virtual, vtabCallConstructor(), and sqlite3_module::xConnect.
Referenced by sqlite3ViewGetColumnNames().
int sqlite3VtabCallCreate | ( | sqlite3 * | db, | |
int | iDb, | |||
const char * | zTab, | |||
char ** | pzErr | |||
) |
Definition at line 499 of file vtab.c.
References sqlite3::aDb, addToVTrans(), Table::azModuleArg, Table::pMod, Module::pModule, Table::pVtab, sqlite3FindTable(), sqlite3MPrintf(), SQLITE_ERROR, SQLITE_OK, Table::tabFlags, TF_Virtual, vtabCallConstructor(), sqlite3_module::xCreate, and Db::zName.
Referenced by sqlite3VdbeExec().
int sqlite3VtabCallDestroy | ( | sqlite3 * | db, | |
int | iDb, | |||
const char * | zTab | |||
) |
Definition at line 588 of file vtab.c.
References sqlite3::aDb, sqlite3::aVTrans, sqlite3::nVTrans, Table::pMod, Module::pModule, Table::pVtab, sqlite3FindTable(), sqlite3SafetyOff, sqlite3SafetyOn, SQLITE_OK, sqlite3_module::xDestroy, and Db::zName.
Referenced by sqlite3VdbeExec().
void sqlite3VtabClear | ( | Table * | p | ) |
Definition at line 117 of file vtab.c.
References Table::azModuleArg, Table::db, Table::nModuleArg, Table::pMod, Module::pModule, Table::pVtab, sqlite3DbFree(), and sqlite3VtabUnlock().
Referenced by sqlite3DeleteTable().
int sqlite3VtabCommit | ( | sqlite3 * | db | ) |
Definition at line 691 of file vtab.c.
References callFinaliser(), offsetof, and SQLITE_OK.
Referenced by vdbeCommit().
Definition at line 227 of file vtab.c.
References sqlite3::aDb, addArgumentToVtab(), sqlite3::aModule, Table::azModuleArg, sqlite3::sqlite3InitInfo::busy, Schema::db, Parse::db, sqlite3::init, sqlite3::mallocFailed, Token::n, Table::nModuleArg, OP_Expire, OP_ParseSchema, OP_VCreate, P4_DYNAMIC, Table::pMod, Parse::pNewTable, Table::pSchema, Parse::regRowid, Parse::sArg, SCHEMA_TABLE, Parse::sNameToken, sqlite3ChangeCookie(), sqlite3DbFree(), sqlite3GetVdbe(), sqlite3HashFind(), sqlite3HashInsert(), sqlite3MPrintf(), sqlite3NestedParse(), sqlite3SchemaToIndex(), sqlite3VdbeAddOp2(), sqlite3VdbeAddOp4(), Schema::tblHash, Token::z, Table::zName, and Db::zName.
Referenced by yy_reduce().
void sqlite3VtabLock | ( | sqlite3_vtab * | pVtab | ) |
Definition at line 89 of file vtab.c.
References sqlite3_vtab::nRef.
Referenced by addToVTrans(), and sqlite3VdbeExec().
Definition at line 824 of file vtab.c.
References Parse::apVtabLock, Parse::db, IsVirtual, sqlite3::mallocFailed, Parse::nVtabLock, and sqlite3_realloc().
Referenced by sqlite3DeleteFrom(), sqlite3Insert(), and updateVirtualTable().
Definition at line 754 of file vtab.c.
References FuncDef::flags, Expr::op, sqlite3_vtab::pModule, Expr::pTab, FuncDef::pUserData, Table::pVtab, sqlite3DbFree(), sqlite3DbMallocZero(), sqlite3DbStrDup(), sqlite3Error(), sqlite3UpperToLower, SQLITE_FUNC_EPHEM, Table::tabFlags, TF_Virtual, TK_COLUMN, sqlite3_module::xFindFunction, FuncDef::xFunc, sqlite3_vtab::zErrMsg, and FuncDef::zName.
Referenced by sqlite3ExprCodeTarget().
int sqlite3VtabRollback | ( | sqlite3 * | db | ) |
Definition at line 682 of file vtab.c.
References callFinaliser(), offsetof, and SQLITE_OK.
Referenced by sqlite3_close(), and sqlite3RollbackAll().
int sqlite3VtabSync | ( | sqlite3 * | db, | |
char ** | pzErrmsg | |||
) |
Definition at line 650 of file vtab.c.
References sqlite3::aVTrans, sqlite3::nVTrans, sqlite3_vtab::pModule, sqlite3DbFree(), sqlite3SafetyOff, sqlite3SafetyOn, SQLITE_OK, sqlite3_module::xSync, and sqlite3_vtab::zErrMsg.
Referenced by vdbeCommit().
void sqlite3VtabUnlock | ( | sqlite3 * | db, | |
sqlite3_vtab * | pVtab | |||
) |
Definition at line 97 of file vtab.c.
References sqlite3::magic, sqlite3_vtab::nRef, sqlite3_vtab::pModule, sqlite3SafetyCheckOk(), sqlite3SafetyOff, sqlite3SafetyOn, SQLITE_MAGIC_BUSY, and sqlite3_module::xDisconnect.
Referenced by callFinaliser(), sqlite3VdbeExec(), and sqlite3VtabClear().
static int vtabCallConstructor | ( | sqlite3 * | db, | |
Table * | pTab, | |||
Module * | pMod, | |||
int(*)(sqlite3 *, void *, int, const char *const *, sqlite3_vtab **, char **) | xConstruct, | |||
char ** | pzErr | |||
) | [static] |
Definition at line 343 of file vtab.c.
References Table::aCol, Table::azModuleArg, Column::isHidden, Table::nCol, Table::nModuleArg, sqlite3_vtab::nRef, Module::pAux, Module::pModule, sqlite3_vtab::pModule, Table::pVtab, sqlite3::pVTab, sqlite3DbFree(), sqlite3MPrintf(), sqlite3SafetyOff, sqlite3SafetyOn, sqlite3StrNICmp(), SQLITE_ERROR, SQLITE_NOMEM, SQLITE_OK, Table::zName, and Column::zType.
Referenced by sqlite3VtabCallConnect(), and sqlite3VtabCallCreate().
ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:50:02 2011 by Doxygen 1.6.1