Lines Matching refs:pList
17988 ExprList *pList; /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */ member
29976 pFarg = pExpr->x.pList;
30028 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
30047 Expr *pY = pExpr->x.pList->a[0].pExpr;
30048 Expr *pZ = pExpr->x.pList->a[1].pExpr;
30070 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
30094 sqlite3TreeViewBareExprList(pView, pExpr->x.pList, z);
30130 const ExprList *pList,
30134 if( pList==0 ){
30139 for(i=0; i<pList->nExpr; i++){
30140 int j = pList->a[i].u.x.iOrderByCol;
30141 char *zName = pList->a[i].zEName;
30142 int moreToFollow = i<pList->nExpr - 1;
30143 if( pList->a[i].eEName!=ENAME_NAME ) zName = 0;
30157 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, moreToFollow);
30166 const ExprList *pList,
30171 sqlite3TreeViewBareExprList(pView, pList, zLabel);
51320 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
51325 assert( pList!=0 );
51326 p = pList;
51327 pList = p->pRight;
51329 for(iDepth=1; pList; iDepth++){
51331 p = pList;
51332 pList = p->pRight;
51334 p->pRight = rowSetNDeepTree(&pList, iDepth);
54688 PgHdr *pList; /* List of dirty pages to revert */
54699 pList = sqlite3PcacheDirtyList(pPager->pPCache);
54700 while( pList && rc==SQLITE_OK ){
54701 PgHdr *pNext = pList->pDirty;
54702 rc = pagerUndoCallback((void *)pPager, pList->pgno);
54703 pList = pNext;
54720 PgHdr *pList, /* List of frames to log */
54729 assert( pList );
54732 for(p=pList; p && p->pDirty; p=p->pDirty){
54737 assert( pList->pDirty==0 || isCommit );
54743 PgHdr **ppNext = &pList;
54745 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
54751 assert( pList );
54757 if( pList->pgno==1 ) pager_write_changecounter(pList);
54759 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
54762 for(p=pList; p; p=p->pDirty){
54768 pList = sqlite3PcacheDirtyList(pPager->pPCache);
54769 for(p=pList; p; p=p->pDirty){
55946 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
55953 assert( isOpen(pPager->fd) || pList->pDirty==0 );
55970 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
55977 while( rc==SQLITE_OK && pList ){
55978 Pgno pgno = pList->pgno;
55988 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
55992 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
55993 if( pList->pgno==1 ) pager_write_changecounter(pList);
55995 pData = pList->pData;
56013 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
56016 PAGERID(pPager), pgno, pager_pagehash(pList)));
56022 pager_set_pagehash(pList);
56023 pList = pList->pDirty;
56206 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
56208 while( rc==SQLITE_OK && pList ){
56209 PgHdr *pNext = pList->pDirty;
56210 if( pList->nRef==0 ){
56211 rc = pagerStress((void*)pPager, pList);
56213 pList = pNext;
58008 PgHdr *pList;
58011 pList = sqlite3PcacheDirtyList(pPager->pPCache);
58012 if( pList==0 ){
58016 pList = pPageOne;
58017 pList->pDirty = 0;
58020 if( ALWAYS(pList) ){
58021 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
58124 pList = sqlite3PcacheDirtyList(pPager->pPCache);
58129 rc = pager_write_pagelist(pPager, pList);
58152 rc = pager_write_pagelist(pPager, pList);
62749 PgHdr *pList, /* List of dirty pages to write */
62765 assert( pList );
62773 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
62846 for(p=pList; p; p=p->pDirty){
62941 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
66958 BtShared *pList;
66969 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
66970 while( ALWAYS(pList) && pList->pNext!=pBt ){
66971 pList=pList->pNext;
66973 if( ALWAYS(pList) ){
66974 pList->pNext = pBt->pNext;
77026 ExprList *pList = 0; /* Function arguments */
77031 pList = p->x.pList;
77032 if( pList ) nVal = pList->nExpr;
77041 if( pList ){
77048 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
93844 SorterRecord *pList; /* Linked list of records */
94711 vdbeSorterRecordFree(0, pTask->list.pList);
94902 vdbeSorterRecordFree(0, pSorter->list.pList);
94904 pSorter->list.pList = 0;
95054 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
95063 p = pList->pList;
95069 if( pList->aMemory ){
95070 if( (u8*)p==pList->aMemory ){
95073 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
95074 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
95094 pList->pList = p;
95200 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
95208 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
95213 assert( pList->szPMA>0 );
95225 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
95230 rc = vdbeSorterSort(pTask, pList);
95240 vdbePmaWriteVarint(&writer, pList->szPMA);
95241 for(p=pList->pList; p; p=pNext){
95245 if( pList->aMemory==0 ) sqlite3_free(p);
95247 pList->pList = p;
95252 assert( rc!=SQLITE_OK || pList->pList==0 );
95391 assert( pTask->list.pList==0 );
95398 pSorter->list.pList = 0;
95475 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
95491 if( pSorter->list.pList ){
95492 iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory;
95500 pSorter->list.pList = (SorterRecord*)&aNew[iListOff];
95508 if( pSorter->list.pList ){
95509 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
95516 pNew->u.pNext = pSorter->list.pList;
95521 pSorter->list.pList = pNew;
96245 if( pSorter->list.pList ){
96258 assert( pSorter->list.pList );
96310 SorterRecord *pFree = pSorter->list.pList;
96311 pSorter->list.pList = pFree->u.pNext;
96314 rc = pSorter->list.pList ? SQLITE_OK : SQLITE_DONE;
96341 *pnKey = pSorter->list.pList->nVal;
96342 pKey = SRVAL(pSorter->list.pList);
97304 static int walkWindowList(Walker *pWalker, Window *pList){
97306 for(pWin=pList; pWin; pWin=pWin->pNextWin){
97355 assert( pExpr->x.pList==0 || pExpr->pRight==0 );
97365 if( pExpr->x.pList ){
97366 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
98024 assert( pExpr->x.pList==0 );
98349 ExprList *pList = pExpr->x.pList; /* The argument list */
98350 int n = pList ? pList->nExpr : 0; /* Number of arguments */
98378 pExpr->iTable = exprProbability(pList->a[1].pExpr);
98521 sqlite3WalkExprList(pWalker, pList);
98626 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[0].pExpr);
98628 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[1].pExpr);
99361 ExprList *pList /* The expression list to be analyzed. */
99366 if( pList==0 ) return WRC_Continue;
99374 for(i=0; i<pList->nExpr; i++){
99375 Expr *pExpr = pList->a[i].pExpr;
99453 ExprList *pList /* Expression list to resolve. May be NULL. */
99479 if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList);
99558 return sqlite3ExprAffinity(pExpr->x.pList->a[0].pExpr);
99614 assert( pExpr->x.pList->nExpr>0 );
99616 pExpr = pExpr->x.pList->a[0].pExpr;
99663 p = p->x.pList->a[0].pExpr;
99676 assert( p->x.pList==0 || p->pRight==0 );
99677 if( p->x.pList!=0
99682 for(i=0; i<p->x.pList->nExpr; i++){
99683 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
99684 pNext = p->x.pList->a[i].pExpr;
99903 return pExpr->x.pList->nExpr;
99933 return pVector->x.pList->a[i].pExpr;
99991 if( pVector->op==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr;
100052 *ppExpr = pVector->x.pList->a[iField].pExpr;
100216 }else if( p->x.pList ){
100217 heightOfExprList(p->x.pList, &nHeight);
100218 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
100252 if( p && p->x.pList && !ExprHasProperty(p, EP_xIsSelect) ){
100253 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
100442 ExprList *pList, /* Argument list */
100451 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
100454 if( pList && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){
100457 pNew->x.pList = pList;
100600 assert( p->x.pList==0 || p->pRight==0 );
100609 sqlite3ExprListDelete(db, p->x.pList);
100699 if( p->pLeft || p->x.pList ){
100819 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags);
101119 ExprList *pList, /* List to which to append. Might be NULL */
101125 if( pList==0 ){
101126 pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) );
101127 if( pList==0 ){
101130 pList->nExpr = 0;
101131 }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
101133 pNew = sqlite3DbRealloc(db, pList,
101134 sizeof(*pList)+(2*(sqlite3_int64)pList->nExpr-1)*sizeof(pList->a[0]));
101138 pList = pNew;
101140 pItem = &pList->a[pList->nExpr++];
101145 return pList;
101150 sqlite3ExprListDelete(db, pList);
101167 ExprList *pList, /* List to which to append. Might be NULL */
101174 int iFirst = pList ? pList->nExpr : 0;
101197 pList = sqlite3ExprListAppend(pParse, pList, pSubExpr);
101198 if( pList ){
101199 assert( pList->nExpr==iFirst+i+1 );
101200 pList->a[pList->nExpr-1].zEName = pColumns->a[i].zName;
101205 if( !db->mallocFailed && pExpr->op==TK_SELECT && ALWAYS(pList!=0) ){
101206 Expr *pFirst = pList->a[iFirst].pExpr;
101223 return pList;
101269 ExprList *pList, /* List to which to add the span. */
101273 assert( pList!=0 || pParse->db->mallocFailed!=0 );
101275 if( pList ){
101277 assert( pList->nExpr>0 );
101278 pItem = &pList->a[pList->nExpr-1];
101304 ExprList *pList, /* List to which to add the span. */
101309 assert( pList!=0 || db->mallocFailed!=0 );
101310 if( pList ){
101311 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
101312 assert( pList->nExpr>0 );
101340 static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
101341 int i = pList->nExpr;
101342 struct ExprList_item *pItem = pList->a;
101343 assert( pList->nExpr>0 );
101349 sqlite3DbFreeNN(db, pList);
101351 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
101352 if( pList ) exprListDeleteNN(db, pList);
101359 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
101362 assert( pList!=0 );
101363 for(i=0; i<pList->nExpr; i++){
101364 Expr *pExpr = pList->a[i].pExpr;
102178 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
102418 }else if( ALWAYS(pExpr->x.pList!=0) ){
102428 ExprList *pList = pExpr->x.pList;
102445 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
102746 ExprList *pList = pExpr->x.pList;
102757 for(ii=0; ii<pList->nExpr; ii++){
102758 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree);
102759 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
102763 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
102767 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_Eq);
102768 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_Eq);
102769 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_NotNull);
102770 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_NotNull);
103135 sqlite3ExprCodeFactorable(pParse, p->x.pList->a[i].pExpr, i+iResult);
103191 caseExpr.x.pList = pFarg;
103636 pFarg = pExpr->x.pList;
103925 assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList );
103926 assert(pExpr->x.pList->nExpr > 0);
103927 pEList = pExpr->x.pList;
104177 ExprList *pList, /* The expression list to be coded */
104186 assert( pList!=0 );
104189 n = pList->nExpr;
104191 for(pItem=pList->a, i=0; i<n; i++, pItem++){
104276 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
104279 compRight.pRight = pExpr->x.pList->a[1].pExpr;
104763 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
104842 || (p->x.pList!=0 && p->x.pList->nExpr>0) );
104846 ExprList *pList = p->x.pList;
104847 assert( pList!=0 );
104848 assert( pList->nExpr==2 );
104850 if( exprImpliesNotNull(pParse, pList->a[0].pExpr, pNN, iTab, 1)
104851 || exprImpliesNotNull(pParse, pList->a[1].pExpr, pNN, iTab, 1)
105188 sqlite3WalkExprList(&w, pExpr->x.pList);
105338 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
105388 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
105391 if( pList ){
105392 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
106143 RenameToken *pList; /* List of tokens to overwrite */
106288 ExprList *pList = p->pEList;
106289 for(i=0; i<pList->nExpr; i++){
106290 if( pList->a[i].zEName && pList->a[i].eEName==ENAME_NAME ){
106291 sqlite3RenameTokenRemap(pParse, 0, (void*)pList->a[i].zEName);
106368 pToken->pNext = pCtx->pList;
106369 pCtx->pList = pToken;
106422 RenameToken *pBest = pCtx->pList;
106429 for(pp=&pCtx->pList; *pp!=pBest; pp=&(*pp)->pNext);
106609 while( pRename->pList ){
106945 renameTokenFree(db, sCtx.pList);
107134 renameTokenFree(db, sCtx.pList);
109624 SrcList *pList /* The Source list to check and modify */
109631 if( NEVER(pList==0) ) return 0;
109633 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
109713 if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1;
109724 ExprList *pList /* The expression to be fixed to one database */
109728 if( pList==0 ) return 0;
109729 for(i=0, pItem=pList->a; i<pList->nExpr; i++, pItem++){
111565 ExprList *pList, /* List of field names to be indexed */
111581 if( pList==0 ){
111587 nTerm = pList->nExpr;
111589 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
111609 if( IN_RENAME_OBJECT && pList ){
111610 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[0].pExpr);
111617 if( pList ) pParse->iPkSortOrder = pList->a[0].sortFlags;
111618 (void)sqlite3HasExplicitNulls(pParse, pList);
111625 sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
111627 pList = 0;
111631 sqlite3ExprListDelete(pParse->db, pList);
112087 ExprList *pList;
112090 pList = sqlite3ExprListAppend(pParse, 0,
112092 if( pList==0 ) return;
112094 sqlite3RenameTokenRemap(pParse, pList->a[0].pExpr, &pTab->iPKey);
112096 pList->a[0].sortFlags = pParse->iPkSortOrder;
112099 sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0,
112255 static void markExprListImmutable(ExprList *pList){
112256 if( pList ){
112262 sqlite3WalkExprList(&w, pList);
113473 SQLITE_PRIVATE int sqlite3HasExplicitNulls(Parse *pParse, ExprList *pList){
113474 if( pList ){
113476 for(i=0; i<pList->nExpr; i++){
113477 if( pList->a[i].bNulls ){
113478 u8 sf = pList->a[i].sortFlags;
113506 ExprList *pList, /* A list of columns to be indexed */
113540 if( sqlite3HasExplicitNulls(pParse, pList) ){
113698 if( pList==0 ){
113703 pList = sqlite3ExprListAppend(pParse, 0,
113705 if( pList==0 ) goto exit_create_index;
113706 assert( pList->nExpr==1 );
113707 sqlite3ExprListSetSortOrder(pList, sortOrder, SQLITE_SO_UNDEFINED);
113709 sqlite3ExprListCheckLength(pParse, pList, "index");
113716 for(i=0; i<pList->nExpr; i++){
113717 Expr *pExpr = pList->a[i].pExpr;
113729 assert( pList->nExpr + nExtraCol <= 32767 /* Fits in i16 */ );
113730 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
113745 pIndex->nKeyCol = pList->nExpr;
113770 pListItem = pList->a;
113772 pIndex->aColExpr = pList;
113773 pList = 0;
113791 pIndex->aColExpr = pList;
113792 pList = 0;
114074 sqlite3ExprListDelete(db, pList);
114240 SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse *pParse, IdList *pList, Token *pToken){
114243 if( pList==0 ){
114244 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
114245 if( pList==0 ) return 0;
114247 pList->a = sqlite3ArrayAllocate(
114249 pList->a,
114250 sizeof(pList->a[0]),
114251 &pList->nId,
114255 sqlite3IdListDelete(db, pList);
114258 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
114259 if( IN_RENAME_OBJECT && pList->a[i].zName ){
114260 sqlite3RenameTokenMap(pParse, (void*)pList->a[i].zName, pToken);
114262 return pList;
114268 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
114270 if( pList==0 ) return;
114271 for(i=0; i<pList->nId; i++){
114272 sqlite3DbFree(db, pList->a[i].zName);
114274 sqlite3DbFree(db, pList->a);
114275 sqlite3DbFreeNN(db, pList);
114282 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
114284 if( pList==0 ) return -1;
114285 for(i=0; i<pList->nId; i++){
114286 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
114414 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
114424 if( pList==0 ){
114425 pList = sqlite3DbMallocRawNN(pParse->db, sizeof(SrcList) );
114426 if( pList==0 ) return 0;
114427 pList->nAlloc = 1;
114428 pList->nSrc = 1;
114429 memset(&pList->a[0], 0, sizeof(pList->a[0]));
114430 pList->a[0].iCursor = -1;
114432 SrcList *pNew = sqlite3SrcListEnlarge(pParse, pList, 1, pList->nSrc);
114434 sqlite3SrcListDelete(db, pList);
114437 pList = pNew;
114440 pItem = &pList->a[pList->nSrc-1];
114451 return pList;
114457 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
114460 assert(pList || pParse->db->mallocFailed );
114461 if( pList ){
114462 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
114475 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
114478 if( pList==0 ) return;
114479 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
114490 sqlite3DbFreeNN(db, pList);
114584 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
114590 pItem->u1.pFuncArg = pList;
114593 sqlite3ExprListDelete(pParse->db, pList);
115880 pLhs->x.pList = sqlite3ExprListDup(db, pEList, 0);
118515 if( pExpr->op!=TK_FUNCTION || !pExpr->x.pList ){
118519 nExpr = pExpr->x.pList->nExpr;
118540 Expr *pEscape = pExpr->x.pList->a[2].pExpr;
119910 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
119987 pList = sqlite3ExprListAppend(pParse, pList, pNew);
119988 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
120029 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
120042 sqlite3ExprListDelete(db, pList);
120797 ExprList *pList = 0; /* List of VALUES() to be inserted */
120826 pList = pSelect->pEList;
120896 assert( pList==0 );
121050 if( pList ){
121051 nColumn = pList->nExpr;
121052 if( sqlite3ResolveExprListNames(&sNC, pList) ){
121252 sqlite3ExprCode(pParse, pList->a[k].pExpr, iRegStore);
121278 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
121335 Expr *pIpk = pList->a[ipkColumn].pExpr;
121340 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
121467 sqlite3ExprListDelete(db, pList);
129250 if( p->op==TK_FUNCTION && p->x.pList ){
129252 for(i=0; i<p->x.pList->nExpr; i++){
129253 sqlite3SetJoinExpr(p->x.pList->a[i].pExpr, iTable);
129273 if( p->op==TK_FUNCTION && p->x.pList ){
129275 for(i=0; i<p->x.pList->nExpr; i++){
129276 unsetJoinExpr(p->x.pList->a[i].pExpr, iTable);
129362 IdList *pList = pRight->pUsing;
129363 for(j=0; j<pList->nId; j++){
129369 zName = pList->a[j].zName;
130198 ExprList *pList, /* Form the KeyInfo object from this ExprList */
130208 nExpr = pList->nExpr;
130212 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
132374 substExprList(pSubst, pExpr->x.pList);
132389 ExprList *pList /* List to scan and in which to make substitutes */
132392 if( pList==0 ) return;
132393 for(i=0; i<pList->nExpr; i++){
132394 pList->a[i].pExpr = substExpr(pSubst, pList->a[i].pExpr);
133344 ExprList *pEList = pFunc->x.pList; /* Arguments to agg function */
134228 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
134233 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0);
134250 ExprList *pList = pF->pExpr->x.pList;
134252 sqlite3VdbeAddOp2(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0);
134280 ExprList *pList = pF->pExpr->x.pList;
134301 if( pList ){
134302 nArg = pList->nExpr;
134304 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
134321 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
134322 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
134507 if( pExpr->x.pList!=0 ) return 0; /* Must be count(*) */
135224 sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList);
135894 Trigger *pList = 0; /* List of triggers to return */
135908 pTrig->pNext = (pList ? pList : pTab->pTrigger);
135909 pList = pTrig;
135914 return (pList ? pList : pTab->pTrigger);
136553 Trigger *pList = 0;
136557 pList = sqlite3TriggerList(pParse, pTab);
136559 assert( pList==0 || IsVirtual(pTab)==0 );
136560 for(p=pList; p; p=p->pNext){
136568 return (mask ? pList : 0);
141156 ExprList *pOrigLhs = pNew->pLeft->x.pList; /* Original unmodified LHS */
141175 pNew->pLeft->x.pList = pLhs;
141828 ExprList *pList = p->x.pList;
141829 assert( nReg<=pList->nExpr );
141831 sqlite3ExprCode(pParse, pList->a[i].pExpr, iReg+i);
143391 ExprList *pList; /* List of operands to the LIKE operator */
143406 pList = pExpr->x.pList;
143407 pLeft = pList->a[1].pExpr;
143409 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
143571 ExprList *pList;
143575 pList = pExpr->x.pList;
143576 if( pList==0 || pList->nExpr!=2 ){
143587 pCol = pList->a[1].pExpr;
143593 *ppRight = pList->a[0].pExpr;
143610 pCol = pList->a[0].pExpr;
143625 *ppRight = pList->a[1].pExpr;
144058 ExprList *pList = 0; /* The RHS of the IN operator */
144068 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
144078 pNew->x.pList = pList;
144085 sqlite3ExprListDelete(db, pList);
144205 pExpr = pExpr->x.pList->a[0].pExpr;
144272 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
144305 pLeft = pLeft->x.pList->a[pTerm->iField-1].pExpr;
144371 ExprList *pList = pExpr->x.pList;
144374 assert( pList!=0 );
144375 assert( pList->nExpr==2 );
144381 sqlite3ExprDup(db, pList->a[i].pExpr, 0));
144429 pLeft = pExpr->x.pList->a[1].pExpr;
144728 assert( p->x.pList==0 );
144732 }else if( p->x.pList ){
144733 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
144747 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
144750 if( pList ){
144751 for(i=0; i<pList->nExpr; i++){
144752 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
145274 ExprList *pList, /* Expression list to search */
145282 for(i=0; i<pList->nExpr; i++){
145283 Expr *p = sqlite3ExprSkipCollateAndLikely(pList->a[i].pExpr);
145288 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
146531 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
146543 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
146545 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
147180 Expr *pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
147185 pRhs = pRhs->x.pList->a[i].pExpr;
147354 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
147356 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
147481 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
150994 static Window *windowFind(Parse *pParse, Window *pList, const char *zName){
150996 for(p=pList; p; p=p->pNextWin){
151024 Window *pList, /* List of named windows for this SELECT */
151029 Window *p = windowFind(pParse, pList, pWin->zName);
151040 sqlite3WindowChain(pParse, pWin, pList);
151253 ExprList *pList, /* List to which to append. Might be NULL */
151259 int nInit = pList ? pList->nExpr : 0;
151275 pList = sqlite3ExprListAppend(pParse, pList, pDup);
151276 if( pList ) pList->a[nInit+i].sortFlags = pAppend->a[i].sortFlags;
151279 return pList;
151372 ExprList *pArgs = pWin->pOwner->x.pList;
151605 SQLITE_PRIVATE void sqlite3WindowChain(Parse *pParse, Window *pWin, Window *pList){
151608 Window *pExist = windowFind(pParse, pList, pWin->zBase);
151752 ExprList *pList = pWin->pOwner->x.pList;
151753 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
151840 ExprList *pList = pWin->pOwner->x.pList;
151841 return (pList ? pList->nExpr : 0);
152024 assert( pWin->bExprArgs || !nArg ||nArg==pWin->pOwner->x.pList->nExpr );
152025 assert( pWin->bExprArgs || nArg ||pWin->pOwner->x.pList==0 );
152037 nArg = pWin->pOwner->x.pList->nExpr;
152039 sqlite3ExprCodeExprList(pParse, pWin->pOwner->x.pList, regArg, 0, 0);
152051 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
152260 int nArg = pWin->pOwner->x.pList->nExpr;
153530 p->x.pList = 0;
157486 ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy242, yymsp[-1].minor.yy202);
157489 yymsp[-4].minor.yy202->x.pList = pList;
157490 if( ALWAYS(pList->nExpr) ){
157491 yymsp[-4].minor.yy202->flags |= pList->a[0].pExpr->flags & EP_Propagate;
157494 sqlite3ExprListDelete(pParse->db, pList);
157515 ExprList *pList;
157518 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy202);
157519 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy202);
157520 yymsp[-2].minor.yy202 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0);
157527 ExprList *pList;
157530 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy202);
157531 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy202);
157532 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy202);
157533 yymsp[-4].minor.yy202 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0);
157572 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy202);
157573 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy202);
157576 yymsp[-4].minor.yy202->x.pList = pList;
157578 sqlite3ExprListDelete(pParse->db, pList);
157606 yymsp[-4].minor.yy202->x.pList = yymsp[-1].minor.yy242;
157649 …yymsp[-4].minor.yy202->x.pList = yymsp[-1].minor.yy202 ? sqlite3ExprListAppend(pParse,yymsp[-2].mi…
166064 char *pList; /* Pointer to position list following iDocid */
168795 char *pList, /* Position list (no 0x00 term) */
168801 char *p = pList;
168802 char *pEnd = &pList[nList];
170223 char *pList, /* Pointer to doclist */
170229 if( pList==0 ){
170236 p->doclist.aAll = pList;
170241 sqlite3_free(pList);
170254 pRight = pList;
170260 pLeft = pList;
170333 char *pList;
170335 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
170338 if( pList==0 ){
170340 pPhrase->doclist.pList = 0;
170345 aPoslist = pList;
170349 char *aOut = pList;
170356 aPoslist = pList;
170360 pPhrase->doclist.pList = 0;
170372 pPhrase->doclist.pList = aPoslist;
170384 p2 = pPhrase->doclist.pList;
170387 p1 = pPhrase->doclist.pList;
170398 pPhrase->doclist.pList = aOut;
170401 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
170404 pPhrase->doclist.pList = 0;
170609 pDL->pList = pIter;
170611 pDL->nList = (int)(pIter - pDL->pList);
170634 char *pList;
170660 p->pList = pPhrase->doclist.pList;
170670 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
170672 if( p->pList==0 ) *pbEof = 1;
170715 &pDL->iDocid, &pDL->pList, &pDL->nList
170717 if( pDL->pList==0 ) bEof = 1;
170761 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
170766 char *pL = a[i].pList;
170777 pDL->pList = aDoclist;
170815 pDL->pList = pDL->pNextDocid;
171105 char *pList = 0;
171106 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
171107 assert( rc==SQLITE_OK || pList==0 );
171110 pTab, pTC->pPhrase, pTC->iToken,pList,nList
171192 sqlite3_free(pPhrase->doclist.pList);
171194 pPhrase->doclist.pList = 0;
171235 assert( pPhrase->doclist.pList );
171237 p2 = pOut = pPhrase->doclist.pList;
171242 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
171243 assert( pPhrase->doclist.pList[nNew]=='\0' );
171245 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
171247 *paPoslist = pPhrase->doclist.pList;
171344 memset(pDl->pList, 0, pDl->nList);
171351 memset(pDl->pList, 0, pDl->nList);
171480 char *aPoslist = p->pPhrase->doclist.pList;
171489 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
171593 bHit = (pPhrase->doclist.pList!=0);
171748 if( pPhrase && pPhrase->doclist.pList ){
171750 char *p = pPhrase->doclist.pList;
171967 pIter = pPhrase->doclist.pList;
176354 PendingList *pList; /* Doclist is assembled here */
176978 static void fts3PendingListDelete(PendingList *pList){
176979 sqlite3_free(pList);
176993 PendingList *pList;
176996 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
176997 if( pList ){
176998 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
177000 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
177001 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
177006 sqlite3_free(pList);
177011 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
177139 PendingList *pList = (PendingList *)fts3HashData(pElem);
177140 fts3PendingListDelete(pList);
177571 PendingList *pList = (PendingList *)fts3HashData(pElem);
177572 int nCopy = pList->nData+1;
177577 memcpy(aCopy, pList->aData, nCopy);
178853 char *pList = *ppList;
178855 char *pEnd = &pList[nList];
178857 char *p = pList;
178865 nList = (int)(p - pList);
178869 nList -= (int)(p - pList);
178870 pList = p;
178874 p = &pList[1];
178878 if( bZero && (pEnd - &pList[nList])>0){
178879 memset(&pList[nList], 0, pEnd - &pList[nList]);
178881 *ppList = pList;
178894 char *pList,
178906 memcpy(pMsr->aBuffer, pList, nList);
178937 char *pList;
178942 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
178956 rc = fts3MsrBufferData(pMsr, pList, nList+1);
178959 pList = pMsr->aBuffer;
178963 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
178967 *paPoslist = pList;
179195 char *pList = 0;
179199 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
179210 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
179241 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
179250 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
181670 fts3PendingListDelete(pDef->pList);
181671 pDef->pList = 0;
181684 fts3PendingListDelete(pDef->pList);
181732 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
181742 if( pDef->pList ){
181743 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
181763 if( p->pList==0 ){
181767 pRet = (char *)sqlite3_malloc(p->pList->nData);
181770 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
181771 *pnData = p->pList->nData - nSkip;
181774 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
182091 char *pList; /* Pointer to start of phrase position list */
182501 pPhrase->pList = pCsr;
182513 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
182891 char *pIter = pPhrase->doclist.pList;
183563 char *pList; /* Position-list */
183583 char *pList; /* Pointer to position list for phrase */
183588 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
183590 if( pList ){
183591 fts3GetDeltaPosition(&pList, &iPos);
183598 pT->pList = pList;
183692 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
183703 if( 0==(0xFE&*pTerm->pList) ){
183704 pTerm->pList = 0;
183706 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
192566 static GeoSegment *geopolySortSegmentsByYAndC(GeoSegment *pList){
192571 while( pList ){
192572 p = pList;
192573 pList = pList->pNext;
196221 sqlite3_stmt *pList = 0;
196226 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
196232 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
196233 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
196234 int bPartial = sqlite3_column_int(pList, 4);
196260 rbuFinalize(p, pList);
203252 static void sessionDeleteTable(SessionTable *pList){
203256 for(pTab=pList; pTab; pTab=pNext){
206145 SessionTable *pList; /* List of tables in current patch */
206355 if( pGrp->pList==0 ){
206369 for(pTab = pGrp->pList; pTab; pTab=pTab->pNext){
206391 for(ppTab=&pGrp->pList; *ppTab; ppTab=&(*ppTab)->pNext);
206473 for(pTab=pGrp->pList; rc==SQLITE_OK && pTab; pTab=pTab->pNext){
206585 sessionDeleteTable(pGrp->pList);
206799 for(pTab=p->grp.pList; pTab; pTab=pTab->pNext){
206986 sessionDeleteTable(p->grp.pList);
215338 Fts5HashEntry *pList;
215364 pList = 0;
215366 pList = fts5HashEntryMerge(pList, ap[i]);
215371 *ppSorted = pList;
217382 const u8 *pList = 0;
217386 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
217387 if( pList==0 ) goto next_none_eof;
217388 pIter->pLeaf->p = (u8*)pList;
217393 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
217456 const u8 *pList = 0;
217462 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
217464 if( pList==0 ){
217468 pIter->pLeaf->p = (u8*)pList;
217474 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
217917 const u8 *pList = 0;
217920 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
217922 if( pList ){
217925 pLeaf->p = (u8*)pList;