Lines Matching refs:pList
18191 ExprList *pList; /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */ member
30330 pFarg = pExpr->x.pList;
30383 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
30402 Expr *pY = pExpr->x.pList->a[0].pExpr;
30403 Expr *pZ = pExpr->x.pList->a[1].pExpr;
30425 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
30449 sqlite3TreeViewBareExprList(pView, pExpr->x.pList, z);
30485 const ExprList *pList,
30489 if( pList==0 ){
30494 for(i=0; i<pList->nExpr; i++){
30495 int j = pList->a[i].u.x.iOrderByCol;
30496 char *zName = pList->a[i].zEName;
30497 int moreToFollow = i<pList->nExpr - 1;
30498 if( pList->a[i].eEName!=ENAME_NAME ) zName = 0;
30512 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, moreToFollow);
30521 const ExprList *pList,
30526 sqlite3TreeViewBareExprList(pView, pList, zLabel);
51859 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
51864 assert( pList!=0 );
51865 p = pList;
51866 pList = p->pRight;
51868 for(iDepth=1; pList; iDepth++){
51870 p = pList;
51871 pList = p->pRight;
51873 p->pRight = rowSetNDeepTree(&pList, iDepth);
55236 PgHdr *pList; /* List of dirty pages to revert */
55247 pList = sqlite3PcacheDirtyList(pPager->pPCache);
55248 while( pList && rc==SQLITE_OK ){
55249 PgHdr *pNext = pList->pDirty;
55250 rc = pagerUndoCallback((void *)pPager, pList->pgno);
55251 pList = pNext;
55268 PgHdr *pList, /* List of frames to log */
55277 assert( pList );
55280 for(p=pList; p && p->pDirty; p=p->pDirty){
55285 assert( pList->pDirty==0 || isCommit );
55291 PgHdr **ppNext = &pList;
55293 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
55299 assert( pList );
55305 if( pList->pgno==1 ) pager_write_changecounter(pList);
55307 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
55310 for(p=pList; p; p=p->pDirty){
55316 pList = sqlite3PcacheDirtyList(pPager->pPCache);
55317 for(p=pList; p; p=p->pDirty){
56494 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
56501 assert( isOpen(pPager->fd) || pList->pDirty==0 );
56518 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
56525 while( rc==SQLITE_OK && pList ){
56526 Pgno pgno = pList->pgno;
56536 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
56540 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
56541 if( pList->pgno==1 ) pager_write_changecounter(pList);
56543 pData = pList->pData;
56561 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
56564 PAGERID(pPager), pgno, pager_pagehash(pList)));
56570 pager_set_pagehash(pList);
56571 pList = pList->pDirty;
56754 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
56756 while( rc==SQLITE_OK && pList ){
56757 PgHdr *pNext = pList->pDirty;
56758 if( pList->nRef==0 ){
56759 rc = pagerStress((void*)pPager, pList);
56761 pList = pNext;
58556 PgHdr *pList;
58559 pList = sqlite3PcacheDirtyList(pPager->pPCache);
58560 if( pList==0 ){
58564 pList = pPageOne;
58565 pList->pDirty = 0;
58568 if( ALWAYS(pList) ){
58569 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
58672 pList = sqlite3PcacheDirtyList(pPager->pPCache);
58677 rc = pager_write_pagelist(pPager, pList);
58700 rc = pager_write_pagelist(pPager, pList);
63360 PgHdr *pList, /* List of dirty pages to write */
63376 assert( pList );
63384 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
63457 for(p=pList; p; p=p->pDirty){
63552 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
67618 BtShared *pList;
67629 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
67630 while( ALWAYS(pList) && pList->pNext!=pBt ){
67631 pList=pList->pNext;
67633 if( ALWAYS(pList) ){
67634 pList->pNext = pBt->pNext;
77868 ExprList *pList = 0; /* Function arguments */
77873 pList = p->x.pList;
77874 if( pList ) nVal = pList->nExpr;
77883 if( pList ){
77890 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
94934 SorterRecord *pList; /* Linked list of records */
95804 vdbeSorterRecordFree(0, pTask->list.pList);
95995 vdbeSorterRecordFree(0, pSorter->list.pList);
95997 pSorter->list.pList = 0;
96147 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
96156 p = pList->pList;
96162 if( pList->aMemory ){
96163 if( (u8*)p==pList->aMemory ){
96166 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
96167 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
96187 pList->pList = p;
96293 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
96301 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
96306 assert( pList->szPMA>0 );
96318 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
96323 rc = vdbeSorterSort(pTask, pList);
96333 vdbePmaWriteVarint(&writer, pList->szPMA);
96334 for(p=pList->pList; p; p=pNext){
96338 if( pList->aMemory==0 ) sqlite3_free(p);
96340 pList->pList = p;
96345 assert( rc!=SQLITE_OK || pList->pList==0 );
96484 assert( pTask->list.pList==0 );
96491 pSorter->list.pList = 0;
96568 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
96584 if( pSorter->list.pList ){
96585 iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory;
96593 pSorter->list.pList = (SorterRecord*)&aNew[iListOff];
96601 if( pSorter->list.pList ){
96602 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
96609 pNew->u.pNext = pSorter->list.pList;
96614 pSorter->list.pList = pNew;
97338 if( pSorter->list.pList ){
97351 assert( pSorter->list.pList );
97403 SorterRecord *pFree = pSorter->list.pList;
97404 pSorter->list.pList = pFree->u.pNext;
97407 rc = pSorter->list.pList ? SQLITE_OK : SQLITE_DONE;
97434 *pnKey = pSorter->list.pList->nVal;
97435 pKey = SRVAL(pSorter->list.pList);
98402 static int walkWindowList(Walker *pWalker, Window *pList, int bOneOnly){
98404 for(pWin=pList; pWin; pWin=pWin->pNextWin){
98454 assert( pExpr->x.pList==0 || pExpr->pRight==0 );
98464 if( pExpr->x.pList ){
98465 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
99141 assert( pExpr->x.pList==0 );
99516 ExprList *pList = pExpr->x.pList; /* The argument list */
99517 int n = pList ? pList->nExpr : 0; /* Number of arguments */
99545 pExpr->iTable = exprProbability(pList->a[1].pExpr);
99688 sqlite3WalkExprList(pWalker, pList);
99794 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[0].pExpr);
99796 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[1].pExpr);
100529 ExprList *pList /* The expression list to be analyzed. */
100534 if( pList==0 ) return WRC_Continue;
100542 for(i=0; i<pList->nExpr; i++){
100543 Expr *pExpr = pList->a[i].pExpr;
100621 ExprList *pList /* Expression list to resolve. May be NULL. */
100647 if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList);
100731 return sqlite3ExprAffinity(pExpr->x.pList->a[0].pExpr);
100753 ExprList *pList = pExpr->x.pList;
100754 if( ALWAYS(pList!=0) ){
100756 for(i=0; i<pList->nExpr; i++){
100757 pList->a[i].pExpr = sqlite3ExprAddCollateToken(pParse,pList->a[i].pExpr,
100798 assert( pExpr->x.pList->nExpr>0 );
100800 pExpr = pExpr->x.pList->a[0].pExpr;
100847 p = p->x.pList->a[0].pExpr;
100860 assert( p->x.pList==0 || p->pRight==0 );
100861 if( p->x.pList!=0
100866 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
100867 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
100868 pNext = p->x.pList->a[i].pExpr;
101087 return pExpr->x.pList->nExpr;
101117 return pVector->x.pList->a[i].pExpr;
101175 if( pVector->op==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr;
101236 *ppExpr = pVector->x.pList->a[iField].pExpr;
101400 }else if( p->x.pList ){
101401 heightOfExprList(p->x.pList, &nHeight);
101402 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
101437 if( p && p->x.pList && !ExprHasProperty(p, EP_xIsSelect) ){
101438 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
101627 ExprList *pList, /* Argument list */
101636 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
101639 if( pList && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){
101642 pNew->x.pList = pList;
101785 assert( p->x.pList==0 || p->pRight==0 );
101794 sqlite3ExprListDelete(db, p->x.pList);
101900 if( p->pLeft || p->x.pList ){
102020 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags);
102323 ExprList *pList, /* List to which to append. Might be NULL */
102329 if( pList==0 ){
102330 pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) );
102331 if( pList==0 ){
102334 pList->nExpr = 0;
102335 }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
102337 pNew = sqlite3DbRealloc(db, pList,
102338 sizeof(*pList)+(2*(sqlite3_int64)pList->nExpr-1)*sizeof(pList->a[0]));
102342 pList = pNew;
102344 pItem = &pList->a[pList->nExpr++];
102349 return pList;
102354 sqlite3ExprListDelete(db, pList);
102371 ExprList *pList, /* List to which to append. Might be NULL */
102378 int iFirst = pList ? pList->nExpr : 0;
102401 pList = sqlite3ExprListAppend(pParse, pList, pSubExpr);
102402 if( pList ){
102403 assert( pList->nExpr==iFirst+i+1 );
102404 pList->a[pList->nExpr-1].zEName = pColumns->a[i].zName;
102409 if( !db->mallocFailed && pExpr->op==TK_SELECT && ALWAYS(pList!=0) ){
102410 Expr *pFirst = pList->a[iFirst].pExpr;
102427 return pList;
102473 ExprList *pList, /* List to which to add the span. */
102477 assert( pList!=0 || pParse->db->mallocFailed!=0 );
102479 if( pList ){
102481 assert( pList->nExpr>0 );
102482 pItem = &pList->a[pList->nExpr-1];
102508 ExprList *pList, /* List to which to add the span. */
102513 assert( pList!=0 || db->mallocFailed!=0 );
102514 if( pList ){
102515 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
102516 assert( pList->nExpr>0 );
102544 static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
102545 int i = pList->nExpr;
102546 struct ExprList_item *pItem = pList->a;
102547 assert( pList->nExpr>0 );
102553 sqlite3DbFreeNN(db, pList);
102555 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
102556 if( pList ) exprListDeleteNN(db, pList);
102563 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
102566 assert( pList!=0 );
102567 for(i=0; i<pList->nExpr; i++){
102568 Expr *pExpr = pList->a[i].pExpr;
103385 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
103625 }else if( ALWAYS(pExpr->x.pList!=0) ){
103635 ExprList *pList = pExpr->x.pList;
103652 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
103953 ExprList *pList = pExpr->x.pList;
103964 for(ii=0; ii<pList->nExpr; ii++){
103965 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree);
103966 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
103970 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
103974 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_Eq);
103975 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_Eq);
103976 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_NotNull);
103977 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_NotNull);
104343 sqlite3ExprCodeFactorable(pParse, p->x.pList->a[i].pExpr, i+iResult);
104399 caseExpr.x.pList = pFarg;
104842 pFarg = pExpr->x.pList;
105133 assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList );
105134 assert(pExpr->x.pList->nExpr > 0);
105135 pEList = pExpr->x.pList;
105387 ExprList *pList, /* The expression list to be coded */
105396 assert( pList!=0 );
105399 n = pList->nExpr;
105401 for(pItem=pList->a, i=0; i<n; i++, pItem++){
105486 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
105489 compRight.pRight = pExpr->x.pList->a[1].pExpr;
105973 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
106052 || (p->x.pList!=0 && p->x.pList->nExpr>0) );
106056 ExprList *pList = p->x.pList;
106057 assert( pList!=0 );
106058 assert( pList->nExpr==2 );
106060 if( exprImpliesNotNull(pParse, pList->a[0].pExpr, pNN, iTab, 1)
106061 || exprImpliesNotNull(pParse, pList->a[1].pExpr, pNN, iTab, 1)
106415 sqlite3WalkExprList(&w, pExpr->x.pList);
106621 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
106671 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
106674 if( pList ){
106675 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
107436 RenameToken *pList; /* List of tokens to overwrite */
107581 ExprList *pList = p->pEList;
107582 for(i=0; i<pList->nExpr; i++){
107583 if( pList->a[i].zEName && pList->a[i].eEName==ENAME_NAME ){
107584 sqlite3RenameTokenRemap(pParse, 0, (void*)pList->a[i].zEName);
107669 pToken->pNext = pCtx->pList;
107670 pCtx->pList = pToken;
107725 RenameToken *pBest = pCtx->pList;
107732 for(pp=&pCtx->pList; *pp!=pBest; pp=&(*pp)->pNext);
107918 while( pRename->pList ){
108275 renameTokenFree(db, sCtx.pList);
108464 renameTokenFree(db, sCtx.pList);
111164 SrcList *pList = pSelect->pSrc;
111166 if( NEVER(pList==0) ) return WRC_Continue;
111167 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
111181 if( sqlite3WalkExpr(&pFix->w, pList->a[i].pOn) ) return WRC_Abort;
111238 SrcList *pList /* The Source list to check and modify */
111241 if( pList ){
111244 s.pSrc = pList;
112876 SQLITE_PRIVATE void sqlite3AddReturning(Parse *pParse, ExprList *pList){
112888 sqlite3ExprListDelete(db, pList);
112893 pRet->pReturnEL = pList;
112906 pRet->retTStep.pExprList = pList;
113221 ExprList *pList, /* List of field names to be indexed */
113237 if( pList==0 ){
113243 nTerm = pList->nExpr;
113245 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
113265 if( IN_RENAME_OBJECT && pList ){
113266 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[0].pExpr);
113273 if( pList ) pParse->iPkSortOrder = pList->a[0].sortFlags;
113274 (void)sqlite3HasExplicitNulls(pParse, pList);
113281 sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
113283 pList = 0;
113287 sqlite3ExprListDelete(pParse->db, pList);
113756 ExprList *pList;
113759 pList = sqlite3ExprListAppend(pParse, 0,
113761 if( pList==0 ) return;
113763 sqlite3RenameTokenRemap(pParse, pList->a[0].pExpr, &pTab->iPKey);
113765 pList->a[0].sortFlags = pParse->iPkSortOrder;
113768 sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0,
113924 static void markExprListImmutable(ExprList *pList){
113925 if( pList ){
113931 sqlite3WalkExprList(&w, pList);
115138 SQLITE_PRIVATE int sqlite3HasExplicitNulls(Parse *pParse, ExprList *pList){
115139 if( pList ){
115141 for(i=0; i<pList->nExpr; i++){
115142 if( pList->a[i].bNulls ){
115143 u8 sf = pList->a[i].sortFlags;
115171 ExprList *pList, /* A list of columns to be indexed */
115205 if( sqlite3HasExplicitNulls(pParse, pList) ){
115360 if( pList==0 ){
115365 pList = sqlite3ExprListAppend(pParse, 0,
115367 if( pList==0 ) goto exit_create_index;
115368 assert( pList->nExpr==1 );
115369 sqlite3ExprListSetSortOrder(pList, sortOrder, SQLITE_SO_UNDEFINED);
115371 sqlite3ExprListCheckLength(pParse, pList, "index");
115378 for(i=0; i<pList->nExpr; i++){
115379 Expr *pExpr = pList->a[i].pExpr;
115391 assert( pList->nExpr + nExtraCol <= 32767 /* Fits in i16 */ );
115392 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
115407 pIndex->nKeyCol = pList->nExpr;
115432 pListItem = pList->a;
115434 pIndex->aColExpr = pList;
115435 pList = 0;
115453 pIndex->aColExpr = pList;
115454 pList = 0;
115750 sqlite3ExprListDelete(db, pList);
115928 SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse *pParse, IdList *pList, Token *pToken){
115931 if( pList==0 ){
115932 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
115933 if( pList==0 ) return 0;
115935 pList->a = sqlite3ArrayAllocate(
115937 pList->a,
115938 sizeof(pList->a[0]),
115939 &pList->nId,
115943 sqlite3IdListDelete(db, pList);
115946 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
115947 if( IN_RENAME_OBJECT && pList->a[i].zName ){
115948 sqlite3RenameTokenMap(pParse, (void*)pList->a[i].zName, pToken);
115950 return pList;
115956 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
115958 if( pList==0 ) return;
115959 for(i=0; i<pList->nId; i++){
115960 sqlite3DbFree(db, pList->a[i].zName);
115962 sqlite3DbFree(db, pList->a);
115963 sqlite3DbFreeNN(db, pList);
115970 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
115972 if( pList==0 ) return -1;
115973 for(i=0; i<pList->nId; i++){
115974 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
116102 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
116112 if( pList==0 ){
116113 pList = sqlite3DbMallocRawNN(pParse->db, sizeof(SrcList) );
116114 if( pList==0 ) return 0;
116115 pList->nAlloc = 1;
116116 pList->nSrc = 1;
116117 memset(&pList->a[0], 0, sizeof(pList->a[0]));
116118 pList->a[0].iCursor = -1;
116120 SrcList *pNew = sqlite3SrcListEnlarge(pParse, pList, 1, pList->nSrc);
116122 sqlite3SrcListDelete(db, pList);
116125 pList = pNew;
116128 pItem = &pList->a[pList->nSrc-1];
116139 return pList;
116145 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
116148 assert(pList || pParse->db->mallocFailed );
116149 if( pList ){
116150 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
116163 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
116166 if( pList==0 ) return;
116167 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
116178 sqlite3DbFreeNN(db, pList);
116292 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
116298 pItem->u1.pFuncArg = pList;
116301 sqlite3ExprListDelete(pParse->db, pList);
117645 pLhs->x.pList = sqlite3ExprListDup(db, pEList, 0);
120283 if( !pExpr->x.pList ){
120287 nExpr = pExpr->x.pList->nExpr;
120308 Expr *pEscape = pExpr->x.pList->a[2].pExpr;
121917 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
121994 pList = sqlite3ExprListAppend(pParse, pList, pNew);
121995 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
122036 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
122049 sqlite3ExprListDelete(db, pList);
122808 ExprList *pList = 0; /* List of VALUES() to be inserted */
122837 pList = pSelect->pEList;
122907 assert( pList==0 );
123061 if( pList ){
123062 nColumn = pList->nExpr;
123063 if( sqlite3ResolveExprListNames(&sNC, pList) ){
123276 sqlite3ExprCode(pParse, pList->a[k].pExpr, iRegStore);
123302 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
123354 Expr *pIpk = pList->a[ipkColumn].pExpr;
123359 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
123488 sqlite3ExprListDelete(db, pList);
131538 if( p->op==TK_FUNCTION && p->x.pList ){
131540 for(i=0; i<p->x.pList->nExpr; i++){
131541 sqlite3SetJoinExpr(p->x.pList->a[i].pExpr, iTable);
131564 if( p->op==TK_FUNCTION && p->x.pList ){
131566 for(i=0; i<p->x.pList->nExpr; i++){
131567 unsetJoinExpr(p->x.pList->a[i].pExpr, iTable);
131653 IdList *pList = pRight->pUsing;
131654 for(j=0; j<pList->nId; j++){
131660 zName = pList->a[j].zName;
132515 ExprList *pList, /* Form the KeyInfo object from this ExprList */
132525 nExpr = pList->nExpr;
132529 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
134720 substExprList(pSubst, pExpr->x.pList);
134735 ExprList *pList /* List to scan and in which to make substitutes */
134738 if( pList==0 ) return;
134739 for(i=0; i<pList->nExpr; i++){
134740 pList->a[i].pExpr = substExpr(pSubst, pList->a[i].pExpr);
135845 ExprList *pEList = pFunc->x.pList; /* Arguments to agg function */
136789 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
136794 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0);
136811 ExprList *pList = pF->pFExpr->x.pList;
136813 sqlite3VdbeAddOp2(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0);
136841 ExprList *pList = pF->pFExpr->x.pList;
136866 if( pList ){
136867 nArg = pList->nExpr;
136869 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
136886 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
136887 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
137083 if( pExpr->x.pList!=0 ) return 0; /* Must be count(*) */
137865 sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList);
138563 Trigger *pList; /* List of triggers to return */
138574 pList = pTab->pTrigger;
138581 pTrig->pNext = pList;
138582 pList = pTrig;
138588 pTrig->pNext = pList;
138589 pList = pTrig;
138594 return pList;
139245 Trigger *pList = 0;
139248 pList = sqlite3TriggerList(pParse, pTab);
139249 assert( pList==0 || IsVirtual(pTab)==0
139250 || (pList->bReturning && pList->pNext==0) );
139251 if( pList!=0 ){
139252 p = pList;
139259 if( pList==pTab->pTrigger ){
139260 pList = 0;
139265 p = pList;
139298 return (mask ? pList : 0);
139364 ExprList *pList, /* The arguments to RETURNING */
139371 for(i=0; i<pList->nExpr; i++){
139372 Expr *pOldExpr = pList->a[i].pExpr;
139390 if( !db->mallocFailed && ALWAYS(pList->a[i].zEName!=0) ){
139392 pItem->zEName = sqlite3DbStrDup(db, pList->a[i].zEName);
139393 pItem->eEName = pList->a[i].eEName;
140110 ExprList *pList = 0;
140149 pList = sqlite3ExprListAppend(pParse, pList, pNew);
140154 pList = sqlite3ExprListAppend(pParse, pList, exprRowColumn(pParse, i));
140159 pList = sqlite3ExprListAppend(pParse, 0, sqlite3PExpr(pParse,TK_ROW,0,0));
140168 pList = sqlite3ExprListAppend(pParse, pList,
140173 pSelect = sqlite3SelectNew(pParse, pList,
141109 ExprList *pList;
141128 pList = sqlite3ExprListAppend(pParse, 0, pRow);
141132 pList = sqlite3ExprListAppend(pParse, pList,
141136 pList = sqlite3ExprListAppend(pParse, pList, exprRowColumn(pParse, i));
141140 updateFromSelect(pParse, ephemTab, pPk, pList, pSrc, pWhere, 0, 0);
141141 sqlite3ExprListDelete(db, pList);
144318 ExprList *pOrigLhs = pNew->pLeft->x.pList; /* Original unmodified LHS */
144337 pNew->pLeft->x.pList = pLhs;
145000 ExprList *pList = p->x.pList;
145001 assert( nReg<=pList->nExpr );
145003 sqlite3ExprCode(pParse, pList->a[i].pExpr, iReg+i);
146576 ExprList *pList; /* List of operands to the LIKE operator */
146591 pList = pExpr->x.pList;
146592 pLeft = pList->a[1].pExpr;
146594 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
146756 ExprList *pList;
146760 pList = pExpr->x.pList;
146761 if( pList==0 || pList->nExpr!=2 ){
146772 pCol = pList->a[1].pExpr;
146778 *ppRight = pList->a[0].pExpr;
146795 pCol = pList->a[0].pExpr;
146810 *ppRight = pList->a[1].pExpr;
147243 ExprList *pList = 0; /* The RHS of the IN operator */
147253 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
147263 pNew->x.pList = pList;
147270 sqlite3ExprListDelete(db, pList);
147390 pExpr = pExpr->x.pList->a[0].pExpr;
147640 pSel->pEList = pRet->x.pList;
147641 pRet->x.pList = 0;
147728 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
147761 pLeft = pLeft->x.pList->a[pTerm->u.x.iField-1].pExpr;
147833 ExprList *pList = pExpr->x.pList;
147836 assert( pList!=0 );
147837 assert( pList->nExpr==2 );
147843 sqlite3ExprDup(db, pList->a[i].pExpr, 0));
147938 pLeft = pExpr->x.pList->a[1].pExpr;
148201 assert( p->x.pList==0 );
148205 }else if( p->x.pList ){
148206 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
148220 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
148223 if( pList ){
148224 for(i=0; i<pList->nExpr; i++){
148225 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
148780 ExprList *pList, /* Expression list to search */
148788 for(i=0; i<pList->nExpr; i++){
148789 Expr *p = sqlite3ExprSkipCollateAndLikely(pList->a[i].pExpr);
148795 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
150039 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
150051 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
150053 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
150688 Expr *pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
150693 pRhs = pRhs->x.pList->a[i].pExpr;
150862 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
150864 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
150990 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
154556 static Window *windowFind(Parse *pParse, Window *pList, const char *zName){
154558 for(p=pList; p; p=p->pNextWin){
154586 Window *pList, /* List of named windows for this SELECT */
154591 Window *p = windowFind(pParse, pList, pWin->zName);
154602 sqlite3WindowChain(pParse, pWin, pList);
154817 ExprList *pList, /* List to which to append. Might be NULL */
154823 int nInit = pList ? pList->nExpr : 0;
154839 pList = sqlite3ExprListAppend(pParse, pList, pDup);
154840 if( pList ) pList->a[nInit+i].sortFlags = pAppend->a[i].sortFlags;
154843 return pList;
154940 ExprList *pArgs = pWin->pOwner->x.pList;
155174 SQLITE_PRIVATE void sqlite3WindowChain(Parse *pParse, Window *pWin, Window *pList){
155177 Window *pExist = windowFind(pParse, pList, pWin->zBase);
155325 ExprList *pList = pWin->pOwner->x.pList;
155326 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
155414 ExprList *pList = pWin->pOwner->x.pList;
155415 return (pList ? pList->nExpr : 0);
155598 assert( pWin->bExprArgs || !nArg ||nArg==pWin->pOwner->x.pList->nExpr );
155599 assert( pWin->bExprArgs || nArg ||pWin->pOwner->x.pList==0 );
155611 nArg = pWin->pOwner->x.pList->nExpr;
155613 sqlite3ExprCodeExprList(pParse, pWin->pOwner->x.pList, regArg, 0, 0);
155625 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
155834 int nArg = pWin->pOwner->x.pList->nExpr;
157146 p->x.pList = 0;
161301 ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy338, yymsp[-1].minor.yy602);
161304 yymsp[-4].minor.yy602->x.pList = pList;
161305 if( ALWAYS(pList->nExpr) ){
161306 yymsp[-4].minor.yy602->flags |= pList->a[0].pExpr->flags & EP_Propagate;
161309 sqlite3ExprListDelete(pParse->db, pList);
161330 ExprList *pList;
161333 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy602);
161334 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy602);
161335 yymsp[-2].minor.yy602 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0);
161342 ExprList *pList;
161345 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy602);
161346 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy602);
161347 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy602);
161348 yymsp[-4].minor.yy602 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0);
161387 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy602);
161388 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy602);
161391 yymsp[-4].minor.yy602->x.pList = pList;
161393 sqlite3ExprListDelete(pParse->db, pList);
161421 yymsp[-4].minor.yy602->x.pList = yymsp[-1].minor.yy338;
161464 …yymsp[-4].minor.yy602->x.pList = yymsp[-1].minor.yy602 ? sqlite3ExprListAppend(pParse,yymsp[-2].mi…
170021 char *pList; /* Pointer to position list following iDocid */
172755 char *pList, /* Position list (no 0x00 term) */
172761 char *p = pList;
172762 char *pEnd = &pList[nList];
174187 char *pList, /* Pointer to doclist */
174193 if( pList==0 ){
174200 p->doclist.aAll = pList;
174205 sqlite3_free(pList);
174218 pRight = pList;
174224 pLeft = pList;
174297 char *pList;
174299 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
174302 if( pList==0 ){
174304 pPhrase->doclist.pList = 0;
174309 aPoslist = pList;
174313 char *aOut = pList;
174320 aPoslist = pList;
174324 pPhrase->doclist.pList = 0;
174336 pPhrase->doclist.pList = aPoslist;
174348 p2 = pPhrase->doclist.pList;
174351 p1 = pPhrase->doclist.pList;
174362 pPhrase->doclist.pList = aOut;
174365 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
174368 pPhrase->doclist.pList = 0;
174573 pDL->pList = pIter;
174575 pDL->nList = (int)(pIter - pDL->pList);
174598 char *pList;
174624 p->pList = pPhrase->doclist.pList;
174634 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
174636 if( p->pList==0 ) *pbEof = 1;
174679 &pDL->iDocid, &pDL->pList, &pDL->nList
174681 if( pDL->pList==0 ) bEof = 1;
174725 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
174730 char *pL = a[i].pList;
174741 pDL->pList = aDoclist;
174779 pDL->pList = pDL->pNextDocid;
175069 char *pList = 0;
175070 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
175071 assert( rc==SQLITE_OK || pList==0 );
175074 pTab, pTC->pPhrase, pTC->iToken,pList,nList
175156 sqlite3_free(pPhrase->doclist.pList);
175158 pPhrase->doclist.pList = 0;
175199 assert( pPhrase->doclist.pList );
175201 p2 = pOut = pPhrase->doclist.pList;
175206 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
175209 assert( pPhrase->doclist.pList[nNew]=='\0' );
175210 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
175213 *paPoslist = pPhrase->doclist.pList;
175310 memset(pDl->pList, 0, pDl->nList);
175317 memset(pDl->pList, 0, pDl->nList);
175446 char *aPoslist = p->pPhrase->doclist.pList;
175455 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
175559 bHit = (pPhrase->doclist.pList!=0);
175717 if( pPhrase && pPhrase->doclist.pList ){
175719 char *p = pPhrase->doclist.pList;
175937 pIter = pPhrase->doclist.pList;
180330 PendingList *pList; /* Doclist is assembled here */
180956 static void fts3PendingListDelete(PendingList *pList){
180957 sqlite3_free(pList);
180971 PendingList *pList;
180974 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
180975 if( pList ){
180976 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
180978 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
180979 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
180984 sqlite3_free(pList);
180989 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
181117 PendingList *pList = (PendingList *)fts3HashData(pElem);
181118 fts3PendingListDelete(pList);
181549 PendingList *pList = (PendingList *)fts3HashData(pElem);
181550 int nCopy = pList->nData+1;
181555 memcpy(aCopy, pList->aData, nCopy);
182831 char *pList = *ppList;
182833 char *pEnd = &pList[nList];
182835 char *p = pList;
182843 nList = (int)(p - pList);
182847 nList -= (int)(p - pList);
182848 pList = p;
182852 p = &pList[1];
182856 if( bZero && (pEnd - &pList[nList])>0){
182857 memset(&pList[nList], 0, pEnd - &pList[nList]);
182859 *ppList = pList;
182872 char *pList,
182884 memcpy(pMsr->aBuffer, pList, nList);
182915 char *pList;
182920 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
182934 rc = fts3MsrBufferData(pMsr, pList, nList+1);
182937 pList = pMsr->aBuffer;
182941 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
182945 *paPoslist = pList;
183186 char *pList = 0;
183190 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
183201 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
183226 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
183235 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
185661 fts3PendingListDelete(pDef->pList);
185662 pDef->pList = 0;
185675 fts3PendingListDelete(pDef->pList);
185723 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
185733 if( pDef->pList ){
185734 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
185754 if( p->pList==0 ){
185758 pRet = (char *)sqlite3_malloc(p->pList->nData);
185761 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
185762 *pnData = p->pList->nData - nSkip;
185765 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
186082 char *pList; /* Pointer to start of phrase position list */
186492 pPhrase->pList = pCsr;
186504 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
186882 char *pIter = pPhrase->doclist.pList;
187554 char *pList; /* Position-list */
187574 char *pList; /* Pointer to position list for phrase */
187579 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
187581 if( pList ){
187582 fts3GetDeltaPosition(&pList, &iPos);
187589 pT->pList = pList;
187683 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
187694 if( 0==(0xFE&*pTerm->pList) ){
187695 pTerm->pList = 0;
187697 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
196583 static GeoSegment *geopolySortSegmentsByYAndC(GeoSegment *pList){
196588 while( pList ){
196589 p = pList;
196590 pList = pList->pNext;
200238 sqlite3_stmt *pList = 0;
200243 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
200249 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
200250 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
200251 int bPartial = sqlite3_column_int(pList, 4);
200277 rbuFinalize(p, pList);
207300 static void sessionDeleteTable(sqlite3_session *pSession, SessionTable *pList){
207304 for(pTab=pList; pTab; pTab=pNext){
210304 SessionTable *pList; /* List of tables in current patch */
210514 if( pGrp->pList==0 ){
210528 for(pTab = pGrp->pList; pTab; pTab=pTab->pNext){
210550 for(ppTab=&pGrp->pList; *ppTab; ppTab=&(*ppTab)->pNext);
210632 for(pTab=pGrp->pList; rc==SQLITE_OK && pTab; pTab=pTab->pNext){
210744 sessionDeleteTable(0, pGrp->pList);
210958 for(pTab=p->grp.pList; pTab; pTab=pTab->pNext){
211145 sessionDeleteTable(0, p->grp.pList);
219682 Fts5HashEntry *pList;
219708 pList = 0;
219710 pList = fts5HashEntryMerge(pList, ap[i]);
219715 *ppSorted = pList;
221726 const u8 *pList = 0;
221730 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
221731 if( pList==0 ) goto next_none_eof;
221732 pIter->pLeaf->p = (u8*)pList;
221737 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
221800 const u8 *pList = 0;
221806 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
221808 if( pList==0 ){
221812 pIter->pLeaf->p = (u8*)pList;
221818 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
222257 const u8 *pList = 0;
222260 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
222262 if( pList ){
222265 pLeaf->p = (u8*)pList;