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);
42718 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
42723 assert( pList!=0 );
42724 p = pList;
42725 pList = p->pRight;
42727 for(iDepth=1; pList; iDepth++){
42729 p = pList;
42730 pList = p->pRight;
42732 p->pRight = rowSetNDeepTree(&pList, iDepth);
46034 PgHdr *pList; /* List of dirty pages to revert */
46045 pList = sqlite3PcacheDirtyList(pPager->pPCache);
46046 while( pList && rc==SQLITE_OK ){
46047 PgHdr *pNext = pList->pDirty;
46048 rc = pagerUndoCallback((void *)pPager, pList->pgno);
46049 pList = pNext;
46057 ** the contents of the list of pages headed by pList (connected by pDirty),
46066 PgHdr *pList, /* List of frames to log */
46071 int nList; /* Number of pages in pList */
46075 assert( pList );
46078 for(p=pList; p && p->pDirty; p=p->pDirty){
46083 assert( pList->pDirty==0 || isCommit );
46089 PgHdr **ppNext = &pList;
46091 for(p=pList
46097 assert( pList );
46103 if( pList->pgno==1 ) pager_write_changecounter(pList);
46105 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
46108 for(p=pList; p; p=p->pDirty){
46114 pList = sqlite3PcacheDirtyList(pPager->pPCache);
46115 for(p=pList; p; p=p->pDirty){
47240 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
47263 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
47270 while( rc==SQLITE_OK && pList ){
47271 Pgno pgno = pList->pgno;
47281 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
47285 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
47286 if( pList->pgno==1 ) pager_write_changecounter(pList);
47289 CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM, pData);
47307 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
47310 PAGERID(pPager), pgno, pager_pagehash(pList)));
47316 pager_set_pagehash(pList);
47317 pList = pList->pDirty;
49156 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
49158 if( pList==0 ){
49162 pList = pPageOne;
49163 pList->pDirty = 0;
49166 if( ALWAYS(pList) ){
49167 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
53092 PgHdr *pList, /* List of dirty pages to write */
53099 PgHdr *p; /* Iterator to run through pList with. */
53106 assert( pList );
53114 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
53182 for(p=pList; p; p=p->pDirty){
53241 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
56906 BtShared *pList;
56917 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
56918 while( ALWAYS(pList) && pList->pNext!=pBt ){
56919 pList=pList->pNext;
56921 if( ALWAYS(pList) ){
56922 pList->pNext = pBt->pNext;
66149 ExprList *pList = 0; /* Function arguments */
66154 pList = p->x.pList;
66155 if( pList ) nVal = pList->nExpr;
66165 if( pList ){
66172 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
80265 SorterRecord *pList; /* Linked list of records */
80266 u8 *aMemory; /* If non-NULL, bulk memory to hold pList */
80267 int szPMA; /* Size of pList as PMA in bytes */
81124 vdbeSorterRecordFree(0, pTask->list.pList);
81315 vdbeSorterRecordFree(0, pSorter->list.pList);
81317 pSorter->list.pList = 0;
81459 ** Sort the linked list of records headed at pTask->pList. Return
81463 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
81472 p = pList->pList;
81482 if( pList->aMemory ){
81483 if( (u8*)p==pList->aMemory ){
81486 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
81487 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
81506 pList->pList = p;
81600 ** Write the current contents of in-memory linked-list pList to a level-0
81613 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
81621 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
81626 assert( pList->szPMA>0 );
81638 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
81643 rc = vdbeSorterSort(pTask, pList);
81653 vdbePmaWriteVarint(&writer, pList->szPMA);
81654 for(p=pList->pList; p; p=pNext){
81658 if( pList->aMemory==0 ) sqlite3_free(p);
81660 pList->pList = p;
81665 assert( rc!=SQLITE_OK || pList->pList==0 );
81803 assert( pTask->list.pList==0 );
81808 pSorter->list.pList = 0;
81884 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
81905 pSorter->list.pList = (SorterRecord*)(
81906 aNew + ((u8*)pSorter->list.pList - pSorter->list.aMemory)
81914 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
81920 pNew->u.pNext = pSorter->list.pList;
81925 pSorter->list.pList = pNew;
82642 if( pSorter->list.pList ){
82655 assert( pSorter->list.pList );
82699 SorterRecord *pFree = pSorter->list.pList;
82700 pSorter->list.pList = pFree->u.pNext;
82703 *pbEof = !pSorter->list.pList;
82731 *pnKey = pSorter->list.pList->nVal;
82732 pKey = SRVAL(pSorter->list.pList);
83375 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
83882 assert( pExpr->x.pList==0 );
84130 ExprList *pList = pExpr->x.pList; /* The argument list */
84131 int n = pList ? pList->nExpr : 0; /* Number of arguments */
84158 pExpr->iTable = exprProbability(pList->a[1].pExpr);
84216 sqlite3WalkExprList(pWalker, pList);
84908 ExprList *pList /* The expression list to be analyzed. */
84911 assert( pList!=0 );
84912 for(i=0; i<pList->nExpr; i++){
84913 if( sqlite3ResolveExprNames(pNC, pList->a[i].pExpr) ) return WRC_Abort;
84962 ExprList *pList /* Expression list to resolve. May be NUL. */
84978 if( pList ) sqlite3ResolveExprListNames(&sNC, pList);
85083 assert( pExpr->x.pList->nExpr>0 );
85085 pExpr = pExpr->x.pList->a[0].pExpr;
85137 assert( p->x.pList==0 || p->pRight==0 );
85141 if( p->x.pList!=0 && ALWAYS(!ExprHasProperty(p, EP_xIsSelect)) ){
85143 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
85144 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
85145 pNext = p->x.pList->a[i].pExpr;
85352 ** argument. An expression with no children, Expr.pList or
85357 ** Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags,
85366 }else if( p->x.pList ){
85367 heightOfExprList(p->x.pList, &nHeight);
85368 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
85378 ** Also propagate all EP_Propagate flags from the Expr.x.pList into
85398 ** Propagate all EP_Propagate flags from the Expr.x.pList into
85402 if( p && p->x.pList && !ExprHasProperty(p, EP_xIsSelect) ){
85403 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
85601 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
85607 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
85610 pNew->x.pList = pList;
85709 assert( p->x.pList==0 || p->pRight==0 );
85716 sqlite3ExprListDelete(db, p->x.pList);
85781 if( p->pLeft || p->x.pList ){
85815 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
85889 /* Fill in the pNew->x.pSelect or pNew->x.pList member. */
85893 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, isReduced);
86101 ** Add a new element to the end of an expression list. If pList is
86110 ExprList *pList, /* List to which to append. Might be NULL */
86114 if( pList==0 ){
86115 pList = sqlite3DbMallocZero(db, sizeof(ExprList) );
86116 if( pList==0 ){
86119 pList->a = sqlite3DbMallocRaw(db, sizeof(pList->a[0]));
86120 if( pList->a==0 ) goto no_mem;
86121 }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
86123 assert( pList->nExpr>0 );
86124 a = sqlite3DbRealloc(db, pList->a, pList->nExpr*2*sizeof(pList->a[0]));
86128 pList->a = a;
86130 assert( pList->a!=0 );
86132 struct ExprList_item *pItem = &pList->a[pList->nExpr++];
86136 return pList;
86141 sqlite3ExprListDelete(db, pList);
86163 ** pList might be NULL following an OOM error. But pName should never be
86169 ExprList *pList, /* List to which to add the span. */
86173 assert( pList!=0 || pParse->db->mallocFailed!=0 );
86174 if( pList ){
86176 assert( pList->nExpr>0 );
86177 pItem = &pList->a[pList->nExpr-1];
86188 ** pList might be NULL following an OOM error. But pSpan should never be
86194 ExprList *pList, /* List to which to add the span. */
86198 assert( pList!=0 || db->mallocFailed!=0 );
86199 if( pList ){
86200 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
86201 assert( pList->nExpr>0 );
86229 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
86232 if( pList==0 ) return;
86233 assert( pList->a!=0 || pList->nExpr==0 );
86234 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
86239 sqlite3DbFree(db, pList->a);
86240 sqlite3DbFree(db, pList);
86247 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
86250 if( pList ){
86251 for(i=0; i<pList->nExpr; i++){
86252 Expr *pExpr = pList->a[i].pExpr;
86772 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
86920 }else if( ALWAYS(pExpr->x.pList!=0) ){
86929 ExprList *pList = pExpr->x.pList;
86945 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
87098 ExprList *pList = pExpr->x.pList;
87109 for(ii=0; ii<pList->nExpr; ii++){
87110 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree);
87111 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
87114 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
87117 VdbeCoverageIf(v, ii<pList->nExpr-1);
87118 VdbeCoverageIf(v, ii==pList->nExpr-1);
87838 pFarg = pExpr->x.pList;
87983 ** Y is stored in pExpr->pList->a[0].pExpr.
87984 pList->a[1].pExpr.
87988 struct ExprList_item *pLItem = pExpr->x.pList->a;
88086 ** Y is in the last element of pExpr->x.pList if pExpr->x.pList->nExpr is
88087 ** odd. The Y is also optional. If the number of elements in x.pList
88089 ** Ei is in pExpr->pList->a[i*2] and Ri is pExpr->pList->a[i*2+1].
88107 assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList );
88108 assert(pExpr->x.pList->nExpr > 0);
88109 pEList = pExpr->x.pList;
88330 ExprList *pList, /* The expression list to be coded */
88339 assert( pList!=0 );
88342 n = pList->nExpr;
88344 for(pItem=pList->a, i=0; i<n; i++, pItem++){
88346 if( (flags & SQLITE_ECEL_REF)!=0 && (j = pList->a[i].u.x.iOrderByCol)>0 ){
88401 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
88404 compRight.pRight = pExpr->x.pList->a[1].pExpr;
88780 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
88912 sqlite3WalkExprList(&w, pExpr->x.pList);
89056 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
89109 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
89112 if( pList ){
89113 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
92376 SrcList *pList /* The Source list to check and modify */
92382 if( NEVER(pList==0) ) return 0;
92384 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
92454 if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1;
92465 ExprList *pList /* The expression to be fixed to one database */
92469 if( pList==0 ) return 0;
92470 for(i=0, pItem=pList->a; i<pList->nExpr; i++, pItem++){
94063 ** Designate the PRIMARY KEY for the table. pList is a list of names
94064 ** of columns that form the primary key. If pList is NULL, then the
94082 ExprList *pList, /* List of field names to be indexed */
94098 if( pList==0 ){
94104 nTerm = pList->nExpr;
94106 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
94129 if( pList ) pParse->iPkSortOrder = pList->a[0].sortOrder;
94137 p = sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
94142 pList = 0;
94146 sqlite3ExprListDelete(pParse->db, pList);
94497 ExprList *pList;
94501 pList = sqlite3ExprListAppend(pParse, 0,
94503 if( pList==0 ) return;
94504 pList->a[0].sortOrder = pParse->iPkSortOrder;
94506 pPk = sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0);
95655 ** pList is a list of columns to be indexed. pList will be NULL if this
95668 ExprList *pList, /* A list of columns to be indexed */
95672 int sortOrder, /* Sort order of primary key when pList==NULL */
95687 struct ExprList_item *pListItem; /* For looping over pList */
95837 /* If pList==0, it means this routine was called to make a primary
95841 if( pList==0 ){
95845 pList = sqlite3ExprListAppend(pParse, 0,
95847 if( pList==0 ) goto exit_create_index;
95848 assert( pList->nExpr==1 );
95849 sqlite3ExprListSetSortOrder(pList, sortOrder);
95851 sqlite3ExprListCheckLength(pParse, pList, "index");
95857 for(i=0; i<pList->nExpr; i++){
95858 Expr *pExpr = pList->a[i].pExpr;
95870 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
95885 pIndex->nKeyCol = pList->nExpr;
95910 for(i=0, pListItem=pList->a; i<pList->nExpr; i++, pListItem++){
95926 ExprList *pCopy = sqlite3ExprListDup(db, pList, 0);
96175 sqlite3ExprListDelete(db, pList);
96339 SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3 *db, IdList *pList, Token *pToken){
96341 if( pList==0 ){
96342 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
96343 if( pList==0 ) return 0;
96345 pList->a = sqlite3ArrayAllocate(
96347 pList->a,
96348 sizeof(pList->a[0]),
96349 &pList->nId,
96353 sqlite3IdListDelete(db, pList);
96356 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
96357 return pList;
96363 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
96365 if( pList==0 ) return;
96366 for(i=0; i<pList->nId; i++){
96367 sqlite3DbFree(db, pList->a[i].zName);
96369 sqlite3DbFree(db, pList->a);
96370 sqlite3DbFree(db, pList);
96374 ** Return the index in pList of the identifier named zId. Return -1
96377 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
96379 if( pList==0 ) return -1;
96380 for(i=0; i<pList->nId; i++){
96381 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
96459 ** a new one. If an OOM error does occurs, then the prior value of pList
96489 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
96495 if( pList==0 ){
96496 pList = sqlite3DbMallocZero(db, sizeof(SrcList) );
96497 if( pList==0 ) return 0;
96498 pList->nAlloc = 1;
96500 pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc);
96502 sqlite3SrcListDelete(db, pList);
96505 pItem = &pList->a[pList->nSrc-1];
96516 return pList;
96522 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
96525 assert(pList || pParse->db->mallocFailed );
96526 if( pList ){
96527 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
96540 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
96543 if( pList==0 ) return;
96544 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
96555 sqlite3DbFree(db, pList);
96640 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
96641 if( p && pList ){
96646 pItem->u1.pFuncArg = pList;
96649 sqlite3ExprListDelete(pParse->db, pList);
100230 || !pExpr->x.pList
100231 || pExpr->x.pList->nExpr!=2
101548 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
101623 pList = sqlite3ExprListAppend(pParse, pList, pNew);
101624 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
101666 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
101679 sqlite3ExprListDelete(db, pList);
102263 ExprList *pList = 0; /* List of VALUES() to be inserted */
102291 pList = pSelect->pEList;
102364 assert( pList==0 );
102502 if( pList ){
102503 nColumn = pList->nExpr;
102504 if( sqlite3ResolveExprListNames(&sNC, pList) ){
102607 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
102630 if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId) ){
102636 sqlite3ExprCodeAndCache(pParse, pList->a[j].pExpr, regCols+i+1);
102671 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
102741 sqlite3ExprCode(pParse, pList->a[j].pExpr, iRegStore);
102823 sqlite3ExprListDelete(db, pList);
109006 if( p->op==TK_FUNCTION && p->x.pList ){
109008 for(i=0; i<p->x.pList->nExpr; i++){
109009 setJoinExpr(p->x.pList->a[i].pExpr, iTable);
109095 IdList *pList = pRight->pUsing;
109096 for(j=0; j<pList->nId; j++){
109102 zName = pList->a[j].zName;
109122 ExprList *pList, /* Form the KeyInfo object from this ExprList */
109123 int iStart, /* Begin with this column of pList */
109698 ExprList *pList, /* Form the KeyInfo object from this ExprList */
109699 int iStart, /* Begin with this column of pList */
109708 nExpr = pList->nExpr;
109712 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
111761 substExprList(db, pExpr->x.pList, iTable, pEList);
111768 ExprList *pList, /* List to scan and in which to make substitutes */
111773 if( pList==0 ) return;
111774 for(i=0; i<pList->nExpr; i++){
111775 pList->a[i].pExpr = substExpr(db, pList->a[i].pExpr, iTable, pEList);
111960 ExprList *pList; /* The result set of the outer query */
112283 pList = pParent->pEList;
112284 for(i=0; i<pList->nExpr; i++){
112285 if( pList->a[i].zName==0 ){
112286 char *zName = sqlite3DbStrDup(db, pList->a[i].zSpan);
112288 pList->a[i].zName = zName;
112450 ExprList *pEList = pExpr->x.pList; /* Arguments to agg function */
113248 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
113253 KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList, 0, 0);
113270 ExprList *pList = pF->pExpr->x.pList;
113272 sqlite3VdbeAddOp4(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0, 0,
113294 ExprList *pList = pF->pExpr->x.pList;
113296 if( pList ){
113297 nArg = pList->nExpr;
113299 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
113314 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
113315 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
113837 sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList);
114508 Trigger *pList = 0; /* List of triggers to return */
114522 pTrig->pNext = (pList ? pList : pTab->pTrigger);
114523 pList = pTrig;
114528 return (pList ? pList : pTab->pTrigger);
115103 Trigger *pList = 0;
115107 pList = sqlite3TriggerList(pParse, pTab);
115109 assert( pList==0 || IsVirtual(pTab)==0 );
115110 for(p=pList; p; p=p->pNext){
115118 return (mask ? pList : 0);
120233 ExprList *pList; /* List of operands to the LIKE operator */
120247 pList = pExpr->x.pList;
120248 pLeft = pList->a[1].pExpr;
120259 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
120322 ExprList *pList;
120330 pList = pExpr->x.pList;
120331 if( pList->nExpr!=2 ){
120334 if( pList->a[1].pExpr->op != TK_COLUMN ){
120732 ExprList *pList = 0; /* The RHS of the IN operator */
120742 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
120752 pNew->x.pList = pList;
120759 sqlite3ExprListDelete(db, pList);
120929 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
121014 ExprList *pList = pExpr->x.pList;
121017 assert( pList!=0 );
121018 assert( pList->nExpr==2 );
121024 sqlite3ExprDup(db, pList->a[i].pExpr, 0), 0);
121072 pLeft = pExpr->x.pList->a[1].pExpr;
121143 pRight = pExpr->x.pList->a[0].pExpr;
121144 pLeft = pExpr->x.pList->a[1].pExpr;
121299 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
121303 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
121306 if( pList ){
121307 for(i=0; i<pList->nExpr; i++){
121308 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
121735 ** This function searches pList for an entry that matches the iCol-th column
121738 ** If such an expression is found, its index in pList->a[] is returned. If
121743 ExprList *pList, /* Expression list to search */
121751 for(i=0; i<pList->nExpr; i++){
121752 Expr *p = sqlite3ExprSkipCollate(pList->a[i].pExpr);
121757 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pList->a[i].pExpr);
122962 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
122974 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
122976 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
123627 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
123629 pList->nExpr);
123711 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
128862 ExprList *pList;
128863 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy346.pExpr);
128864 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy346.pExpr);
128865 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy96.eOperator);
128874 ExprList *pList;
128875 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr);
128876 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy346.pExpr);
128877 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr);
128878 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy96.eOperator);
128915 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr);
128916 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr);
128919 yygotominor.yy346.pExpr->x.pList = pList;
128921 sqlite3ExprListDelete(pParse->db, pList);
128971 yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy14;
129045 yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy132 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[-1].minor.yy132) : yymsp[-2].minor.yy14;
135883 sqlite3_int64 iDocid; /* Current docid (if pList!=0) */
135884 int bFreeList; /* True if pList should be sqlite3_free()d */
135885 char *pList; /* Pointer to position list following iDocid */
138460 ** Argument pList points to a position list nList bytes in size. This
138464 ** of the entries from pList at position 0, and terminated by an 0x00 byte.
138469 char *pList, /* Position list (no 0x00 term) */
138470 int nList, /* Size of pList in bytes */
138475 char *p = pList;
138476 char *pEnd = &pList[nList];
139868 ** Arguments pList/nList contain the doclist for token iToken of phrase p.
139871 ** This function assumes that pList points to a buffer allocated using
139879 Fts3Phrase *p, /* Phrase to merge pList/nList into */
139880 int iToken, /* Token pList/nList corresponds to */
139881 char *pList, /* Pointer to doclist */
139882 int nList /* Number of bytes in pList */
139887 if( pList==0 ){
139894 p->doclist.aAll = pList;
139899 sqlite3_free(pList);
139912 pRight = pList;
139918 pLeft = pList;
139972 ** means that the phrase does not appear in the current row, doclist.pList
139990 char *pList;
139992 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
139995 if( pList==0 ){
139997 pPhrase->doclist.pList = 0;
140002 aPoslist = pList;
140006 char *aOut = pList;
140013 aPoslist = pList;
140017 pPhrase->doclist.pList = 0;
140029 pPhrase->doclist.pList = aPoslist;
140041 p2 = pPhrase->doclist.pList;
140044 p1 = pPhrase->doclist.pList;
140055 pPhrase->doclist.pList = aOut;
140058 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
140061 pPhrase->doclist.pList = 0;
140264 pDL->pList = pIter;
140266 pDL->nList = (int)(pIter - pDL->pList);
140289 char *pList;
140315 p->pList = pPhrase->doclist.pList;
140325 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
140327 if( p->pList==0 ) *pbEof = 1;
140345 ** the Fts3Doclist.pList and nList fields.
140370 &pDL->iDocid, &pDL->pList, &pDL->nList
140372 if( pDL->pList==0 ) bEof = 1;
140416 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
140420 char *pL = a[i].pList;
140431 pDL->pList = aDoclist;
140469 pDL->pList = pDL->pNextDocid;
140759 char *pList = 0;
140760 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
140761 assert( rc==SQLITE_OK || pList==0 );
140764 pTab, pTC->pPhrase, pTC->iToken,pList,nList
140846 sqlite3_free(pPhrase->doclist.pList);
140848 pPhrase->doclist.pList = 0;
140889 assert( pPhrase->doclist.pList );
140891 p2 = pOut = pPhrase->doclist.pList;
140896 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
140897 assert( pPhrase->doclist.pList[nNew]=='\0' );
140899 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
140901 *paPoslist = pPhrase->doclist.pList;
140925 ** FTs3Expr.pPhrase->doclist.nList (length of pList in bytes)
140926 ** FTs3Expr.pPhrase->doclist.pList (pointer to position list)
140997 memset(pDl->pList, 0, pDl->nList);
141004 memset(pDl->pList, 0, pDl->nList);
141081 ** (Fts3Expr->pPhrase.doclist.pList/nList) for each phrase in the expression.
141135 char *aPoslist = p->pPhrase->doclist.pList;
141144 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
141249 bHit = (pPhrase->doclist.pList!=0);
141398 ** found in Fts3Expr.pPhrase->doclist.pList for each of the phrase
141404 if( pPhrase && pPhrase->doclist.pList ){
141406 char *p = pPhrase->doclist.pList;
141624 pIter = pPhrase->doclist.pList;
146004 PendingList *pList; /* Doclist is assembled here */
146625 static void fts3PendingListDelete(PendingList *pList){
146626 sqlite3_free(pList);
146640 PendingList *pList;
146643 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
146644 if( pList ){
146645 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
146647 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
146648 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
146653 sqlite3_free(pList);
146658 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
146786 PendingList *pList = (PendingList *)fts3HashData(pElem);
146787 fts3PendingListDelete(pList);
147216 PendingList *pList = (PendingList *)fts3HashData(pElem);
147217 int nCopy = pList->nData+1;
147222 memcpy(aCopy, pList->aData, nCopy);
148469 char *pList = *ppList;
148471 char *pEnd = &pList[nList];
148473 char *p = pList;
148481 nList = (int)(p - pList);
148485 nList -= (int)(p - pList);
148486 pList = p;
148490 p = &pList[1];
148494 if( bZero && &pList[nList]!=pEnd ){
148495 memset(&pList[nList], 0, pEnd - &pList[nList]);
148497 *ppList = pList;
148510 char *pList,
148521 memcpy(pMsr->aBuffer, pList, nList);
148552 char *pList;
148557 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
148571 rc = fts3MsrBufferData(pMsr, pList, nList+1);
148574 pList = pMsr->aBuffer;
148578 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
148582 *paPoslist = pList;
148810 char *pList = 0;
148814 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
148825 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
148856 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
148865 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
151212 fts3PendingListDelete(pDef->pList);
151213 pDef->pList = 0;
151226 fts3PendingListDelete(pDef->pList);
151274 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
151284 if( pDef->pList ){
151285 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
151305 if( p->pList==0 ){
151309 pRet = (char *)sqlite3_malloc(p->pList->nData);
151312 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
151313 *pnData = p->pList->nData - nSkip;
151316 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
151635 char *pList; /* Pointer to start of phrase position list */
152042 pPhrase->pList = pCsr;
152051 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
152428 char *pIter = pPhrase->doclist.pList;
153065 char *pList; /* Position-list */
153066 int iPos; /* Position just read from pList */
153085 char *pList; /* Pointer to position list for phrase */
153090 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
153092 if( pList ){
153093 fts3GetDeltaPosition(&pList, &iPos);
153100 pT->pList = pList;
153194 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
153205 if( 0==(0xFE&*pTerm->pList) ){
153206 pTerm->pList = 0;
153208 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
159924 sqlite3_stmt *pList = 0;
159929 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
159934 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
159935 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
159949 rbuFinalize(p, pList);
172375 Fts5HashEntry *pList;
172399 pList = 0;
172401 pList = fts5HashEntryMerge(pList, ap[i]);
172406 *ppSorted = pList;
174239 const u8 *pList = 0;
174244 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
174246 if( pList==0 ){
174250 pIter->pLeaf->p = (u8*)pList;
174255 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
174650 const u8 *pList = 0;
174660 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
174664 sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList);
174669 if( pList ){
174674 pLeaf->p = (u8*)pList;