Lines Matching defs:vtab
17742 VtabCtx *pVtabCtx; /* Context for active vtab connect/create */
18372 sqlite3_vtab *pVtab; /* Pointer to vtab instance */
18423 char **azArg; /* 0: module 1: schema 2: vtab name 3...: args */
18425 } vtab;
86809 sqlite3_str_appendf(&x, "vtab:%p", pVtab);
101336 if( pTab->u.vtab.p==0 ) break;
101337 pVtab = pTab->u.vtab.p->pVtab;
101343 sqlite3VtabLock(pTab->u.vtab.p);
101347 sqlite3VtabUnlock(pTab->u.vtab.p);
121598 char *vtab = (char *)sqlite3GetVTable(db, pParse->apVtabLock[i]);
121599 sqlite3VdbeAddOp4(v, OP_VBegin, 0, 0, 0, vtab, P4_VTAB);
123879 pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->u.vtab.azArg[0]);
123900 pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->u.vtab.azArg[0]);
127706 && pTab->u.vtab.p->eVtabRisk >
140872 const char *zMod = pTab->u.vtab.azArg[0];
140876 if( pTab->u.vtab.p==0 ) continue;
140877 pVTab = pTab->u.vtab.p->pVtab;
148957 && ALWAYS(pTab->u.vtab.p!=0)
148958 && pTab->u.vtab.p->eVtabRisk > ((db->flags & SQLITE_TrustedSchema)!=0)
155392 /************** Begin file vtab.c ********************************************/
155587 for(pVtab=pTab->u.vtab.p; pVtab && pVtab->db!=db; pVtab=pVtab->pNext);
155616 ** p->u.vtab.p list to the sqlite3.pDisconnect lists of their associated
155619 ** connection db is left in the p->u.vtab.p list.
155626 pVTable = p->u.vtab.p;
155627 p->u.vtab.p = 0;
155633 ** database connection that may have an entry in the p->u.vtab.p list.
155643 p->u.vtab.p = pRet;
155671 for(ppVTab=&p->u.vtab.p; *ppVTab; ppVTab=&(*ppVTab)->pNext){
155736 if( p->u.vtab.azArg ){
155738 for(i=0; i<p->u.vtab.nArg; i++){
155739 if( i!=1 ) sqlite3DbFree(db, p->u.vtab.azArg[i]);
155741 sqlite3DbFree(db, p->u.vtab.azArg);
155746 ** Add a new module argument to pTable->u.vtab.azArg[].
155757 nBytes = sizeof(char *)*(2+pTable->u.vtab.nArg);
155758 if( pTable->u.vtab.nArg+3>=db->aLimit[SQLITE_LIMIT_COLUMN] ){
155761 azModuleArg = sqlite3DbRealloc(db, pTable->u.vtab.azArg, nBytes);
155765 int i = pTable->u.vtab.nArg++;
155768 pTable->u.vtab.azArg = azModuleArg;
155795 assert( pTable->u.vtab.nArg==0 );
155812 if( pTable->u.vtab.azArg ){
155816 pTable->u.vtab.azArg[0], pParse->db->aDb[iDb].zDbSName);
155847 if( pTab->u.vtab.nArg<1 ) return;
155875 ** entry in the sqlite_schema table that was created for this vtab
155959 int nArg = pTab->u.vtab.nArg;
155966 azArg = (const char *const*)pTab->u.vtab.azArg;
155994 pTab->u.vtab.azArg[1] = db->aDb[iDb].zDbSName;
156022 /* Justification of ALWAYS(): A correct vtab constructor must allocate
156037 ** into the linked list headed by pTab->u.vtab.p. Then loop through the
156041 pVTable->pNext = pTab->u.vtab.p;
156042 pTab->u.vtab.p = pVTable;
156101 zMod = pTab->u.vtab.azArg[0];
156105 const char *zModule = pTab->u.vtab.azArg[0];
156168 assert( pTab && IsVirtual(pTab) && !pTab->u.vtab.p );
156171 zMod = pTab->u.vtab.azArg[0];
156321 && ALWAYS(pTab->u.vtab.p!=0)
156325 for(p=pTab->u.vtab.p; p; p=p->pNext){
156339 assert( pTab->u.vtab.p==p && p->pNext==0 );
156341 pTab->u.vtab.p = 0;
156457 /* Invoke the xBegin method. If successful, add the vtab to the
156664 assert( pTab->u.vtab.nArg==0 );
156767 /************** End of vtab.c ************************************************/
156945 } vtab;
157064 u8 eMatchOp; /* Op for vtab MATCH/LIKE/GLOB/REGEXP terms */
157411 #define WHERE_VIRTUALTABLE 0x00000400 /* WhereLoop.u.vtab is valid */
157615 pLoop->u.vtab.idxNum, pLoop->u.vtab.idxStr);
158887 if( SMASKBIT32(j) & pLoop->u.vtab.mHandleIn ){
158900 && pLoop->u.vtab.bOmitOffset
158910 sqlite3VdbeAddOp2(v, OP_Integer, pLoop->u.vtab.idxNum, iReg);
158913 pLoop->u.vtab.idxStr,
158914 pLoop->u.vtab.needFree ? P4_DYNAMIC : P4_STATIC);
158916 pLoop->u.vtab.needFree = 0;
158918 ** the u.vtab.idxStr. NULL it out to prevent a use-after-free */
158919 if( db->mallocFailed ) pLoop->u.vtab.idxStr = 0;
158927 if( j<16 && (pLoop->u.vtab.omitMask>>j)&1 ){
158932 && (SMASKBIT32(j) & pLoop->u.vtab.mHandleIn)==0
162154 u32 mHandleIn; /* Terms that vtab will handle as <col> IN (...) */
163438 SrcItem *pSrc, /* The FROM clause term that is the vtab */
163680 if( pTab->u.vtab.p->bAllSchemas ){
164459 if( p->u.vtab.idxStr ){
164461 p->u.vtab.idxNum, p->u.vtab.idxStr, p->u.vtab.omitMask);
164463 z = sqlite3_mprintf("(%d,%x)", p->u.vtab.idxNum, p->u.vtab.omitMask);
164508 if( (p->wsFlags & WHERE_VIRTUALTABLE)!=0 && p->u.vtab.needFree ){
164509 sqlite3_free(p->u.vtab.idxStr);
164510 p->u.vtab.needFree = 0;
164511 p->u.vtab.idxStr = 0;
164565 pFrom->u.vtab.needFree = 0;
166283 memset(&pNew->u.vtab, 0, sizeof(pNew->u.vtab));
166313 pNew->u.vtab.omitMask |= 1<<iTerm;
166318 pNew->u.vtab.bOmitOffset = 1;
166322 pNew->u.vtab.mHandleIn |= MASKBIT32(iTerm);
166370 pNew->u.vtab.idxNum = pIdxInfo->idxNum;
166371 pNew->u.vtab.needFree = pIdxInfo->needToFreeIdxStr;
166373 pNew->u.vtab.idxStr = pIdxInfo->idxStr;
166374 pNew->u.vtab.isOrdered = (i8)(pIdxInfo->orderByConsumed ?
166388 if( pNew->u.vtab.needFree ){
166389 sqlite3_free(pNew->u.vtab.idxStr);
166390 pNew->u.vtab.needFree = 0;
166570 pNew->u.vtab.needFree = 0;
166976 if( pLoop->u.vtab.isOrdered
179218 ** structure built up in pParse->pNewTable. The calling code (see vtab.c)
186833 ** as part of the vtab xCreate() method.
187329 sqlite3_vtab **ppVTab, /* Write the resulting vtab structure here */
187333 Fts3Table *p = 0; /* Pointer to allocated vtab */
187600 /* Fill in the zName and zDb fields of the vtab structure. */
192504 /* This vtab delivers always results in "ORDER BY term ASC" order. */
202145 sqlite3_vtab *pVtab, /* FTS3 vtab object */
223684 sqlite3 *db; /* Database connection that owns this vtab */
249780 /* "rank" function. Populated on demand from vtab.xColumn(). */
249890 /* The following assert() can fail if another vtab strikes an error
249892 ** having called xSavepoint() on this vtab. */
249958 sqlite3_vtab **ppVTab, /* Write the resulting vtab structure here */
249967 /* Allocate the new vtab object and parse the configuration */
256702 sqlite3_vtab **ppVTab, /* Write the resulting vtab structure here */
257376 sqlite3 *db; /* Database connection for this stmt vtab */