Home | History | Annotate | Download | only in dist

Lines Matching refs:pList

12576 ** Expr.x.pList is a list of arguments if the expression is an SQL function,
12580 ** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
12617 ** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
12637 ExprList *pList; /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */
12678 #define EP_xIsSelect 0x000800 /* x.pSelect is valid (otherwise x.pList is) */
23495 pFarg = pExpr->x.pList;
23525 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
23539 ** Y is stored in pExpr->pList->a[0].pExpr.
23540 ** Z is stored in pExpr->pList->a[1].pExpr.
23544 Expr *pY = pExpr->x.pList->a[0].pExpr;
23545 Expr *pZ = pExpr->x.pList->a[1].pExpr;
23567 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
23604 const ExprList *pList,
23611 if( pList==0 ){
23615 for(i=0; i<pList->nExpr; i++){
23616 int j = pList->a[i].u.x.iOrderByCol;
23621 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, i<pList->nExpr-1);
42736 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
42741 assert( pList!=0 );
42742 p = pList;
42743 pList = p->pRight;
42745 for(iDepth=1; pList; iDepth++){
42747 p = pList;
42748 pList = p->pRight;
42750 p->pRight = rowSetNDeepTree(&pList, iDepth);
46052 PgHdr *pList; /* List of dirty pages to revert */
46063 pList = sqlite3PcacheDirtyList(pPager->pPCache);
46064 while( pList && rc==SQLITE_OK ){
46065 PgHdr *pNext = pList->pDirty;
46066 rc = pagerUndoCallback((void *)pPager, pList->pgno);
46067 pList = pNext;
46075 ** the contents of the list of pages headed by pList (connected by pDirty),
46084 PgHdr *pList, /* List of frames to log */
46089 int nList; /* Number of pages in pList */
46093 assert( pList );
46096 for(p=pList; p && p->pDirty; p=p->pDirty){
46101 assert( pList->pDirty==0 || isCommit );
46107 PgHdr **ppNext = &pList;
46109 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
46115 assert( pList );
46121 if( pList->pgno==1 ) pager_write_changecounter(pList);
46123 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
46126 for(p=pList; p; p=p->pDirty){
46132 pList = sqlite3PcacheDirtyList(pPager->pPCache);
46133 for(p=pList; p; p=p->pDirty){
47258 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
47281 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
47288 while( rc==SQLITE_OK && pList ){
47289 Pgno pgno = pList->pgno;
47299 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
47303 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
47304 if( pList->pgno==1 ) pager_write_changecounter(pList);
47307 CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM, pData);
47325 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
47328 PAGERID(pPager), pgno, pager_pagehash(pList)));
47334 pager_set_pagehash(pList);
47335 pList = pList->pDirty;
49174 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
49176 if( pList==0 ){
49180 pList = pPageOne;
49181 pList->pDirty = 0;
49184 if( ALWAYS(pList) ){
49185 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
53110 PgHdr *pList, /* List of dirty pages to write */
53117 PgHdr *p; /* Iterator to run through pList with. */
53124 assert( pList );
53132 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
53200 for(p=pList; p; p=p->pDirty){
53259 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
56924 BtShared *pList;
56935 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
56936 while( ALWAYS(pList) && pList->pNext!=pBt ){
56937 pList=pList->pNext;
56939 if( ALWAYS(pList) ){
56940 pList->pNext = pBt->pNext;
66167 ExprList *pList = 0; /* Function arguments */
66172 pList = p->x.pList;
66173 if( pList ) nVal = pList->nExpr;
66183 if( pList ){
66190 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
80283 SorterRecord *pList; /* Linked list of records */
80284 u8 *aMemory; /* If non-NULL, bulk memory to hold pList */
80285 int szPMA; /* Size of pList as PMA in bytes */
81142 vdbeSorterRecordFree(0, pTask->list.pList);
81333 vdbeSorterRecordFree(0, pSorter->list.pList);
81335 pSorter->list.pList = 0;
81477 ** Sort the linked list of records headed at pTask->pList. Return
81481 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
81490 p = pList->pList;
81500 if( pList->aMemory ){
81501 if( (u8*)p==pList->aMemory ){
81504 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
81505 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
81524 pList->pList = p;
81618 ** Write the current contents of in-memory linked-list pList to a level-0
81631 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
81639 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
81644 assert( pList->szPMA>0 );
81656 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
81661 rc = vdbeSorterSort(pTask, pList);
81671 vdbePmaWriteVarint(&writer, pList->szPMA);
81672 for(p=pList->pList; p; p=pNext){
81676 if( pList->aMemory==0 ) sqlite3_free(p);
81678 pList->pList = p;
81683 assert( rc!=SQLITE_OK || pList->pList==0 );
81821 assert( pTask->list.pList==0 );
81826 pSorter->list.pList = 0;
81902 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
81923 pSorter->list.pList = (SorterRecord*)(
81924 aNew + ((u8*)pSorter->list.pList - pSorter->list.aMemory)
81932 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
81938 pNew->u.pNext = pSorter->list.pList;
81943 pSorter->list.pList = pNew;
82660 if( pSorter->list.pList ){
82673 assert( pSorter->list.pList );
82717 SorterRecord *pFree = pSorter->list.pList;
82718 pSorter->list.pList = pFree->u.pNext;
82721 *pbEof = !pSorter->list.pList;
82749 *pnKey = pSorter->list.pList->nVal;
82750 pKey = SRVAL(pSorter->list.pList);
83393 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
83900 assert( pExpr->x.pList==0 );
84148 ExprList *pList = pExpr->x.pList; /* The argument list */
84149 int n = pList ? pList->nExpr : 0; /* Number of arguments */
84176 pExpr->iTable = exprProbability(pList->a[1].pExpr);
84234 sqlite3WalkExprList(pWalker, pList);
84926 ExprList *pList /* The expression list to be analyzed. */
84929 assert( pList!=0 );
84930 for(i=0; i<pList->nExpr; i++){
84931 if( sqlite3ResolveExprNames(pNC, pList->a[i].pExpr) ) return WRC_Abort;
84980 ExprList *pList /* Expression list to resolve. May be NUL. */
84996 if( pList ) sqlite3ResolveExprListNames(&sNC, pList);
85101 assert( pExpr->x.pList->nExpr>0 );
85103 pExpr = pExpr->x.pList->a[0].pExpr;
85155 assert( p->x.pList==0 || p->pRight==0 );
85159 if( p->x.pList!=0 && ALWAYS(!ExprHasProperty(p, EP_xIsSelect)) ){
85161 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
85162 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
85163 pNext = p->x.pList->a[i].pExpr;
85370 ** argument. An expression with no children, Expr.pList or
85375 ** Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags,
85384 }else if( p->x.pList ){
85385 heightOfExprList(p->x.pList, &nHeight);
85386 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
85396 ** Also propagate all EP_Propagate flags from the Expr.x.pList into
85416 ** Propagate all EP_Propagate flags from the Expr.x.pList into
85420 if( p && p->x.pList && !ExprHasProperty(p, EP_xIsSelect) ){
85421 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
85619 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
85625 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
85628 pNew->x.pList = pList;
85727 assert( p->x.pList==0 || p->pRight==0 );
85734 sqlite3ExprListDelete(db, p->x.pList);
85799 if( p->pLeft || p->x.pList ){
85833 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
85907 /* Fill in the pNew->x.pSelect or pNew->x.pList member. */
85911 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, isReduced);
86119 ** Add a new element to the end of an expression list. If pList is
86128 ExprList *pList, /* List to which to append. Might be NULL */
86132 if( pList==0 ){
86133 pList = sqlite3DbMallocZero(db, sizeof(ExprList) );
86134 if( pList==0 ){
86137 pList->a = sqlite3DbMallocRaw(db, sizeof(pList->a[0]));
86138 if( pList->a==0 ) goto no_mem;
86139 }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
86141 assert( pList->nExpr>0 );
86142 a = sqlite3DbRealloc(db, pList->a, pList->nExpr*2*sizeof(pList->a[0]));
86146 pList->a = a;
86148 assert( pList->a!=0 );
86150 struct ExprList_item *pItem = &pList->a[pList->nExpr++];
86154 return pList;
86159 sqlite3ExprListDelete(db, pList
86181 ** pList might be NULL following an OOM error. But pName should never be
86187 ExprList *pList, /* List to which to add the span. */
86191 assert( pList!=0 || pParse->db->mallocFailed!=0 );
86192 if( pList ){
86194 assert( pList->nExpr>0 );
86195 pItem = &pList->a[pList->nExpr-1];
86206 ** pList might be NULL following an OOM error. But pSpan should never be
86212 ExprList *pList, /* List to which to add the span. */
86216 assert( pList!=0 || db->mallocFailed!=0 );
86217 if( pList ){
86218 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
86219 assert( pList->nExpr>0 );
86247 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
86250 if( pList==0 ) return;
86251 assert( pList->a!=0 || pList->nExpr==0 );
86252 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
86257 sqlite3DbFree(db, pList->a);
86258 sqlite3DbFree(db, pList);
86265 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
86268 if( pList ){
86269 for(i=0; i<pList->nExpr; i++){
86270 Expr *pExpr = pList->a[i].pExpr;
86790 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
86938 }else if( ALWAYS(pExpr->x.pList!=0) ){
86947 ExprList *pList = pExpr->x.pList;
86963 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
87116 ExprList *pList = pExpr->x.pList;
87127 for(ii=0; ii<pList->nExpr; ii++){
87128 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, &regToFree);
87129 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
87132 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
87135 VdbeCoverageIf(v, ii<pList->nExpr-1);
87136 VdbeCoverageIf(v, ii==pList->nExpr-1);
87856 pFarg = pExpr->x.pList;
88001 ** Y is stored in pExpr->pList->a[0].pExpr.
88002 ** Z is stored in pExpr->pList->a[1].pExpr.
88006 struct ExprList_item *pLItem = pExpr->x.pList->a;
88104 ** Y is in the last element of pExpr->x.pList if pExpr->x.pList->nExpr is
88105 ** odd. The Y is also optional. If the number of elements in x.pList
88107 ** Ei is in pExpr->pList->a[i*2] and Ri is pExpr->pList->a[i*2+1].
88125 assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList );
88126 assert(pExpr->x.pList->nExpr > 0);
88127 pEList = pExpr->x.pList;
88348 ExprList *pList, /* The expression list to be coded */
88357 assert( pList!=0 );
88360 n = pList->nExpr;
88362 for(pItem=pList->a, i=0; i<n; i++, pItem++){
88364 if( (flags & SQLITE_ECEL_REF)!=0 && (j = pList->a[i].u.x.iOrderByCol)>0 ){
88419 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
88422 compRight.pRight = pExpr->x.pList->a[1].pExpr;
88798 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
88930 sqlite3WalkExprList(&w, pExpr->x.pList);
89074 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
89127 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
89130 if( pList ){
89131 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
92394 SrcList *pList /* The Source list to check and modify */
92400 if( NEVER(pList==0) ) return 0;
92402 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
92472 if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1;
92483 ExprList *pList /* The expression to be fixed to one database */
92487 if( pList==0 ) return 0;
92488 for(i=0, pItem=pList->a; i<pList->nExpr; i++, pItem++){
94081 ** Designate the PRIMARY KEY for the table. pList is a list of names
94082 ** of columns that form the primary key. If pList is NULL, then the
94100 ExprList *pList, /* List of field names to be indexed */
94116 if( pList==0 ){
94122 nTerm = pList->nExpr;
94124 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
94147 if( pList ) pParse->iPkSortOrder = pList->a[0].sortOrder;
94155 p = sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
94160 pList = 0;
94164 sqlite3ExprListDelete(pParse->db, pList);
94515 ExprList *pList;
94519 pList = sqlite3ExprListAppend(pParse, 0,
94521 if( pList==0 ) return;
94522 pList->a[0].sortOrder = pParse->iPkSortOrder;
94524 pPk = sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0);
95673 ** pList is a list of columns to be indexed. pList will be NULL if this
95686 ExprList *pList, /* A list of columns to be indexed */
95690 int sortOrder, /* Sort order of primary key when pList==NULL */
95705 struct ExprList_item *pListItem; /* For looping over pList */
95855 /* If pList==0, it means this routine was called to make a primary
95859 if( pList==0 ){
95863 pList = sqlite3ExprListAppend(pParse, 0,
95865 if( pList==0 ) goto exit_create_index;
95866 assert( pList->nExpr==1 );
95867 sqlite3ExprListSetSortOrder(pList, sortOrder);
95869 sqlite3ExprListCheckLength(pParse, pList, "index");
95875 for(i=0; i<pList->nExpr; i++){
95876 Expr *pExpr = pList->a[i].pExpr;
95888 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
95903 pIndex->nKeyCol = pList->nExpr;
95928 for(i=0, pListItem=pList->a; i<pList->nExpr; i++, pListItem++){
95944 ExprList *pCopy = sqlite3ExprListDup(db, pList, 0);
96193 sqlite3ExprListDelete(db, pList);
96357 SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3 *db, IdList *pList, Token *pToken){
96359 if( pList==0 ){
96360 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
96361 if( pList==0 ) return 0;
96363 pList->a = sqlite3ArrayAllocate(
96365 pList->a,
96366 sizeof(pList->a[0]),
96367 &pList->nId,
96371 sqlite3IdListDelete(db, pList);
96374 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
96375 return pList;
96381 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
96383 if( pList==0 ) return;
96384 for(i=0; i<pList->nId; i++){
96385 sqlite3DbFree(db, pList->a[i].zName);
96387 sqlite3DbFree(db, pList->a);
96388 sqlite3DbFree(db, pList);
96392 ** Return the index in pList of the identifier named zId. Return -1
96395 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
96397 if( pList==0 ) return -1;
96398 for(i=0; i<pList->nId; i++){
96399 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
96477 ** a new one. If an OOM error does occurs, then the prior value of pList
96507 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
96513 if( pList==0 ){
96514 pList = sqlite3DbMallocZero(db, sizeof(SrcList) );
96515 if( pList==0 ) return 0;
96516 pList->nAlloc = 1;
96518 pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc);
96520 sqlite3SrcListDelete(db, pList);
96523 pItem = &pList->a[pList->nSrc-1];
96534 return pList;
96540 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
96543 assert(pList || pParse->db->mallocFailed );
96544 if( pList ){
96545 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
96558 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
96561 if( pList==0 ) return;
96562 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
96573 sqlite3DbFree(db, pList);
96658 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
96659 if( p && pList ){
96664 pItem->u1.pFuncArg = pList;
96667 sqlite3ExprListDelete(pParse->db, pList);
100248 || !pExpr->x.pList
100249 || pExpr->x.pList->nExpr!=2
101566 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
101641 pList = sqlite3ExprListAppend(pParse, pList, pNew);
101642 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
101684 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
101697 sqlite3ExprListDelete(db, pList);
102281 ExprList *pList = 0; /* List of VALUES() to be inserted */
102309 pList = pSelect->pEList;
102382 assert( pList==0 );
102520 if( pList ){
102521 nColumn = pList->nExpr;
102522 if( sqlite3ResolveExprListNames(&sNC, pList) ){
102625 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
102648 if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId) ){
102654 sqlite3ExprCodeAndCache(pParse, pList->a[j].pExpr, regCols+i+1);
102689 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
102759 sqlite3ExprCode(pParse, pList->a[j].pExpr, iRegStore);
102841 sqlite3ExprListDelete(db, pList);
109024 if( p->op==TK_FUNCTION && p->x.pList ){
109026 for(i=0; i<p->x.pList->nExpr; i++){
109027 setJoinExpr(p->x.pList->a[i].pExpr, iTable);
109113 IdList *pList = pRight->pUsing;
109114 for(j=0; j<pList->nId; j++){
109120 zName = pList->a[j].zName;
109140 ExprList *pList, /* Form the KeyInfo object from this ExprList */
109141 int iStart, /* Begin with this column of pList */
109716 ExprList *pList, /* Form the KeyInfo object from this ExprList */
109717 int iStart, /* Begin with this column of pList */
109726 nExpr = pList->nExpr;
109730 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
111779 substExprList(db, pExpr->x.pList, iTable, pEList);
111786 ExprList *pList, /* List to scan and in which to make substitutes */
111791 if( pList==0 ) return;
111792 for(i=0; i<pList->nExpr; i++){
111793 pList->a[i].pExpr = substExpr(db, pList->a[i].pExpr, iTable, pEList);
111978 ExprList *pList; /* The result set of the outer query */
112301 pList = pParent->pEList;
112302 for(i=0; i<pList->nExpr; i++){
112303 if( pList->a[i].zName==0 ){
112304 char *zName = sqlite3DbStrDup(db, pList->a[i].zSpan);
112306 pList->a[i].zName = zName;
112468 ExprList *pEList = pExpr->x.pList; /* Arguments to agg function */
113266 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
113271 KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList, 0, 0);
113288 ExprList *pList = pF->pExpr->x.pList;
113290 sqlite3VdbeAddOp4(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0, 0,
113312 ExprList *pList = pF->pExpr->x.pList;
113314 if( pList ){
113315 nArg = pList->nExpr;
113317 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
113332 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
113333 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
113855 sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList);
114526 Trigger *pList = 0; /* List of triggers to return */
114540 pTrig->pNext = (pList ? pList : pTab->pTrigger);
114541 pList = pTrig;
114546 return (pList ? pList : pTab->pTrigger);
115121 Trigger *pList = 0;
115125 pList = sqlite3TriggerList(pParse, pTab);
115127 assert( pList==0 || IsVirtual(pTab)==0 );
115128 for(p=pList; p; p=p->pNext){
115136 return (mask ? pList : 0);
120251 ExprList *pList; /* List of operands to the LIKE operator */
120265 pList = pExpr->x.pList;
120266 pLeft = pList->a[1].pExpr;
120277 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
120340 ExprList *pList;
120348 pList = pExpr->x.pList;
120349 if( pList->nExpr!=2 ){
120352 if( pList->a[1].pExpr->op != TK_COLUMN ){
120750 ExprList *pList = 0; /* The RHS of the IN operator */
120760 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
120770 pNew->x.pList = pList;
120777 sqlite3ExprListDelete(db, pList);
120947 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
121032 ExprList *pList = pExpr->x.pList;
121035 assert( pList!=0 );
121036 assert( pList->nExpr==2 );
121042 sqlite3ExprDup(db, pList->a[i].pExpr, 0), 0);
121090 pLeft = pExpr->x.pList->a[1].pExpr;
121161 pRight = pExpr->x.pList->a[0].pExpr;
121162 pLeft = pExpr->x.pList->a[1].pExpr;
121317 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
121321 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
121324 if( pList ){
121325 for(i=0; i<pList->nExpr; i++){
121326 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
121753 ** This function searches pList for an entry that matches the iCol-th column
121756 ** If such an expression is found, its index in pList->a[] is returned. If
121761 ExprList *pList, /* Expression list to search */
121769 for(i=0; i<pList->nExpr; i++){
121770 Expr *p = sqlite3ExprSkipCollate(pList->a[i].pExpr);
121775 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pList->a[i].pExpr);
122980 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
122992 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
122994 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
123645 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
123647 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
123729 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
128880 ExprList *pList;
128881 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy346.pExpr);
128882 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy346.pExpr);
128883 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy96.eOperator);
128892 ExprList *pList;
128893 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr);
128894 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy346.pExpr);
128895 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr);
128896 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy96.eOperator);
128933 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr);
128934 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr);
128937 yygotominor.yy346.pExpr->x.pList = pList;
128939 sqlite3ExprListDelete(pParse->db, pList);
128989 yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy14;
129063 yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy132 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[-1].minor.yy132) : yymsp[-2].minor.yy14;
135901 sqlite3_int64 iDocid; /* Current docid (if pList!=0) */
135902 int bFreeList; /* True if pList should be sqlite3_free()d */
135903 char *pList; /* Pointer to position list following iDocid */
138478 ** Argument pList points to a position list nList bytes in size. This
138482 ** of the entries from pList at position 0, and terminated by an 0x00 byte.
138487 char *pList, /* Position list (no 0x00 term) */
138488 int nList, /* Size of pList in bytes */
138493 char *p = pList;
138494 char *pEnd = &pList[nList];
139898 ** Arguments pList/nList contain the doclist for token iToken of phrase p.
139901 ** This function assumes that pList points to a buffer allocated using
139909 Fts3Phrase *p, /* Phrase to merge pList/nList into */
139910 int iToken, /* Token pList/nList corresponds to */
139911 char *pList, /* Pointer to doclist */
139912 int nList /* Number of bytes in pList */
139917 if( pList==0 ){
139924 p->doclist.aAll = pList;
139929 sqlite3_free(pList);
139942 pRight = pList;
139948 pLeft = pList;
140002 ** means that the phrase does not appear in the current row, doclist.pList
140020 char *pList;
140022 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
140025 if( pList==0 ){
140027 pPhrase->doclist.pList = 0;
140032 aPoslist = pList;
140036 char *aOut = pList;
140043 aPoslist = pList;
140047 pPhrase->doclist.pList = 0;
140059 pPhrase->doclist.pList = aPoslist;
140071 p2 = pPhrase->doclist.pList;
140074 p1 = pPhrase->doclist.pList;
140085 pPhrase->doclist.pList = aOut;
140088 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
140091 pPhrase->doclist.pList = 0;
140294 pDL->pList = pIter;
140296 pDL->nList = (int)(pIter - pDL->pList);
140319 char *pList;
140345 p->pList = pPhrase->doclist.pList;
140355 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
140357 if( p->pList==0 ) *pbEof = 1;
140375 ** the Fts3Doclist.pList and nList fields.
140400 &pDL->iDocid, &pDL->pList, &pDL->nList
140402 if( pDL->pList==0 ) bEof = 1;
140446 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
140450 char *pL = a[i].pList;
140461 pDL->pList = aDoclist;
140499 pDL->pList = pDL->pNextDocid;
140789 char *pList = 0;
140790 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
140791 assert( rc==SQLITE_OK || pList==0 );
140794 pTab, pTC->pPhrase, pTC->iToken,pList,nList
140876 sqlite3_free(pPhrase->doclist.pList);
140878 pPhrase->doclist.pList = 0;
140919 assert( pPhrase->doclist.pList );
140921 p2 = pOut = pPhrase->doclist.pList;
140926 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
140927 assert( pPhrase->doclist.pList[nNew]=='\0' );
140929 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
140931 *paPoslist = pPhrase->doclist.pList;
140955 ** FTs3Expr.pPhrase->doclist.nList (length of pList in bytes)
140956 ** FTs3Expr.pPhrase->doclist.pList (pointer to position list)
141027 memset(pDl->pList, 0, pDl->nList);
141034 memset(pDl->pList, 0, pDl->nList);
141111 ** (Fts3Expr->pPhrase.doclist.pList/nList) for each phrase in the expression.
141165 char *aPoslist = p->pPhrase->doclist.pList;
141174 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
141279 bHit = (pPhrase->doclist.pList!=0);
141428 ** found in Fts3Expr.pPhrase->doclist.pList for each of the phrase
141434 if( pPhrase && pPhrase->doclist.pList ){
141436 char *p = pPhrase->doclist.pList;
141654 pIter = pPhrase->doclist.pList;
146034 PendingList *pList; /* Doclist is assembled here */
146655 static void fts3PendingListDelete(PendingList *pList){
146656 sqlite3_free(pList);
146670 PendingList *pList;
146673 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
146674 if( pList ){
146675 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
146677 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
146678 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
146683 sqlite3_free(pList);
146688 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
146816 PendingList *pList = (PendingList *)fts3HashData(pElem);
146817 fts3PendingListDelete(pList);
147246 PendingList *pList = (PendingList *)fts3HashData(pElem);
147247 int nCopy = pList->nData+1;
147252 memcpy(aCopy, pList->aData, nCopy);
148499 char *pList = *ppList;
148501 char *pEnd = &pList[nList];
148503 char *p = pList;
148511 nList = (int)(p - pList);
148515 nList -= (int)(p - pList);
148516 pList = p;
148520 p = &pList[1];
148524 if( bZero && &pList[nList]!=pEnd ){
148525 memset(&pList[nList], 0, pEnd - &pList[nList]);
148527 *ppList = pList;
148540 char *pList,
148551 memcpy(pMsr->aBuffer, pList, nList);
148582 char *pList;
148587 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
148601 rc = fts3MsrBufferData(pMsr, pList, nList+1);
148604 pList = pMsr->aBuffer;
148608 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
148612 *paPoslist = pList;
148840 char *pList = 0;
148844 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
148855 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
148886 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
148895 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
151242 fts3PendingListDelete(pDef->pList);
151243 pDef->pList = 0;
151256 fts3PendingListDelete(pDef->pList);
151304 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
151314 if( pDef->pList ){
151315 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
151335 if( p->pList==0 ){
151339 pRet = (char *)sqlite3_malloc(p->pList->nData);
151342 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
151343 *pnData = p->pList->nData - nSkip;
151346 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
151665 char *pList; /* Pointer to start of phrase position list */
152072 pPhrase->pList = pCsr;
152081 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
152458 char *pIter = pPhrase->doclist.pList;
153095 char *pList; /* Position-list */
153096 int iPos; /* Position just read from pList */
153115 char *pList; /* Pointer to position list for phrase */
153120 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
153122 if( pList ){
153123 fts3GetDeltaPosition(&pList, &iPos);
153130 pT->pList = pList;
153224 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
153235 if( 0==(0xFE&*pTerm->pList) ){
153236 pTerm->pList = 0;
153238 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
159954 sqlite3_stmt *pList = 0;
159959 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
159964 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
159965 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
159979 rbuFinalize(p, pList);
172405 Fts5HashEntry *pList;
172429 pList = 0;
172431 pList = fts5HashEntryMerge(pList, ap[i]);
172436 *ppSorted = pList;
174269 const u8 *pList = 0;
174274 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
174276 if( pList==0 ){
174280 pIter->pLeaf->p = (u8*)pList;
174285 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
174680 const u8 *pList = 0;
174690 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
174694 sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList);
174699 if( pList ){
174704 pLeaf->p = (u8*)pList;