Lines Matching defs:vtab
17114 VtabCtx *pVtabCtx; /* Context for active vtab connect/create */
17733 sqlite3_vtab *pVtab; /* Pointer to vtab instance */
17783 char **azArg; /* 0: module 1: schema 2: vtab name 3...: args */
17785 } vtab;
84361 sqlite3_str_appendf(&x, "vtab:%p", pVtab);
117688 char *vtab = (char *)sqlite3GetVTable(db, pParse->apVtabLock[i]);
117689 sqlite3VdbeAddOp4(v, OP_VBegin, 0, 0, 0, vtab, P4_VTAB);
119976 pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->u.vtab.azArg[0]);
119997 pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->u.vtab.azArg[0]);
123785 && pTab->u.vtab.p->eVtabRisk >
144071 && ALWAYS(pTab->u.vtab.p!=0)
144072 && pTab->u.vtab.p->eVtabRisk > ((db->flags & SQLITE_TrustedSchema)!=0)
149936 /************** Begin file vtab.c ********************************************/
150131 for(pVtab=pTab->u.vtab.p; pVtab && pVtab->db!=db; pVtab=pVtab->pNext);
150160 ** p->u.vtab.p list to the sqlite3.pDisconnect lists of their associated
150163 ** connection db is left in the p->u.vtab.p list.
150170 pVTable = p->u.vtab.p;
150171 p->u.vtab.p = 0;
150177 ** database connection that may have an entry in the p->u.vtab.p list.
150187 p->u.vtab.p = pRet;
150215 for(ppVTab=&p->u.vtab.p; *ppVTab; ppVTab=&(*ppVTab)->pNext){
150281 if( p->u.vtab.azArg ){
150283 for(i=0; i<p->u.vtab.nArg; i++){
150284 if( i!=1 ) sqlite3DbFree(db, p->u.vtab.azArg[i]);
150286 sqlite3DbFree(db, p->u.vtab.azArg);
150291 ** Add a new module argument to pTable->u.vtab.azArg[].
150302 nBytes = sizeof(char *)*(2+pTable->u.vtab.nArg);
150303 if( pTable->u.vtab.nArg+3>=db->aLimit[SQLITE_LIMIT_COLUMN] ){
150306 azModuleArg = sqlite3DbRealloc(db, pTable->u.vtab.azArg, nBytes);
150310 int i = pTable->u.vtab.nArg++;
150313 pTable->u.vtab.azArg = azModuleArg;
150340 assert( pTable->u.vtab.nArg==0 );
150357 if( pTable->u.vtab.azArg ){
150361 pTable->u.vtab.azArg[0], pParse->db->aDb[iDb].zDbSName);
150392 if( pTab->u.vtab.nArg<1 ) return;
150420 ** entry in the sqlite_schema table tht was created for this vtab
150504 int nArg = pTab->u.vtab.nArg;
150511 azArg = (const char *const*)pTab->u.vtab.azArg;
150539 pTab->u.vtab.azArg[1] = db->aDb[iDb].zDbSName;
150563 /* Justification of ALWAYS(): A correct vtab constructor must allocate
150578 ** into the linked list headed by pTab->u.vtab.p. Then loop through the
150582 pVTable->pNext = pTab->u.vtab.p;
150583 pTab->u.vtab.p = pVTable;
150642 zMod = pTab->u.vtab.azArg[0];
150646 const char *zModule = pTab->u.vtab.azArg[0];
150709 assert( pTab && IsVirtual(pTab) && !pTab->u.vtab.p );
150712 zMod = pTab->u.vtab.azArg[0];
150844 && ALWAYS(pTab->u.vtab.p!=0)
150848 for(p=pTab->u.vtab.p; p; p=p->pNext){
150862 assert( pTab->u.vtab.p==p && p->pNext==0 );
150864 pTab->u.vtab.p = 0;
150980 /* Invoke the xBegin method. If successful, add the vtab to the
151184 assert( pTab->u.vtab.nArg==0 );
151283 /************** End of vtab.c ************************************************/
151461 } vtab;
151580 u8 eMatchOp; /* Op for vtab MATCH/LIKE/GLOB/REGEXP terms */
151927 #define WHERE_VIRTUALTABLE 0x00000400 /* WhereLoop.u.vtab is valid */
152130 pLoop->u.vtab.idxNum, pLoop->u.vtab.idxStr);
153351 if( SMASKBIT32(j) & pLoop->u.vtab.mHandleIn ){
153364 && pLoop->u.vtab.bOmitOffset
153374 sqlite3VdbeAddOp2(v, OP_Integer, pLoop->u.vtab.idxNum, iReg);
153377 pLoop->u.vtab.idxStr,
153378 pLoop->u.vtab.needFree ? P4_DYNAMIC : P4_STATIC);
153380 pLoop->u.vtab.needFree = 0;
153382 ** the u.vtab.idxStr. NULL it out to prevent a use-after-free */
153383 if( db->mallocFailed ) pLoop->u.vtab.idxStr = 0;
153391 if( j<16 && (pLoop->u.vtab.omitMask>>j)&1 ){
153396 && (SMASKBIT32(j) & pLoop->u.vtab.mHandleIn)==0
156587 u32 mHandleIn; /* Terms that vtab will handle as <col> IN (...) */
157721 SrcItem *pSrc, /* The FROM clause term that is the vtab */
158715 if( p->u.vtab.idxStr ){
158717 p->u.vtab.idxNum, p->u.vtab.idxStr, p->u.vtab.omitMask);
158719 z = sqlite3_mprintf("(%d,%x)", p->u.vtab.idxNum, p->u.vtab.omitMask);
158755 if( (p->wsFlags & WHERE_VIRTUALTABLE)!=0 && p->u.vtab.needFree ){
158756 sqlite3_free(p->u.vtab.idxStr);
158757 p->u.vtab.needFree = 0;
158758 p->u.vtab.idxStr = 0;
158812 pFrom->u.vtab.needFree = 0;
160290 memset(&pNew->u.vtab, 0, sizeof(pNew->u.vtab));
160320 pNew->u.vtab.omitMask |= 1<<iTerm;
160325 pNew->u.vtab.bOmitOffset = 1;
160329 pNew->u.vtab.mHandleIn |= MASKBIT32(iTerm);
160370 pNew->u.vtab.idxNum = pIdxInfo->idxNum;
160371 pNew->u.vtab.needFree = pIdxInfo->needToFreeIdxStr;
160373 pNew->u.vtab.idxStr = pIdxInfo->idxStr;
160374 pNew->u.vtab.isOrdered = (i8)(pIdxInfo->orderByConsumed ?
160388 if( pNew->u.vtab.needFree ){
160389 sqlite3_free(pNew->u.vtab.idxStr);
160390 pNew->u.vtab.needFree = 0;
160575 pNew->u.vtab.needFree = 0;
160983 if( pLoop->u.vtab.isOrdered
172870 ** structure built up in pParse->pNewTable. The calling code (see vtab.c)
180323 ** as part of the vtab xCreate() method.
180819 sqlite3_vtab **ppVTab, /* Write the resulting vtab structure here */
180823 Fts3Table *p = 0; /* Pointer to allocated vtab */
181090 /* Fill in the zName and zDb fields of the vtab structure. */
185922 /* This vtab delivers always results in "ORDER BY term ASC" order. */
195541 sqlite3_vtab *pVtab, /* FTS3 vtab object */
214329 sqlite3 *db; /* Database connection that owns this vtab */
237012 /* "rank" function. Populated on demand from vtab.xColumn(). */
237122 /* The following assert() can fail if another vtab strikes an error
237124 ** having called xSavepoint() on this vtab. */
237190 sqlite3_vtab **ppVTab, /* Write the resulting vtab structure here */
237199 /* Allocate the new vtab object and parse the configuration */
243638 sqlite3_vtab **ppVTab, /* Write the resulting vtab structure here */
244311 sqlite3 *db; /* Database connection for this stmt vtab */