Lines Matching defs:pTab

100 ** pTab is a pointer to a Table structure representing a virtual-table.
104 VTable *sqlite3GetVTable(sqlite3 *db, Table *pTab){
106 assert( IsVirtual(pTab) );
107 for(pVtab=pTab->pVTable; pVtab && pVtab->db!=db; pVtab=pVtab->pNext);
323 Table *pTab = pParse->pNewTable; /* The table being constructed */
326 if( pTab==0 ) return;
329 if( pTab->nModuleArg<1 ) return;
357 iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
363 pTab->zName,
364 pTab->zName,
373 zWhere = sqlite3MPrintf(db, "name='%q' AND type='table'", pTab->zName);
376 pTab->zName, sqlite3Strlen30(pTab->zName) + 1);
386 Schema *pSchema = pTab->pSchema;
387 const char *zName = pTab->zName;
390 pOld = sqlite3HashInsert(&pSchema->tblHash, zName, nName, pTab);
393 assert( pTab==pOld ); /* Malloc must have failed inside HashInsert() */
432 Table *pTab,
439 const char *const*azArg = (const char *const*)pTab->azModuleArg;
440 int nArg = pTab->nModuleArg;
442 char *zModuleName = sqlite3MPrintf(db, "%s", pTab->zName);
458 db->pVTab = pTab;
479 *pzErr = sqlite3MPrintf(db, zFormat, pTab->zName);
485 ** into the linked list headed by pTab->pVTable. Then loop through the
489 pVTable->pNext = pTab->pVTable;
490 pTab->pVTable = pVTable;
492 for(iCol=0; iCol<pTab->nCol; iCol++){
493 char *zType = pTab->aCol[iCol].zType;
518 pTab->aCol[iCol].isHidden = 1;
531 ** of the virtual table pTab. If an error occurs, an error code is returned
534 ** This call is a no-op if table pTab is not a virtual table.
536 int sqlite3VtabCallConnect(Parse *pParse, Table *pTab){
542 assert( pTab );
543 if( (pTab->tabFlags & TF_Virtual)==0 || sqlite3GetVTable(db, pTab) ){
548 zMod = pTab->azModuleArg[0];
552 const char *zModule = pTab->azModuleArg[0];
557 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xConnect, &zErr);
601 Table *pTab;
605 pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zName);
606 assert( pTab && (pTab->tabFlags & TF_Virtual)!=0 && !pTab->pVTable );
609 zMod = pTab->azModuleArg[0];
620 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xCreate, pzErr);
625 if( rc==SQLITE_OK && ALWAYS(sqlite3GetVTable(db, pTab)) ){
626 rc = addToVTrans(db, sqlite3GetVTable(db, pTab));
641 Table *pTab;
645 pTab = db->pVTab;
646 if( !pTab ){
651 assert( (pTab->tabFlags & TF_Virtual)!=0 );
667 if( !pTab->aCol ){
668 pTab->aCol = pParse->pNewTable->aCol;
669 pTab->nCol = pParse->pNewTable->nCol;
703 Table *pTab;
705 pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zName);
706 if( ALWAYS(pTab!=0 && pTab->pVTable!=0) ){
707 VTable *p = vtabDisconnectAll(db, pTab);
714 assert( pTab->pVTable==p && p->pNext==0 );
716 pTab->pVTable = 0;
861 Table *pTab;
875 pTab = pExpr->pTab;
876 if( NEVER(pTab==0) ) return pDef;
877 if( (pTab->tabFlags & TF_Virtual)==0 ) return pDef;
878 pVtab = sqlite3GetVTable(db, pTab)->pVtab;
916 ** Make sure virtual table pTab is contained in the pParse->apVirtualLock[]
917 ** array so that an OP_VBegin will get generated for it. Add pTab to the
918 ** array if it is missing. If pTab is already in the array, this routine
921 void sqlite3VtabMakeWritable(Parse *pParse, Table *pTab){
926 assert( IsVirtual(pTab) );
928 if( pTab==pToplevel->apVtabLock[i] ) return;
934 pToplevel->apVtabLock[pToplevel->nVtabLock++] = pTab;