Home | History | Annotate | Download | only in src

Lines Matching defs:pParse

266   Parse *pParse,        /* Parsing context */
275 sqlite3StartTable(pParse, pName1, pName2, 0, 0, 1, 0);
276 pTable = pParse->pNewTable;
280 db = pParse->db;
289 pParse->sNameToken.n = (int)(&pModuleName->z[pModuleName->n] - pName1->z);
298 sqlite3AuthCheck(pParse, SQLITE_CREATE_VTABLE, pTable->zName,
299 pTable->azModuleArg[0], pParse->db->aDb[iDb].zName);
306 ** in pParse->zArg[] and appends it to the list of arguments on the
307 ** virtual table currently under construction in pParse->pTable.
309 static void addArgumentToVtab(Parse *pParse){
310 if( pParse->sArg.z && ALWAYS(pParse->pNewTable) ){
311 const char *z = (const char*)pParse->sArg.z;
312 int n = pParse->sArg.n;
313 sqlite3 *db = pParse->db;
314 addModuleArgument(db, pParse->pNewTable, sqlite3DbStrNDup(db, z, n));
322 void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){
323 Table *pTab = pParse->pNewTable; /* The table being constructed */
324 sqlite3 *db = pParse->db; /* The database connection */
327 addArgumentToVtab(pParse);
328 pParse->sArg.z = 0;
345 pParse->sNameToken.n = (int)(pEnd->z - pParse->sNameToken.z) + pEnd->n;
347 zStmt = sqlite3MPrintf(db, "CREATE VIRTUAL TABLE %T", &pParse->sNameToken);
353 ** The VM register number pParse->regRowid holds the rowid of an
358 sqlite3NestedParse(pParse,
366 pParse->regRowid
369 v = sqlite3GetVdbe(pParse);
370 sqlite3ChangeCookie(pParse, iDb);
396 pParse->pNewTable = 0;
404 void sqlite3VtabArgInit(Parse *pParse){
405 addArgumentToVtab(pParse);
406 pParse->sArg.z = 0;
407 pParse->sArg.n = 0;
414 void sqlite3VtabArgExtend(Parse *pParse, Token *p){
415 Token *pArg = &pParse->sArg;
532 ** and an error left in pParse.
536 int sqlite3VtabCallConnect(Parse *pParse, Table *pTab){
537 sqlite3 *db = pParse->db;
553 sqlite3ErrorMsg(pParse, "no such module: %s", zModule);
559 sqlite3ErrorMsg(pParse, "%s", zErr);
638 Parse *pParse;
653 pParse = sqlite3StackAllocZero(db, sizeof(*pParse));
654 if( pParse==0 ){
657 pParse->declareVtab = 1;
658 pParse->db = db;
659 pParse->nQueryLoop = 1;
661 if( SQLITE_OK==sqlite3RunParser(pParse, zCreateTable, &zErr)
662 && pParse->pNewTable
664 && !pParse->pNewTable->pSelect
665 && (pParse->pNewTable->tabFlags & TF_Virtual)==0
668 pTab->aCol = pParse->pNewTable->aCol;
669 pTab->nCol = pParse->pNewTable->nCol;
670 pParse->pNewTable->nCol = 0;
671 pParse->pNewTable->aCol = 0;
679 pParse->declareVtab = 0;
681 if( pParse->pVdbe ){
682 sqlite3VdbeFinalize(pParse->pVdbe);
684 sqlite3DeleteTable(db, pParse->pNewTable);
685 sqlite3StackFree(db, pParse);
916 ** Make sure virtual table pTab is contained in the pParse->apVirtualLock[]
921 void sqlite3VtabMakeWritable(Parse *pParse, Table *pTab){
922 Parse *pToplevel = sqlite3ParseToplevel(pParse);