Lines Matching refs:pTab

26   Table *pTab;        /* The Table object to which the virtual table belongs */  member
192 VTable *sqlite3GetVTable(sqlite3 *db, Table *pTab){ in sqlite3GetVTable() argument
194 assert( IsVirtual(pTab) ); in sqlite3GetVTable()
195 for(pVtab=pTab->u.vtab.p; pVtab && pVtab->db!=db; pVtab=pVtab->pNext); in sqlite3GetVTable()
449 Table *pTab = pParse->pNewTable; /* The table being constructed */ in sqlite3VtabFinishParse() local
452 if( pTab==0 ) return; in sqlite3VtabFinishParse()
453 assert( IsVirtual(pTab) ); in sqlite3VtabFinishParse()
456 if( pTab->u.vtab.nArg<1 ) return; in sqlite3VtabFinishParse()
487 iDb = sqlite3SchemaToIndex(db, pTab->pSchema); in sqlite3VtabFinishParse()
493 pTab->zName, in sqlite3VtabFinishParse()
494 pTab->zName, in sqlite3VtabFinishParse()
502 zWhere = sqlite3MPrintf(db, "name=%Q AND sql=%Q", pTab->zName, zStmt); in sqlite3VtabFinishParse()
507 sqlite3VdbeLoadString(v, iReg, pTab->zName); in sqlite3VtabFinishParse()
513 Schema *pSchema = pTab->pSchema; in sqlite3VtabFinishParse()
514 const char *zName = pTab->zName; in sqlite3VtabFinishParse()
516 sqlite3MarkAllShadowTablesOf(db, pTab); in sqlite3VtabFinishParse()
517 pOld = sqlite3HashInsert(&pSchema->tblHash, zName, pTab); in sqlite3VtabFinishParse()
520 assert( pTab==pOld ); /* Malloc must have failed inside HashInsert() */ in sqlite3VtabFinishParse()
559 Table *pTab, in vtabCallConstructor() argument
568 int nArg = pTab->u.vtab.nArg; in vtabCallConstructor()
574 assert( IsVirtual(pTab) ); in vtabCallConstructor()
575 azArg = (const char *const*)pTab->u.vtab.azArg; in vtabCallConstructor()
579 if( pCtx->pTab==pTab ){ in vtabCallConstructor()
581 "vtable constructor called recursively: %s", pTab->zName in vtabCallConstructor()
587 zModuleName = sqlite3DbStrDup(db, pTab->zName); in vtabCallConstructor()
602 iDb = sqlite3SchemaToIndex(db, pTab->pSchema); in vtabCallConstructor()
603 pTab->u.vtab.azArg[1] = db->aDb[iDb].zDbSName; in vtabCallConstructor()
608 sCtx.pTab = pTab; in vtabCallConstructor()
616 assert( sCtx.pTab==pTab ); in vtabCallConstructor()
635 *pzErr = sqlite3MPrintf(db, zFormat, pTab->zName); in vtabCallConstructor()
646 pVTable->pNext = pTab->u.vtab.p; in vtabCallConstructor()
647 pTab->u.vtab.p = pVTable; in vtabCallConstructor()
649 for(iCol=0; iCol<pTab->nCol; iCol++){ in vtabCallConstructor()
650 char *zType = sqlite3ColumnType(&pTab->aCol[iCol], ""); in vtabCallConstructor()
672 pTab->aCol[iCol].colFlags |= COLFLAG_HIDDEN; in vtabCallConstructor()
673 pTab->tabFlags |= TF_HasHidden; in vtabCallConstructor()
676 pTab->tabFlags |= oooHidden; in vtabCallConstructor()
693 int sqlite3VtabCallConnect(Parse *pParse, Table *pTab){ in sqlite3VtabCallConnect() argument
699 assert( pTab ); in sqlite3VtabCallConnect()
700 assert( IsVirtual(pTab) ); in sqlite3VtabCallConnect()
701 if( sqlite3GetVTable(db, pTab) ){ in sqlite3VtabCallConnect()
706 zMod = pTab->u.vtab.azArg[0]; in sqlite3VtabCallConnect()
710 const char *zModule = pTab->u.vtab.azArg[0]; in sqlite3VtabCallConnect()
715 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xConnect, &zErr); in sqlite3VtabCallConnect()
768 Table *pTab; in sqlite3VtabCallCreate() local
772 pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zDbSName); in sqlite3VtabCallCreate()
773 assert( pTab && IsVirtual(pTab) && !pTab->u.vtab.p ); in sqlite3VtabCallCreate()
776 zMod = pTab->u.vtab.azArg[0]; in sqlite3VtabCallCreate()
787 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xCreate, pzErr); in sqlite3VtabCallCreate()
792 if( rc==SQLITE_OK && ALWAYS(sqlite3GetVTable(db, pTab)) ){ in sqlite3VtabCallCreate()
795 addToVTrans(db, sqlite3GetVTable(db, pTab)); in sqlite3VtabCallCreate()
810 Table *pTab; in sqlite3_declare_vtab() local
826 pTab = pCtx->pTab; in sqlite3_declare_vtab()
827 assert( IsVirtual(pTab) ); in sqlite3_declare_vtab()
845 if( !pTab->aCol ){ in sqlite3_declare_vtab()
848 pTab->aCol = pNew->aCol; in sqlite3_declare_vtab()
850 pTab->nNVCol = pTab->nCol = pNew->nCol; in sqlite3_declare_vtab()
851 pTab->tabFlags |= pNew->tabFlags & (TF_WithoutRowid|TF_NoVisibleRowid); in sqlite3_declare_vtab()
854 assert( pTab->pIndex==0 ); in sqlite3_declare_vtab()
867 pTab->pIndex = pIdx; in sqlite3_declare_vtab()
869 pIdx->pTable = pTab; in sqlite3_declare_vtab()
903 Table *pTab; in sqlite3VtabCallDestroy() local
905 pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zDbSName); in sqlite3VtabCallDestroy()
906 if( ALWAYS(pTab!=0) in sqlite3VtabCallDestroy()
907 && ALWAYS(IsVirtual(pTab)) in sqlite3VtabCallDestroy()
908 && ALWAYS(pTab->u.vtab.p!=0) in sqlite3VtabCallDestroy()
912 for(p=pTab->u.vtab.p; p; p=p->pNext){ in sqlite3VtabCallDestroy()
918 p = vtabDisconnectAll(db, pTab); in sqlite3VtabCallDestroy()
922 pTab->nTabRef++; in sqlite3VtabCallDestroy()
926 assert( pTab->u.vtab.p==p && p->pNext==0 ); in sqlite3VtabCallDestroy()
928 pTab->u.vtab.p = 0; in sqlite3VtabCallDestroy()
931 sqlite3DeleteTable(db, pTab); in sqlite3VtabCallDestroy()
1131 Table *pTab; in sqlite3VtabOverloadFunction() local
1143 pTab = pExpr->y.pTab; in sqlite3VtabOverloadFunction()
1144 if( NEVER(pTab==0) ) return pDef; in sqlite3VtabOverloadFunction()
1145 if( !IsVirtual(pTab) ) return pDef; in sqlite3VtabOverloadFunction()
1146 pVtab = sqlite3GetVTable(db, pTab)->pVtab; in sqlite3VtabOverloadFunction()
1195 void sqlite3VtabMakeWritable(Parse *pParse, Table *pTab){ in sqlite3VtabMakeWritable() argument
1200 assert( IsVirtual(pTab) ); in sqlite3VtabMakeWritable()
1202 if( pTab==pToplevel->apVtabLock[i] ) return; in sqlite3VtabMakeWritable()
1208 pToplevel->apVtabLock[pToplevel->nVtabLock++] = pTab; in sqlite3VtabMakeWritable()
1231 Table *pTab; in sqlite3VtabEponymousTableInit() local
1237 pTab = sqlite3DbMallocZero(db, sizeof(Table)); in sqlite3VtabEponymousTableInit()
1238 if( pTab==0 ) return 0; in sqlite3VtabEponymousTableInit()
1239 pTab->zName = sqlite3DbStrDup(db, pMod->zName); in sqlite3VtabEponymousTableInit()
1240 if( pTab->zName==0 ){ in sqlite3VtabEponymousTableInit()
1241 sqlite3DbFree(db, pTab); in sqlite3VtabEponymousTableInit()
1244 pMod->pEpoTab = pTab; in sqlite3VtabEponymousTableInit()
1245 pTab->nTabRef = 1; in sqlite3VtabEponymousTableInit()
1246 pTab->eTabType = TABTYP_VTAB; in sqlite3VtabEponymousTableInit()
1247 pTab->pSchema = db->aDb[0].pSchema; in sqlite3VtabEponymousTableInit()
1248 assert( pTab->u.vtab.nArg==0 ); in sqlite3VtabEponymousTableInit()
1249 pTab->iPKey = -1; in sqlite3VtabEponymousTableInit()
1250 pTab->tabFlags |= TF_Eponymous; in sqlite3VtabEponymousTableInit()
1251 addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName)); in sqlite3VtabEponymousTableInit()
1252 addModuleArgument(pParse, pTab, 0); in sqlite3VtabEponymousTableInit()
1253 addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName)); in sqlite3VtabEponymousTableInit()
1254 rc = vtabCallConstructor(db, pTab, pMod, pModule->xConnect, &zErr); in sqlite3VtabEponymousTableInit()
1268 Table *pTab = pMod->pEpoTab; in sqlite3VtabEponymousTableClear() local
1269 if( pTab!=0 ){ in sqlite3VtabEponymousTableClear()
1273 pTab->tabFlags |= TF_Ephemeral; in sqlite3VtabEponymousTableClear()
1274 sqlite3DeleteTable(db, pTab); in sqlite3VtabEponymousTableClear()
1317 assert( p->pTab==0 || IsVirtual(p->pTab) ); in sqlite3_vtab_config()