Lines Matching defs:pVTab
5136 int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
5137 int (*xDisconnect)(sqlite3_vtab *pVTab);
5138 int (*xDestroy)(sqlite3_vtab *pVTab);
5139 int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
5148 int (*xBegin)(sqlite3_vtab *pVTab);
5149 int (*xSync)(sqlite3_vtab *pVTab);
5150 int (*xCommit)(sqlite3_vtab *pVTab);
5151 int (*xRollback)(sqlite3_vtab *pVTab);
5152 int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName,
5155 int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
5334 sqlite3_vtab *pVtab; /* Virtual table of this cursor */
7930 VTable *pVtab; /* Used when p4type is P4_VTAB */
9217 Table *pVTab; /* vtab with active Connect/Create method */
9578 sqlite3_vtab *pVtab; /* Pointer to vtab instance */
58050 sqlite3_vtab *pVtab = pOp->p4.pVtab->pVtab;
58051 sqlite3_snprintf(nTemp, zTemp, "vtab:%p:%p", pVtab, pVtab->pModule);
62411 static void importVtabErrMsg(Vdbe *p, sqlite3_vtab *pVtab){
62414 p->zErrMsg = sqlite3DbStrDup(db, pVtab->zErrMsg);
62415 sqlite3_free(pVtab->zErrMsg);
62416 pVtab->zErrMsg = 0;
62709 sqlite3_vtab *pVtab;
62832 VTable *pVTab;
62837 sqlite3_vtab *pVtab;
62847 sqlite3_vtab *pVtab;
62854 sqlite3_vtab *pVtab;
62860 pVtab;
62866 sqlite3_vtab *pVtab;
62870 sqlite3_vtab *pVtab;
66490 sqlite3_vtab *pVtab;
66505 u.bi.pVtab = u.bi.pC->pVtabCursor->pVtab;
66506 u.bi.pModule = u.bi.pVtab->pModule;
66509 importVtabErrMsg(p, u.bi.pVtab);
67899 VTable *pVTab;
67901 u.cg.pVTab = pOp->p4.pVtab;
67902 rc = sqlite3VtabBegin(db, u.cg.pVTab);
67903 if( u.cg.pVTab ) importVtabErrMsg(p, u.cg.pVTab->pVtab);
67945 sqlite3_vtab *pVtab;
67951 u.ch.pVtab = pOp->p4.pVtab->pVtab;
67952 u.ch.pModule = (sqlite3_module *)u.ch.pVtab->pModule;
67953 assert(u.ch.pVtab && u.ch.pModule);
67954 rc = u.ch.pModule->xOpen(u.ch.pVtab, &u.ch.pVtabCursor);
67955 importVtabErrMsg(p, u.ch.pVtab);
67958 u.ch.pVtabCursor->pVtab = u.ch.pVtab;
67964 u.ch.pCur->pModule = u.ch.pVtabCursor->pVtab->pModule;
68001 sqlite3_vtab *pVtab;
68015 u.ci.pVtab = u.ci.pVtabCursor->pVtab;
68016 u.ci.pModule = u.ci.pVtab->pModule;
68035 importVtabErrMsg(p, u.ci.pVtab);
68059 sqlite3_vtab *pVtab;
68074 u.cj.pVtab = pCur->pVtabCursor->pVtab;
68075 u.cj.pModule = u.cj.pVtab->pModule;
68088 importVtabErrMsg(p, u.cj.pVtab);
68118 sqlite3_vtab *pVtab;
68130 u.ck.pVtab = u.ck.pCur->pVtabCursor->pVtab;
68131 u.ck.pModule = u.ck.pVtab->pModule;
68143 importVtabErrMsg(p, u.ck.pVtab);
68165 sqlite3_vtab *pVtab;
68169 u.cl.pVtab = pOp->p4.pVtab->pVtab;
68171 assert( u.cl.pVtab->pModule->xRename );
68175 rc = u.cl.pVtab->pModule->xRename(u.cl.pVtab, u.cl.pName->z);
68176 importVtabErrMsg(p, u.cl.pVtab);
68209 sqlite3_vtab *pVtab;
68218 u.cm.pVtab = pOp->p4.pVtab->pVtab;
68219 u.cm.pModule = (sqlite3_module *)u.cm.pVtab->pModule;
68232 rc = u.cm.pModule->xUpdate(u.cm.pVtab, u.cm.nArg, u.cm.apArg, &u.cm.rowid);
68233 importVtabErrMsg(p, u.cm.pVtab);
74903 VTable *pVTab = 0; /* Non-zero if this is a v-tab with an xRename() */
74959 pVTab = sqlite3GetVTable(db, pTab);
74960 if( pVTab->pVtab->pModule->xRename==0 ){
74961 pVTab = 0;
74975 sqlite3BeginWriteOperation(pParse, pVTab!=0, iDb);
74984 if( pVTab ){
74987 sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB);
81458 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
81460 sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iRowid, pVTab, P4_VTAB);
84624 VTable *pVTab = IsVirtual(pTab) ? sqlite3GetVTable(p->db, pTab) : 0;
84643 if( pOp->opcode==OP_VOpen && pOp->p4.pVtab==pVTab ){
84644 assert( pOp->p4.pVtab!=0 );
85452 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
85454 sqlite3VdbeAddOp4(v, OP_VUpdate, 1, pTab->nCol+2, regIns, pVTab, P4_VTAB);
96310 const char *pVTab = (const char*)sqlite3GetVTable(db, pTab);
96355 sqlite3VdbeAddOp4(v, OP_VUpdate, 0, pTab->nCol+2, iReg, pVTab, P4_VTAB);
96806 SQLITE_PRIVATE void sqlite3VtabLock(VTable *pVTab){
96807 pVTab->nRef++;
96817 VTable *pVtab;
96819 for(pVtab=pTab->pVTable; pVtab && pVtab->db!=db; pVtab=pVtab->pNext);
96820 return pVtab;
96827 SQLITE_PRIVATE void sqlite3VtabUnlock(VTable *pVTab){
96828 sqlite3 *db = pVTab->db;
96831 assert( pVTab->nRef>0 );
96834 pVTab->nRef--;
96835 if( pVTab->nRef==0 ){
96836 sqlite3_vtab *p = pVTab->pVtab;
96840 sqlite3DbFree(db, pVTab);
97168 assert( !db->pVTab );
97170 db->pVTab = pTab;
97173 rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVTable->pVtab, &zErr);
97184 }else if( ALWAYS(pVTable->pVtab) ){
97187 pVTable->pVtab->pModule = pMod->pModule;
97189 if( db->pVTab ){
97237 db->pVTab = 0;
97280 ** Add the virtual table pVTab to the array sqlite3.aVTrans[].
97282 static int addToVTrans(sqlite3 *db, VTable *pVTab){
97297 /* Add pVtab to the end of sqlite3.aVTrans */
97298 db->aVTrans[db->nVTrans++] = pVTab;
97299 sqlite3VtabLock(pVTab);
97357 pTab = db->pVTab;
97385 db->pVTab = 0;
97422 rc = p->pMod->pModule->xDestroy(p->pVtab);
97427 p->pVtab = 0;
97448 VTable *pVTab = db->aVTrans[i];
97449 sqlite3_vtab *p = pVTab->pVtab;
97455 sqlite3VtabUnlock(pVTab);
97479 sqlite3_vtab *pVtab = aVTrans[i]->pVtab;
97480 if( pVtab && (x = pVtab->pModule->xSync)!=0 ){
97481 rc = x(pVtab);
97483 *pzErrmsg = sqlite3DbStrDup(db, pVtab->zErrMsg);
97484 sqlite3_free(pVtab->zErrMsg);
97510 ** If the virtual table pVtab supports the transaction interface
97517 SQLITE_PRIVATE int sqlite3VtabBegin(sqlite3 *db, VTable *pVTab){
97529 if( !pVTab ){
97532 pModule = pVTab->pVtab->pModule;
97538 /* If pVtab is already in the aVTrans array, return early */
97540 if( db->aVTrans[i]==pVTab ){
97546 rc = pModule->xBegin(pVTab->pVtab);
97548 rc = addToVTrans(db, pVTab);
97574 sqlite3_vtab *pVtab;
97590 pVtab = sqlite3GetVTable(db, pTab)->pVtab;
97591 assert( pVtab!=0 );
97592 assert( pVtab->pModule!=0 );
97593 pMod = (sqlite3_module *)pVtab->pModule;
97604 rc = pMod->xFindFunction(pVtab, nArg, zLowerName, &xFunc, &pArg);
99720 sqlite3_vtab *pVtab = sqlite3GetVTable(pParse->db, pTab)->pVtab;
99726 rc = pVtab->pModule->xBestIndex(pVtab, p);
99732 }else if( !pVtab->zErrMsg ){
99735 sqlite3ErrorMsg(pParse, "%s", pVtab->zErrMsg);
99738 sqlite3_free(pVtab->zErrMsg);
99739 pVtab->zErrMsg = 0;
102396 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
102398 sqlite3VdbeAddOp4(v, OP_VOpen, iCur, 0, 0, pVTab, P4_VTAB);
111816 static int recoverDisconnect(sqlite3_vtab *pVtab){
111818 recoverRelease((Recover*)pVtab);
111822 static int recoverDestroy(sqlite3_vtab *pVtab){
111824 recoverRelease((Recover*)pVtab);
111836 static int recoverOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){
111837 Recover *pRecover = (Recover*)pVTab;
111877 pCursor->base.pVtab = pVTab;
111941 Recover *pRecover = (Recover*)pCursor->base.pVtab;
111970 Recover *pRecover = (Recover*)pCursor->base.pVtab;
111999 Recover *pRecover = (Recover*)pCursor->base.pVtab;
113490 static int fts3DisconnectMethod(sqlite3_vtab *pVtab){
113491 Fts3Table *p = (Fts3Table *)pVtab;
113542 static int fts3DestroyMethod(sqlite3_vtab *pVtab){
113544 Fts3Table *p = (Fts3Table *)pVtab;
113558 return (rc==SQLITE_OK ? fts3DisconnectMethod(pVtab) : rc);
114102 static int fts3BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){
114103 Fts3Table *p = (Fts3Table *)pVTab;
114155 static int fts3OpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){
114158 UNUSED_PARAMETER(pVTab);
114178 assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
115262 Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
115452 Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
116102 Fts3Table *p = (Fts3Table *)pCursor->pVtab;
116210 Fts3Table *p = (Fts3Table *)pCursor->pVtab;
116243 sqlite3_vtab *pVtab, /* Virtual table handle */
116248 return sqlite3Fts3UpdateMethod(pVtab, nArg, apVal, pRowid);
116255 static int fts3SyncMethod(sqlite3_vtab *pVtab){
116256 int rc = sqlite3Fts3PendingTermsFlush((Fts3Table *)pVtab);
116257 sqlite3Fts3SegmentsClose((Fts3Table *)pVtab);
116264 static int fts3BeginMethod(sqlite3_vtab *pVtab){
116265 UNUSED_PARAMETER(pVtab);
116266 assert( ((Fts3Table *)pVtab)->nPendingData==0 );
116275 static int fts3CommitMethod(sqlite3_vtab *pVtab){
116276 UNUSED_PARAMETER(pVtab);
116277 assert( ((Fts3Table *)pVtab)->nPendingData==0 );
116285 static int fts3RollbackMethod(sqlite3_vtab *pVtab){
116286 sqlite3Fts3PendingTermsClear((Fts3Table *)pVtab);
116488 p = (Fts3Table *)pCursor->base.pVtab;
116530 sqlite3_vtab *pVtab, /* Virtual table handle */
116547 UNUSED_PARAMETER(pVtab);
116566 sqlite3_vtab *pVtab, /* Virtual table handle */
116569 Fts3Table *p = (Fts3Table *)pVtab;
116868 static int fts3auxDisconnectMethod(sqlite3_vtab *pVtab){
116869 Fts3auxTable *p = (Fts3auxTable *)pVtab;
116890 sqlite3_vtab *pVTab,
116898 UNUSED_PARAMETER(pVTab);
116945 static int fts3auxOpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){
116948 UNUSED_PARAMETER(pVTab);
116962 Fts3Table *pFts3 = ((Fts3auxTable *)pCursor->pVtab)->pFts3Tab;
116995 Fts3Table *pFts3 = ((Fts3auxTable *)pCursor->pVtab)->pFts3Tab;
117095 Fts3Table *pFts3 = ((Fts3auxTable *)pCursor->pVtab)->pFts3Tab;
120980 Fts3Table *p = (Fts3Table*)pCsr->base.pVtab;
122461 Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
122536 sqlite3_vtab *pVtab, /* FTS3 vtab object */
122541 Fts3Table *p = (Fts3Table *)pVtab;
123292 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
123772 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
123872 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
123944 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
124085 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
124222 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
125024 static int rtreeDisconnect(sqlite3_vtab *pVtab){
125025 rtreeRelease((Rtree *)pVtab);
125032 static int rtreeDestroy(sqlite3_vtab *pVtab){
125033 Rtree *pRtree = (Rtree *)pVtab;
125059 static int rtreeOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){
125066 pCsr->base.pVtab = pVTab;
125097 Rtree *pRtree = (Rtree *)(cur->pVtab);
125342 Rtree *pRtree = (Rtree *)(pVtabCursor->pVtab);
125387 Rtree *pRtree = (Rtree *)pVtabCursor->pVtab;
125400 Rtree *pRtree = (Rtree *)cur->pVtab;
125495 Rtree *pRtree = (Rtree *)pVtabCursor->pVtab;
126889 sqlite3_vtab *pVtab,
126894 Rtree *pRtree = (Rtree *)pVtab;
127053 static int rtreeRename(sqlite3_vtab *pVtab, const char *zNewName){
127054 Rtree *pRtree = (Rtree *)pVtab;