Lines Matching defs:pList

13094 ** Expr.x.pList is a list of arguments if the expression is an SQL function,
13098 ** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
13135 ** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
13155 ExprList *pList; /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */
13196 #define EP_xIsSelect 0x000800 /* x.pSelect is valid (otherwise x.pList is) */
24308 pFarg = pExpr->x.pList;
24338 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
24352 ** Y is stored in pExpr->pList->a[0].pExpr.
24353 ** Z is stored in pExpr->pList->a[1].pExpr.
24357 Expr *pY = pExpr->x.pList->a[0].pExpr;
24358 Expr *pZ = pExpr->x.pList->a[1].pExpr;
24380 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
24417 const ExprList *pList,
24424 if( pList==0 ){
24428 for(i=0; i<pList->nExpr; i++){
24429 int j = pList->a[i].u.x.iOrderByCol;
24434 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, i<pList->nExpr-1);
43697 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
43702 assert( pList!=0 );
43703 p = pList;
43704 pList = p->pRight;
43706 for(iDepth=1; pList; iDepth++){
43708 p = pList;
43709 pList = p->pRight;
43711 p->pRight = rowSetNDeepTree(&pList, iDepth);
47026 PgHdr *pList; /* List of dirty pages to revert */
47037 pList = sqlite3PcacheDirtyList(pPager->pPCache);
47038 while( pList && rc==SQLITE_OK ){
47039 PgHdr *pNext = pList->pDirty;
47040 rc = pagerUndoCallback((void *)pPager, pList->pgno);
47041 pList = pNext;
47049 ** the contents of the list of pages headed by pList (connected by pDirty),
47058 PgHdr *pList, /* List of frames to log */
47063 int nList; /* Number of pages in pList */
47067 assert( pList );
47070 for(p=pList; p && p->pDirty; p=p->pDirty){
47075 assert( pList->pDirty==0 || isCommit );
47081 PgHdr **ppNext = &pList;
47083 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
47089 assert( pList );
47095 if( pList->pgno==1 ) pager_write_changecounter(pList);
47097 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
47100 for(p=pList; p; p=p->pDirty){
47106 pList = sqlite3PcacheDirtyList(pPager->pPCache);
47107 for(p=pList; p; p=p->pDirty){
48252 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
48275 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
48282 while( rc==SQLITE_OK && pList ){
48283 Pgno pgno = pList->pgno;
48293 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
48297 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
48298 if( pList->pgno==1 ) pager_write_changecounter(pList);
48301 CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM_BKPT, pData);
48319 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
48322 PAGERID(pPager), pgno, pager_pagehash(pList)));
48328 pager_set_pagehash(pList);
48329 pList = pList->pDirty;
48505 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
48507 while( rc==SQLITE_OK && pList ){
48508 PgHdr *pNext = pList->pDirty;
48509 if( pList->nRef==0 ){
48510 rc = pagerStress((void*)pPager, pList);
48512 pList = pNext;
50186 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
50188 if( pList==0 ){
50192 pList = pPageOne;
50193 pList->pDirty = 0;
50196 if( ALWAYS(pList) ){
50197 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
54318 PgHdr *pList, /* List of dirty pages to write */
54325 PgHdr *p; /* Iterator to run through pList with. */
54334 assert( pList );
54342 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
54415 for(p=pList; p; p=p->pDirty){
54508 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
58219 BtShared *pList;
58230 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
58231 while( ALWAYS(pList) && pList->pNext!=pBt ){
58232 pList=pList->pNext;
58234 if( ALWAYS(pList) ){
58235 pList->pNext = pBt->pNext;
67500 ExprList *pList = 0; /* Function arguments */
67505 pList = p->x.pList;
67506 if( pList ) nVal = pList->nExpr;
67515 if( pList ){
67522 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
82025 SorterRecord *pList; /* Linked list of records */
82026 u8 *aMemory; /* If non-NULL, bulk memory to hold pList */
82027 int szPMA; /* Size of pList as PMA in bytes */
82885 vdbeSorterRecordFree(0, pTask->list.pList);
83076 vdbeSorterRecordFree(0, pSorter->list.pList);
83078 pSorter->list.pList = 0;
83222 ** Sort the linked list of records headed at pTask->pList. Return
83226 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
83235 p = pList->pList;
83245 if( pList->aMemory ){
83246 if( (u8*)p==pList->aMemory ){
83249 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
83250 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
83269 pList->pList = p;
83363 ** Write the current contents of in-memory linked-list pList to a level-0
83376 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
83384 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
83389 assert( pList->szPMA>0 );
83401 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
83406 rc = vdbeSorterSort(pTask, pList);
83416 vdbePmaWriteVarint(&writer, pList->szPMA);
83417 for(p=pList->pList; p; p=pNext){
83421 if( pList->aMemory==0 ) sqlite3_free(p);
83423 pList->pList = p;
83428 assert( rc!=SQLITE_OK || pList->pList==0 );
83566 assert( pTask->list.pList==0 );
83571 pSorter->list.pList = 0;
83648 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
83662 int iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory;
83670 pSorter->list.pList = (SorterRecord*)&aNew[iListOff];
83677 if( pSorter->list.pList ){
83678 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
83685 pNew->u.pNext = pSorter->list.pList;
83690 pSorter->list.pList = pNew;
84409 if( pSorter->list.pList ){
84422 assert( pSorter->list.pList );
84468 SorterRecord *pFree = pSorter->list.pList;
84469 pSorter->list.pList = pFree->u.pNext;
84472 *pbEof = !pSorter->list.pList;
84500 *pnKey = pSorter->list.pList->nVal;
84501 pKey = SRVAL(pSorter->list.pList);
85044 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
85553 assert( pExpr->x.pList==0 );
85801 ExprList *pList = pExpr->x.pList; /* The argument list */
85802 int n = pList ? pList->nExpr : 0; /* Number of arguments */
85829 pExpr->iTable = exprProbability(pList->a[1].pExpr);
85887 sqlite3WalkExprList(pWalker, pList);
86581 ExprList *pList /* The expression list to be analyzed. */
86584 if( pList ){
86585 for(i=0; i<pList->nExpr; i++){
86586 if( sqlite3ResolveExprNames(pNC, pList->a[i].pExpr) ) return WRC_Abort;
86636 ExprList *pList /* Expression list to resolve. May be NUL. */
86652 if( pList ) sqlite3ResolveExprListNames(&sNC, pList);
86756 assert( pExpr->x.pList->nExpr>0 );
86758 pExpr = pExpr->x.pList->a[0].pExpr;
86810 assert( p->x.pList==0 || p->pRight==0 );
86814 if( p->x.pList!=0 && ALWAYS(!ExprHasProperty(p, EP_xIsSelect)) ){
86816 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
86817 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
86818 pNext = p->x.pList->a[i].pExpr;
87025 ** argument. An expression with no children, Expr.pList or
87030 ** Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags,
87039 }else if( p->x.pList ){
87040 heightOfExprList(p->x.pList, &nHeight);
87041 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
87051 ** Also propagate all EP_Propagate flags from the Expr.x.pList into
87071 ** Propagate all EP_Propagate flags from the Expr.x.pList into
87075 if( p && p->x.pList && !ExprHasProperty(p, EP_xIsSelect) ){
87076 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
87276 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
87282 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
87285 pNew->x.pList = pList;
87387 assert( p->x.pList==0 || p->pRight==0 );
87394 sqlite3ExprListDelete(db, p->x.pList);
87459 if( p->pLeft || p->x.pList ){
87493 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
87571 /* Fill in the pNew->x.pSelect or pNew->x.pList member. */
87575 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, isReduced);
87788 ** Add a new element to the end of an expression list. If pList is
87797 ExprList *pList, /* List to which to append. Might be NULL */
87802 if( pList==0 ){
87803 pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) );
87804 if( pList==0 ){
87807 pList->nExpr = 0;
87808 pList->a = sqlite3DbMallocRawNN(db, sizeof(pList->a[0]));
87809 if( pList->a==0 ) goto no_mem;
87810 }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
87812 assert( pList->nExpr>0 );
87813 a = sqlite3DbRealloc(db, pList->a, pList->nExpr*2*sizeof(pList->a[0]));
87817 pList->a = a;
87819 assert( pList->a!=0 );
87821 struct ExprList_item *pItem = &pList->a[pList->nExpr++];
87825 return pList;
87830 sqlite3ExprListDelete(db, pList);
87852 ** pList might be NULL following an OOM error. But pName should never be
87858 ExprList *pList, /* List to which to add the span. */
87862 assert( pList!=0 || pParse->db->mallocFailed!=0 );
87863 if( pList ){
87865 assert( pList->nExpr>0 );
87866 pItem = &pList->a[pList->nExpr-1];
87877 ** pList might be NULL following an OOM error. But pSpan should never be
87883 ExprList *pList, /* List to which to add the span. */
87887 assert( pList!=0 || db->mallocFailed!=0 );
87888 if( pList ){
87889 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
87890 assert( pList->nExpr>0 );
87918 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
87921 if( pList==0 ) return;
87922 assert( pList->a!=0 || pList->nExpr==0 );
87923 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
87928 sqlite3DbFree(db, pList->a);
87929 sqlite3DbFree(db, pList);
87936 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
87939 if( pList ){
87940 for(i=0; i<pList->nExpr; i++){
87941 Expr *pExpr = pList->a[i].pExpr;
88477 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
88626 }else if( ALWAYS(pExpr->x.pList!=0) ){
88635 ExprList *pList = pExpr->x.pList;
88651 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
88804 ExprList *pList = pExpr->x.pList;
88815 for(ii=0; ii<pList->nExpr; ii++){
88816 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, &regToFree);
88817 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
88820 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
88823 VdbeCoverageIf(v, ii<pList->nExpr-1);
88824 VdbeCoverageIf(v, ii==pList->nExpr-1);
89557 pFarg = pExpr->x.pList;
89701 ** Y is stored in pExpr->pList->a[0].pExpr.
89702 ** Z is stored in pExpr->pList->a[1].pExpr.
89706 struct ExprList_item *pLItem = pExpr->x.pList->a;
89805 ** Y is in the last element of pExpr->x.pList if pExpr->x.pList->nExpr is
89806 ** odd. The Y is also optional. If the number of elements in x.pList
89808 ** Ei is in pExpr->pList->a[i*2] and Ri is pExpr->pList->a[i*2+1].
89826 assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList );
89827 assert(pExpr->x.pList->nExpr > 0);
89828 pEList = pExpr->x.pList;
90065 ExprList *pList, /* The expression list to be coded */
90074 assert( pList!=0 );
90077 n = pList->nExpr;
90079 for(pItem=pList->a, i=0; i<n; i++, pItem++){
90081 if( (flags & SQLITE_ECEL_REF)!=0 && (j = pList->a[i].u.x.iOrderByCol)>0 ){
90136 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
90139 compRight.pRight = pExpr->x.pList->a[1].pExpr;
90507 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
90639 sqlite3WalkExprList(&w, pExpr->x.pList);
90783 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
90836 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
90839 if( pList ){
90840 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
94089 SrcList *pList /* The Source list to check and modify */
94095 if( NEVER(pList==0) ) return 0;
94097 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
94167 if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1;
94178 ExprList *pList /* The expression to be fixed to one database */
94182 if( pList==0 ) return 0;
94183 for(i=0, pItem=pList->a; i<pList->nExpr; i++, pItem++){
95738 ** Designate the PRIMARY KEY for the table. pList is a list of names
95739 ** of columns that form the primary key. If pList is NULL, then the
95757 ExprList *pList, /* List of field names to be indexed */
95773 if( pList==0 ){
95779 nTerm = pList->nExpr;
95781 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
95805 if( pList ) pParse->iPkSortOrder = pList->a[0].sortOrder;
95813 p = sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
95818 pList = 0;
95822 sqlite3ExprListDelete(pParse->db, pList);
96171 ExprList *pList;
96174 pList = sqlite3ExprListAppend(pParse, 0,
96176 if( pList==0 ) return;
96177 pList->a[0].sortOrder = pParse->iPkSortOrder;
96179 pPk = sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0);
97343 ** pList is a list of columns to be indexed. pList will be NULL if this
97356 ExprList *pList, /* A list of columns to be indexed */
97360 int sortOrder, /* Sort order of primary key when pList==NULL */
97375 struct ExprList_item *pListItem; /* For looping over pList */
97525 /* If pList==0, it means this routine was called to make a primary
97529 if( pList==0 ){
97532 pList = sqlite3ExprListAppend(pParse, 0,
97534 if( pList==0 ) goto exit_create_index;
97535 assert( pList->nExpr==1 );
97536 sqlite3ExprListSetSortOrder(pList, sortOrder);
97538 sqlite3ExprListCheckLength(pParse, pList, "index");
97544 for(i=0; i<pList->nExpr; i++){
97545 Expr *pExpr = pList->a[i].pExpr;
97557 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
97572 pIndex->nKeyCol = pList->nExpr;
97597 for(i=0, pListItem=pList->a; i<pList->nExpr; i++, pListItem++){
97613 ExprList *pCopy = sqlite3ExprListDup(db, pList, 0);
97876 sqlite3ExprListDelete(db, pList);
98040 SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3 *db, IdList *pList, Token *pToken){
98042 if( pList==0 ){
98043 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
98044 if( pList==0 ) return 0;
98046 pList->a = sqlite3ArrayAllocate(
98048 pList->a,
98049 sizeof(pList->a[0]),
98050 &pList->nId,
98054 sqlite3IdListDelete(db, pList);
98057 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
98058 return pList;
98064 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
98066 if( pList==0 ) return;
98067 for(i=0; i<pList->nId; i++){
98068 sqlite3DbFree(db, pList->a[i].zName);
98070 sqlite3DbFree(db, pList->a);
98071 sqlite3DbFree(db, pList);
98075 ** Return the index in pList of the identifier named zId. Return -1
98078 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
98080 if( pList==0 ) return -1;
98081 for(i=0; i<pList->nId; i++){
98082 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
98160 ** a new one. If an OOM error does occurs, then the prior value of pList
98190 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
98197 if( pList==0 ){
98198 pList = sqlite3DbMallocRawNN(db, sizeof(SrcList) );
98199 if( pList==0 ) return 0;
98200 pList->nAlloc = 1;
98201 pList->nSrc = 0;
98203 pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc);
98205 sqlite3SrcListDelete(db, pList);
98208 pItem = &pList->a[pList->nSrc-1];
98219 return pList;
98225 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
98228 assert(pList || pParse->db->mallocFailed );
98229 if( pList ){
98230 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
98243 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
98246 if( pList==0 ) return;
98247 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
98258 sqlite3DbFree(db, pList);
98343 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
98349 pItem->u1.pFuncArg = pList;
98352 sqlite3ExprListDelete(pParse->db, pList);
101955 || !pExpr->x.pList
101956 || pExpr->x.pList->nExpr!=2
103283 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
103356 pList = sqlite3ExprListAppend(pParse, pList, pNew);
103357 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
103398 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
103411 sqlite3ExprListDelete(db, pList);
104020 ExprList *pList = 0; /* List of VALUES() to be inserted */
104048 pList = pSelect->pEList;
104121 assert( pList==0 );
104259 if( pList ){
104260 nColumn = pList->nExpr;
104261 if( sqlite3ResolveExprListNames(&sNC, pList) ){
104362 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
104383 if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId)
104390 sqlite3ExprCodeAndCache(pParse, pList->a[j].pExpr, regCols+i+1);
104426 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
104495 sqlite3ExprCode(pParse, pList->a[j].pExpr, iRegStore);
104577 sqlite3ExprListDelete(db, pList);
110881 if( p->op==TK_FUNCTION && p->x.pList ){
110883 for(i=0; i<p->x.pList->nExpr; i++){
110884 setJoinExpr(p->x.pList->a[i].pExpr, iTable);
110970 IdList *pList = pRight->pUsing;
110971 for(j=0; j<pList->nId; j++){
110977 zName = pList->a[j].zName;
110997 ExprList *pList, /* Form the KeyInfo object from this ExprList */
110998 int iStart, /* Begin with this column of pList */
111575 ExprList *pList, /* Form the KeyInfo object from this ExprList */
111576 int iStart, /* Begin with this column of pList */
111585 nExpr = pList->nExpr;
111589 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
113647 substExprList(db, pExpr->x.pList, iTable, pEList);
113654 ExprList *pList, /* List to scan and in which to make substitutes */
113659 if( pList==0 ) return;
113660 for(i=0; i<pList->nExpr; i++){
113661 pList->a[i].pExpr = substExpr(db, pList->a[i].pExpr, iTable, pEList);
113846 ExprList *pList; /* The result set of the outer query */
114170 pList = pParent->pEList;
114171 for(i=0; i<pList->nExpr; i++){
114172 if( pList->a[i].zName==0 ){
114173 char *zName = sqlite3DbStrDup(db, pList->a[i].zSpan);
114175 pList->a[i].zName = zName;
114337 ExprList *pEList = pExpr->x.pList; /* Arguments to agg function */
115154 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
115159 KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList, 0, 0);
115176 ExprList *pList = pF->pExpr->x.pList;
115178 sqlite3VdbeAddOp4(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0, 0,
115200 ExprList *pList = pF->pExpr->x.pList;
115202 if( pList ){
115203 nArg = pList->nExpr;
115205 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
115220 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
115221 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
115761 sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList);
116428 Trigger *pList = 0; /* List of triggers to return */
116442 pTrig->pNext = (pList ? pList : pTab->pTrigger);
116443 pList = pTrig;
116448 return (pList ? pList : pTab->pTrigger);
117003 Trigger *pList = 0;
117007 pList = sqlite3TriggerList(pParse, pTab);
117009 assert( pList==0 || IsVirtual(pTab)==0 );
117010 for(p=pList; p; p=p->pNext){
117018 return (mask ? pList : 0);
122385 ExprList *pList; /* List of operands to the LIKE operator */
122400 pList = pExpr->x.pList;
122401 pLeft = pList->a[1].pExpr;
122412 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
122489 ExprList *pList;
122496 pList = pExpr->x.pList;
122497 if( pList==0 || pList->nExpr!=2 ){
122500 pCol = pList->a[1].pExpr;
122906 ExprList *pList = 0; /* The RHS of the IN operator */
122916 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
122926 pNew->x.pList = pList;
122933 sqlite3ExprListDelete(db, pList);
123104 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
123189 ExprList *pList = pExpr->x.pList;
123192 assert( pList!=0 );
123193 assert( pList->nExpr==2 );
123199 sqlite3ExprDup(db, pList->a[i].pExpr, 0), 0);
123247 pLeft = pExpr->x.pList->a[1].pExpr;
123318 pRight = pExpr->x.pList->a[0].pExpr;
123319 pLeft = pExpr->x.pList->a[1].pExpr;
123476 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
123480 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
123483 if( pList ){
123484 for(i=0; i<pList->nExpr; i++){
123485 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
123913 ** This function searches pList for an entry that matches the iCol-th column
123916 ** If such an expression is found, its index in pList->a[] is returned. If
123921 ExprList *pList, /* Expression list to search */
123929 for(i=0; i<pList->nExpr; i++){
123930 Expr *p = sqlite3ExprSkipCollate(pList->a[i].pExpr);
123935 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pList->a[i].pExpr);
125147 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
125159 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
125161 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
125823 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
125825 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
125907 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
131167 ExprList *pList;
131168 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr);
131169 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr);
131170 yymsp[-2].minor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy318.eOperator);
131178 ExprList *pList;
131179 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr);
131180 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr);
131181 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr);
131182 yymsp[-4].minor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy318.eOperator);
131222 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr);
131223 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr);
131226 yymsp[-4].minor.yy342.pExpr->x.pList = pList;
131228 sqlite3ExprListDelete(pParse->db, pList);
131277 yymsp[-4].minor.yy342.pExpr->x.pList = yymsp[-1].minor.yy442;
131348 yymsp[-4].minor.yy342.pExpr->x.pList = yymsp[-1].minor.yy122 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[-1].minor.yy122) : yymsp[-2].minor.yy442;
138464 sqlite3_int64 iDocid; /* Current docid (if pList!=0) */
138465 int bFreeList; /* True if pList should be sqlite3_free()d */
138466 char *pList; /* Pointer to position list following iDocid */
141041 ** Argument pList points to a position list nList bytes in size. This
141045 ** of the entries from pList at position 0, and terminated by an 0x00 byte.
141050 char *pList, /* Position list (no 0x00 term) */
141051 int nList, /* Size of pList in bytes */
141056 char *p = pList;
141057 char *pEnd = &pList[nList];
142449 ** Arguments pList/nList contain the doclist for token iToken of phrase p.
142452 ** This function assumes that pList points to a buffer allocated using
142460 Fts3Phrase *p, /* Phrase to merge pList/nList into */
142461 int iToken, /* Token pList/nList corresponds to */
142462 char *pList, /* Pointer to doclist */
142463 int nList /* Number of bytes in pList */
142468 if( pList==0 ){
142475 p->doclist.aAll = pList;
142480 sqlite3_free(pList);
142493 pRight = pList;
142499 pLeft = pList;
142553 ** means that the phrase does not appear in the current row, doclist.pList
142571 char *pList;
142573 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
142576 if( pList==0 ){
142578 pPhrase->doclist.pList = 0;
142583 aPoslist = pList;
142587 char *aOut = pList;
142594 aPoslist = pList;
142598 pPhrase->doclist.pList = 0;
142610 pPhrase->doclist.pList = aPoslist;
142622 p2 = pPhrase->doclist.pList;
142625 p1 = pPhrase->doclist.pList;
142636 pPhrase->doclist.pList = aOut;
142639 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
142642 pPhrase->doclist.pList = 0;
142845 pDL->pList = pIter;
142847 pDL->nList = (int)(pIter - pDL->pList);
142870 char *pList;
142896 p->pList = pPhrase->doclist.pList;
142906 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
142908 if( p->pList==0 ) *pbEof = 1;
142926 ** the Fts3Doclist.pList and nList fields.
142951 &pDL->iDocid, &pDL->pList, &pDL->nList
142953 if( pDL->pList==0 ) bEof = 1;
142997 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
143001 char *pL = a[i].pList;
143012 pDL->pList = aDoclist;
143050 pDL->pList = pDL->pNextDocid;
143340 char *pList = 0;
143341 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
143342 assert( rc==SQLITE_OK || pList==0 );
143345 pTab, pTC->pPhrase, pTC->iToken,pList,nList
143427 sqlite3_free(pPhrase->doclist.pList);
143429 pPhrase->doclist.pList = 0;
143470 assert( pPhrase->doclist.pList );
143472 p2 = pOut = pPhrase->doclist.pList;
143477 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
143478 assert( pPhrase->doclist.pList[nNew]=='\0' );
143480 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
143482 *paPoslist = pPhrase->doclist.pList;
143506 ** FTs3Expr.pPhrase->doclist.nList (length of pList in bytes)
143507 ** FTs3Expr.pPhrase->doclist.pList (pointer to position list)
143578 memset(pDl->pList, 0, pDl->nList);
143585 memset(pDl->pList, 0, pDl->nList);
143662 ** (Fts3Expr->pPhrase.doclist.pList/nList) for each phrase in the expression.
143716 char *aPoslist = p->pPhrase->doclist.pList;
143725 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
143830 bHit = (pPhrase->doclist.pList!=0);
143979 ** found in Fts3Expr.pPhrase->doclist.pList for each of the phrase
143985 if( pPhrase && pPhrase->doclist.pList ){
143987 char *p = pPhrase->doclist.pList;
144205 pIter = pPhrase->doclist.pList;
148603 PendingList *pList; /* Doclist is assembled here */
149225 static void fts3PendingListDelete(PendingList *pList){
149226 sqlite3_free(pList);
149240 PendingList *pList;
149243 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
149244 if( pList ){
149245 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
149247 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
149248 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
149253 sqlite3_free(pList);
149258 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
149386 PendingList *pList = (PendingList *)fts3HashData(pElem);
149387 fts3PendingListDelete(pList);
149816 PendingList *pList = (PendingList *)fts3HashData(pElem);
149817 int nCopy = pList->nData+1;
149822 memcpy(aCopy, pList->aData, nCopy);
151069 char *pList = *ppList;
151071 char *pEnd = &pList[nList];
151073 char *p = pList;
151081 nList = (int)(p - pList);
151085 nList -= (int)(p - pList);
151086 pList = p;
151090 p = &pList[1];
151094 if( bZero && &pList[nList]!=pEnd ){
151095 memset(&pList[nList], 0, pEnd - &pList[nList]);
151097 *ppList = pList;
151110 char *pList,
151121 memcpy(pMsr->aBuffer, pList, nList);
151152 char *pList;
151157 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
151171 rc = fts3MsrBufferData(pMsr, pList, nList+1);
151174 pList = pMsr->aBuffer;
151178 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
151182 *paPoslist = pList;
151410 char *pList = 0;
151414 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
151425 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
151456 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
151465 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
153813 fts3PendingListDelete(pDef->pList);
153814 pDef->pList = 0;
153827 fts3PendingListDelete(pDef->pList);
153875 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
153885 if( pDef->pList ){
153886 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
153906 if( p->pList==0 ){
153910 pRet = (char *)sqlite3_malloc(p->pList->nData);
153913 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
153914 *pnData = p->pList->nData - nSkip;
153917 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
154236 char *pList; /* Pointer to start of phrase position list */
154643 pPhrase->pList = pCsr;
154652 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
155029 char *pIter = pPhrase->doclist.pList;
155666 char *pList; /* Position-list */
155667 int iPos; /* Position just read from pList */
155686 char *pList; /* Pointer to position list for phrase */
155691 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
155693 if( pList ){
155694 fts3GetDeltaPosition(&pList, &iPos);
155701 pT->pList = pList;
155795 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
155806 if( 0==(0xFE&*pTerm->pList) ){
155807 pTerm->pList = 0;
155809 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
162650 sqlite3_stmt *pList = 0;
162655 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
162661 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
162662 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
162682 rbuFinalize(p, pList);
176282 Fts5HashEntry *pList;
176306 pList = 0;
176308 pList = fts5HashEntryMerge(pList, ap[i]);
176313 *ppSorted = pList;
178296 const u8 *pList = 0;
178300 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
178301 if( pList==0 ) goto next_none_eof;
178302 pIter->pLeaf->p = (u8*)pList;
178307 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
178370 const u8 *pList = 0;
178376 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
178378 if( pList==0 ){
178382 pIter->pLeaf->p = (u8*)pList;
178388 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
178812 const u8 *pList = 0;
178822 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
178826 sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList);
178831 if( pList ){
178836 pLeaf->p = (u8*)pList;