Lines Matching defs:pVTab
5427 int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
5428 int (*xDisconnect)(sqlite3_vtab *pVTab);
5429 int (*xDestroy)(sqlite3_vtab *pVTab);
5430 int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
5439 int (*xBegin)(sqlite3_vtab *pVTab);
5440 int (*xSync)(sqlite3_vtab *pVTab);
5441 int (*xCommit)(sqlite3_vtab *pVTab);
5442 int (*xRollback)(sqlite3_vtab *pVTab);
5443 int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName,
5446 int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
5449 int (*xSavepoint)(sqlite3_vtab *pVTab, int);
5450 int (*xRelease)(sqlite3_vtab *pVTab, int);
5451 int (*xRollbackTo)(sqlite3_vtab *pVTab, int);
5644 sqlite3_vtab *pVtab; /* Virtual table of this cursor */
9149 VTable *pVtab; /* Used when p4type is P4_VTAB */
10901 sqlite3_vtab *pVtab; /* Pointer to vtab instance */
63324 sqlite3_vtab *pVtab = pOp->p4.pVtab->pVtab;
63325 sqlite3_snprintf(nTemp, zTemp, "vtab:%p:%p", pVtab, pVtab->pModule);
63985 const sqlite3_module *pModule = pVtabCursor->pVtab->pModule;
66257 SQLITE_PRIVATE void sqlite3VtabImportErrmsg(Vdbe *p, sqlite3_vtab *pVtab){
66260 p->zErrMsg = sqlite3DbStrDup(db, pVtab->zErrMsg);
66261 sqlite3_free(pVtab->zErrMsg);
66262 pVtab->zErrMsg = 0;
72437 sqlite3_vtab *pVtab;
72451 pVtab = pC->pVtabCursor->pVtab;
72452 pModule = pVtab->pModule;
72455 sqlite3VtabImportErrmsg(p, pVtab);
73990 VTable *pVTab;
73991 pVTab = pOp->p4.pVtab;
73992 rc = sqlite3VtabBegin(db, pVTab);
73993 if( pVTab ) sqlite3VtabImportErrmsg(p, pVTab->pVtab);
74034 sqlite3_vtab *pVtab;
74040 pVtab = pOp->p4.pVtab->pVtab;
74041 pModule = (sqlite3_module *)pVtab->pModule;
74042 assert(pVtab && pModule);
74043 rc = pModule->xOpen(pVtab, &pVtabCursor);
74044 sqlite3VtabImportErrmsg(p, pVtab);
74047 pVtabCursor->pVtab = pVtab;
74089 sqlite3_vtab *pVtab;
74102 pVtab = pVtabCursor->pVtab;
74103 pModule = pVtab->pModule;
74121 sqlite3VtabImportErrmsg(p, pVtab);
74145 sqlite3_vtab *pVtab;
74159 pVtab = pCur->pVtabCursor->pVtab;
74160 pModule = pVtab->pModule;
74173 sqlite3VtabImportErrmsg(p, pVtab);
74202 sqlite3_vtab *pVtab;
74213 pVtab = pCur->pVtabCursor->pVtab;
74214 pModule = pVtab->pModule;
74226 sqlite3VtabImportErrmsg(p, pVtab);
74247 sqlite3_vtab *pVtab;
74250 pVtab = pOp->p4.pVtab->pVtab;
74252 assert( pVtab->pModule->xRename );
74262 rc = pVtab->pModule->xRename(pVtab, pName->z);
74263 sqlite3VtabImportErrmsg(p, pVtab);
74299 sqlite3_vtab *pVtab;
74311 pVtab = pOp->p4.pVtab->pVtab;
74312 pModule = (sqlite3_module *)pVtab->pModule;
74326 rc = pModule->xUpdate(pVtab, nArg, apArg, &rowid);
74328 sqlite3VtabImportErrmsg(p, pVtab);
74333 if( (rc&0xff)==SQLITE_CONSTRAINT && pOp->p4.pVtab->bConstraint ){
83010 VTable *pVTab = 0; /* Non-zero if this is a v-tab with an xRename() */
83066 pVTab = sqlite3GetVTable(db, pTab);
83067 if( pVTab->pVtab->pModule->xRename==0 ){
83068 pVTab = 0;
83082 sqlite3BeginWriteOperation(pParse, pVTab!=0, iDb);
83091 if( pVTab ){
83094 sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB);
91351 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
91353 sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iKey, pVTab, P4_VTAB);
94965 VTable *pVTab = IsVirtual(pTab) ? sqlite3GetVTable(p->db, pTab) : 0;
94984 if( pOp->opcode==OP_VOpen && pOp->p4.pVtab==pVTab ){
94985 assert( pOp->p4.pVtab!=0 );
95755 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
95757 sqlite3VdbeAddOp4(v, OP_VUpdate, 1, pTab->nCol+2, regIns, pVTab, P4_VTAB);
108923 const char *pVTab = (const char*)sqlite3GetVTable(db, pTab);
108968 sqlite3VdbeAddOp4(v, OP_VUpdate, 0, pTab->nCol+2, iReg, pVTab, P4_VTAB);
109458 SQLITE_PRIVATE void sqlite3VtabLock(VTable *pVTab){
109459 pVTab->nRef++;
109469 VTable *pVtab;
109471 for(pVtab=pTab->pVTable; pVtab && pVtab->db!=db; pVtab=pVtab->pNext);
109472 return pVtab;
109479 SQLITE_PRIVATE void sqlite3VtabUnlock(VTable *pVTab){
109480 sqlite3 *db = pVTab->db;
109483 assert( pVTab->nRef>0 );
109486 pVTab->nRef--;
109487 if( pVTab->nRef==0 ){
109488 sqlite3_vtab *p = pVTab->pVtab;
109492 sqlite3DbFree(db, pVTab);
109538 ** list in p->pVTab. It also decrements the VTable ref count. This is
109552 pVTab = *ppVTab;
109553 *ppVTab = pVTab->pNext;
109554 sqlite3VtabUnlock(pVTab);
109858 rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVTable->pVtab, &zErr);
109870 }else if( ALWAYS(pVTable->pVtab) ){
109873 pVTable->pVtab->pModule = pMod->pModule;
109986 ** Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should
109989 static void addToVTrans(sqlite3 *db, VTable *pVTab){
109990 /* Add pVtab to the end of sqlite3.aVTrans */
109991 db->aVTrans[db->nVTrans++] = pVTab;
109992 sqlite3VtabLock(pVTab);
110117 rc = p->pMod->pModule->xDestroy(p->pVtab);
110122 p->pVtab = 0;
110143 VTable *pVTab = db->aVTrans[i];
110144 sqlite3_vtab *p = pVTab->pVtab;
110150 pVTab->iSavepoint = 0;
110151 sqlite3VtabUnlock(pVTab);
110174 sqlite3_vtab *pVtab = aVTrans[i]->pVtab;
110175 if( pVtab && (x = pVtab->pModule->xSync)!=0 ){
110176 rc = x(pVtab);
110177 sqlite3VtabImportErrmsg(p, pVtab);
110203 ** If the virtual table pVtab supports the transaction interface
110210 SQLITE_PRIVATE int sqlite3VtabBegin(sqlite3 *db, VTable *pVTab){
110222 if( !pVTab ){
110225 pModule = pVTab->pVtab->pModule;
110230 /* If pVtab is already in the aVTrans array, return early */
110232 if( db->aVTrans[i]==pVTab ){
110241 rc = pModule->xBegin(pVTab->pVtab);
110243 addToVTrans(db, pVTab);
110273 VTable *pVTab = db->aVTrans[i];
110274 const sqlite3_module *pMod = pVTab->pMod->pModule;
110275 if( pVTab->pVtab && pMod->iVersion>=2 ){
110280 pVTab->iSavepoint = iSavepoint+1;
110289 if( xMethod && pVTab->iSavepoint>iSavepoint ){
110290 rc = xMethod(pVTab->pVtab, iSavepoint);
110318 sqlite3_vtab *pVtab;
110334 pVtab = sqlite3GetVTable(db, pTab)->pVtab;
110335 assert( pVtab!=0 );
110336 assert( pVtab->pModule!=0 );
110337 pMod = (sqlite3_module *)pVtab->pModule;
110348 rc = pMod->xFindFunction(pVtab, nArg, zLowerName, &xFunc, &pArg);
112765 sqlite3_vtab *pVtab = sqlite3GetVTable(pParse->db, pTab)->pVtab;
112770 rc = pVtab->pModule->xBestIndex(pVtab, p);
112776 }else if( !pVtab->zErrMsg ){
112779 sqlite3ErrorMsg(pParse, "%s", pVtab->zErrMsg);
112782 sqlite3_free(pVtab->zErrMsg);
112783 pVtab->zErrMsg = 0;
117180 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
117182 sqlite3VdbeAddOp4(v, OP_VOpen, iCur, 0, 0, pVTab, P4_VTAB);
127333 static int fts3DisconnectMethod(sqlite3_vtab *pVtab){
127334 Fts3Table *p = (Fts3Table *)pVtab;
127387 static int fts3DestroyMethod(sqlite3_vtab *pVtab){
127388 Fts3Table *p = (Fts3Table *)pVtab;
127406 return (rc==SQLITE_OK ? fts3DisconnectMethod(pVtab) : rc);
128348 static int fts3BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){
128349 Fts3Table *p = (Fts3Table *)pVTab;
128470 static int fts3OpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){
128473 UNUSED_PARAMETER(pVTab);
128493 assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
128499 assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
128518 Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
128547 if( rc==SQLITE_OK && ((Fts3Table *)pCsr->base.pVtab)->zContentTbl==0 ){
129739 Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
129888 assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
129945 Fts3Table *p = (Fts3Table *)pCursor->pVtab;
130078 Fts3Table *p = (Fts3Table *)pCursor->pVtab;
130112 assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
130122 sqlite3_vtab *pVtab, /* Virtual table handle */
130127 return sqlite3Fts3UpdateMethod(pVtab, nArg, apVal, pRowid);
130134 static int fts3SyncMethod(sqlite3_vtab *pVtab){
130157 Fts3Table *p = (Fts3Table*)pVtab;
130207 static int fts3BeginMethod(sqlite3_vtab *pVtab){
130208 Fts3Table *p = (Fts3Table*)pVtab;
130209 UNUSED_PARAMETER(pVtab);
130224 static int fts3CommitMethod(sqlite3_vtab *pVtab){
130225 TESTONLY( Fts3Table *p = (Fts3Table*)pVtab );
130226 UNUSED_PARAMETER(pVtab);
130239 static int fts3RollbackMethod(sqlite3_vtab *pVtab){
130240 Fts3Table *p = (Fts3Table*)pVtab;
130380 p = (Fts3Table *)pCursor->base.pVtab;
130422 sqlite3_vtab *pVtab, /* Virtual table handle */
130439 UNUSED_PARAMETER(pVtab);
130458 sqlite3_vtab *pVtab, /* Virtual table handle */
130461 Fts3Table *p = (Fts3Table *)pVtab;
130515 static int fts3SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){
130518 assert( ((Fts3Table *)pVtab)->inTransaction );
130519 pVtab)->mxSavepoint < iSavepoint );
130520 TESTONLY( ((Fts3Table *)pVtab)->mxSavepoint = iSavepoint );
130521 if( ((Fts3Table *)pVtab)->bIgnoreSavepoint==0 ){
130522 rc = fts3SyncMethod(pVtab);
130532 static int fts3ReleaseMethod(sqlite3_vtab *pVtab, int iSavepoint){
130533 TESTONLY( Fts3Table *p = (Fts3Table*)pVtab );
130535 UNUSED_PARAMETER(pVtab);
130547 static int fts3RollbackToMethod(sqlite3_vtab *pVtab, int iSavepoint){
130548 Fts3Table *p = (Fts3Table*)pVtab;
130845 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
130990 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
131261 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
131361 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
131512 Fts3Table *p = (Fts3Table*)pCsr->base.pVtab;
131565 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
131689 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
132329 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
132438 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
132488 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
132794 static int fts3auxDisconnectMethod(sqlite3_vtab *pVtab){
132795 Fts3auxTable *p = (Fts3auxTable *)pVtab;
132816 sqlite3_vtab *pVTab,
132826 UNUSED_PARAMETER(pVTab);
132885 static int fts3auxOpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){
132888 UNUSED_PARAMETER(pVTab);
132902 Fts3Table *pFts3 = ((Fts3auxTable *)pCursor->pVtab)->pFts3Tab;
132935 Fts3Table *pFts3 = ((Fts3auxTable *)pCursor->pVtab)->pFts3Tab;
133035 Fts3Table *pFts3 = ((Fts3auxTable *)pCursor->pVtab)->pFts3Tab;
136497 static int fts3tokDisconnectMethod(sqlite3_vtab *pVtab){
136498 Fts3tokTable *pTab = (Fts3tokTable *)pVtab;
136509 sqlite3_vtab *pVTab,
136513 UNUSED_PARAMETER(pVTab);
136537 static int fts3tokOpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){
136539 UNUSED_PARAMETER(pVTab);
136557 Fts3tokTable *pTab = (Fts3tokTable *)(pCsr->base.pVtab);
136587 Fts3tokTable *pTab = (Fts3tokTable *)(pCursor->pVtab);
136616 Fts3tokTable *pTab = (Fts3tokTable *)(pCursor->pVtab);
138264 Fts3Table *p = (Fts3Table*)pCsr->base.pVtab;
142075 Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
142229 sqlite3_vtab *pVtab, /* FTS3 vtab object */
142234 Fts3Table *p = (Fts3Table *)pVtab;
143005 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
143424 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
143524 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
143596 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
143739 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
143878 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
144916 #define RTREE_OF_CURSOR(X) ((Rtree*)((X)->base.pVtab))
145490 static int rtreeDisconnect(sqlite3_vtab *pVtab){
145491 rtreeRelease((Rtree *)pVtab);
145498 static int rtreeDestroy(sqlite3_vtab *pVtab){
145499 Rtree *pRtree = (Rtree *)pVtab;
145525 static int rtreeOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){
145532 pCsr->base.pVtab = pVTab;
145563 Rtree *pRtree = (Rtree *)(cur->pVtab);
146093 Rtree *pRtree = (Rtree *)cur->pVtab;
146204 Rtree *pRtree = (Rtree *)pVtabCursor->pVtab;
146217 pCsr->base.pVtab = (sqlite3_vtab*)pRtree;
147473 sqlite3_vtab *pVtab,
147478 Rtree *pRtree = (Rtree *)pVtab;
147593 static int rtreeRename(sqlite3_vtab *pVtab
147594 Rtree *pRtree = (Rtree *)pVtab;