Lines Matching refs:pList
17743 ExprList *pList; /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */ member
30837 pFarg = pExpr->x.pList;
30893 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
30914 assert( pExpr->x.pList->nExpr==2 );
30915 pY = pExpr->x.pList->a[0].pExpr;
30916 pZ = pExpr->x.pList->a[1].pExpr;
30939 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
30965 sqlite3TreeViewBareExprList(pView, pExpr->x.pList, z);
31021 const ExprList *pList,
31025 if( pList==0 ){
31030 for(i=0; i<pList->nExpr; i++){
31031 int j = pList->a[i].u.x.iOrderByCol;
31032 char *zName = pList->a[i].zEName;
31033 int moreToFollow = i<pList->nExpr - 1;
31034 if( pList->a[i].eEName!=ENAME_NAME ) zName = 0;
31048 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, moreToFollow);
31057 const ExprList *pList,
31062 sqlite3TreeViewBareExprList(pView, pList, zLabel);
52371 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
52376 assert( pList!=0 );
52377 p = pList;
52378 pList = p->pRight;
52380 for(iDepth=1; pList; iDepth++){
52382 p = pList;
52383 pList = p->pRight;
52385 p->pRight = rowSetNDeepTree(&pList, iDepth);
55750 PgHdr *pList; /* List of dirty pages to revert */
55761 pList = sqlite3PcacheDirtyList(pPager->pPCache);
55762 while( pList && rc==SQLITE_OK ){
55763 PgHdr *pNext = pList->pDirty;
55764 rc = pagerUndoCallback((void *)pPager, pList->pgno);
55765 pList = pNext;
55782 PgHdr *pList, /* List of frames to log */
55791 assert( pList );
55794 for(p=pList; p && p->pDirty; p=p->pDirty){
55799 assert( pList->pDirty==0 || isCommit );
55805 PgHdr **ppNext = &pList;
55807 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
55813 assert( pList );
55819 if( pList->pgno==1 ) pager_write_changecounter(pList);
55821 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
55824 for(p=pList; p; p=p->pDirty){
55830 pList = sqlite3PcacheDirtyList(pPager->pPCache);
55831 for(p=pList; p; p=p->pDirty){
57009 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
57016 assert( isOpen(pPager->fd) || pList->pDirty==0 );
57033 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
57040 while( rc==SQLITE_OK && pList ){
57041 Pgno pgno = pList->pgno;
57051 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
57055 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
57056 if( pList->pgno==1 ) pager_write_changecounter(pList);
57058 pData = pList->pData;
57076 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
57079 PAGERID(pPager), pgno, pager_pagehash(pList)));
57085 pager_set_pagehash(pList);
57086 pList = pList->pDirty;
57269 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
57271 while( rc==SQLITE_OK && pList ){
57272 PgHdr *pNext = pList->pDirty;
57273 if( pList->nRef==0 ){
57274 rc = pagerStress((void*)pPager, pList);
57276 pList = pNext;
59072 PgHdr *pList;
59075 pList = sqlite3PcacheDirtyList(pPager->pPCache);
59076 if( pList==0 ){
59080 pList = pPageOne;
59081 pList->pDirty = 0;
59084 if( ALWAYS(pList) ){
59085 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
59188 pList = sqlite3PcacheDirtyList(pPager->pPCache);
59193 rc = pager_write_pagelist(pPager, pList);
59216 rc = pager_write_pagelist(pPager, pList);
63979 PgHdr *pList, /* List of dirty pages to write */
63995 assert( pList );
64003 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
64076 for(p=pList; p; p=p->pDirty){
64171 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
68234 BtShared *pList;
68245 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
68246 while( ALWAYS(pList) && pList->pNext!=pBt ){
68247 pList=pList->pNext;
68249 if( ALWAYS(pList) ){
68250 pList->pNext = pBt->pNext;
78661 ExprList *pList = 0; /* Function arguments */
78667 pList = p->x.pList;
78668 if( pList ) nVal = pList->nExpr;
78678 if( pList ){
78685 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
95880 SorterRecord *pList; /* Linked list of records */
96750 vdbeSorterRecordFree(0, pTask->list.pList);
96942 vdbeSorterRecordFree(0, pSorter->list.pList);
96944 pSorter->list.pList = 0;
97094 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
97103 p = pList->pList;
97109 if( pList->aMemory ){
97110 if( (u8*)p==pList->aMemory ){
97113 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
97114 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
97134 pList->pList = p;
97240 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
97248 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
97253 assert( pList->szPMA>0 );
97265 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
97270 rc = vdbeSorterSort(pTask, pList);
97280 vdbePmaWriteVarint(&writer, pList->szPMA);
97281 for(p=pList->pList; p; p=pNext){
97285 if( pList->aMemory==0 ) sqlite3_free(p);
97287 pList->pList = p;
97292 assert( rc!=SQLITE_OK || pList->pList==0 );
97431 assert( pTask->list.pList==0 );
97438 pSorter->list.pList = 0;
97515 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
97531 if( pSorter->list.pList ){
97532 iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory;
97540 pSorter->list.pList = (SorterRecord*)&aNew[iListOff];
97548 if( pSorter->list.pList ){
97549 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
97556 pNew->u.pNext = pSorter->list.pList;
97561 pSorter->list.pList = pNew;
98286 if( pSorter->list.pList ){
98299 assert( pSorter->list.pList );
98351 SorterRecord *pFree = pSorter->list.pList;
98352 pSorter->list.pList = pFree->u.pNext;
98355 rc = pSorter->list.pList ? SQLITE_OK : SQLITE_DONE;
98382 *pnKey = pSorter->list.pList->nVal;
98383 pKey = SRVAL(pSorter->list.pList);
99352 static int walkWindowList(Walker *pWalker, Window *pList, int bOneOnly){
99354 for(pWin=pList; pWin; pWin=pWin->pNextWin){
99399 assert( pExpr->x.pList==0 || pExpr->pRight==0 );
99409 if( pExpr->x.pList ){
99410 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
100113 assert( ExprUseXList(pExpr)==0 || pExpr->x.pList==0 );
100492 ExprList *pList = pExpr->x.pList; /* The argument list */
100493 int n = pList ? pList->nExpr : 0; /* Number of arguments */
100521 pExpr->iTable = exprProbability(pList->a[1].pExpr);
100664 sqlite3WalkExprList(pWalker, pList);
100779 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[0].pExpr);
100781 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[1].pExpr);
101514 ExprList *pList /* The expression list to be analyzed. */
101519 if( pList==0 ) return WRC_Continue;
101527 for(i=0; i<pList->nExpr; i++){
101528 Expr *pExpr = pList->a[i].pExpr;
101607 ExprList *pList /* Expression list to resolve. May be NULL. */
101633 if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList);
101723 return sqlite3ExprAffinity(pExpr->x.pList->a[0].pExpr);
101783 assert( pExpr->x.pList->nExpr>0 );
101785 pExpr = pExpr->x.pList->a[0].pExpr;
101834 p = p->x.pList->a[0].pExpr;
101849 assert( p->x.pList==0 || p->pRight==0 );
101850 if( p->x.pList!=0 && !db->mallocFailed ){
101852 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
101853 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
101854 pNext = p->x.pList->a[i].pExpr;
102074 return pExpr->x.pList->nExpr;
102107 return pVector->x.pList->a[i].pExpr;
102169 ppVector = &pVector->x.pList->a[iField].pExpr;
102239 *ppExpr = pVector->x.pList->a[iField].pExpr;
102415 }else if( p->x.pList ){
102416 heightOfExprList(p->x.pList, &nHeight);
102417 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
102452 if( p && ExprUseXList(p) && p->x.pList ){
102453 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
102639 nExprElem = pExpr->x.pList->nExpr;
102650 pSel = sqlite3SelectNew(pParse, pExpr->x.pList, 0, 0, 0, 0, 0, SF_Values,0);
102651 pExpr->x.pList = 0;
102699 ExprList *pList, /* Argument list */
102708 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
102711 if( pList
102712 && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG]
102717 pNew->x.pList = pList;
102854 assert( !ExprUseXList(p) || p->x.pList==0 );
102859 assert( (ExprUseXList(p) && p->x.pList==0) || p->pRight==0 );
102868 sqlite3ExprListDelete(db, p->x.pList);
102977 if( p->pLeft || p->x.pList ){
103098 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags);
103417 ExprList *pList;
103419 pList = sqlite3DbMallocRawNN(db, sizeof(ExprList)+sizeof(pList->a[0])*4 );
103420 if( pList==0 ){
103424 pList->nAlloc = 4;
103425 pList->nExpr = 1;
103426 pItem = &pList->a[0];
103429 return pList;
103433 ExprList *pList, /* List to which to append. Might be NULL */
103438 pList->nAlloc *= 2;
103439 pNew = sqlite3DbRealloc(db, pList,
103440 sizeof(*pList)+(pList->nAlloc-1)*sizeof(pList->a[0]));
103442 sqlite3ExprListDelete(db, pList);
103446 pList = pNew;
103448 pItem = &pList->a[pList->nExpr++];
103451 return pList;
103455 ExprList *pList, /* List to which to append. Might be NULL */
103459 if( pList==0 ){
103462 if( pList->nAlloc<pList->nExpr+1 ){
103463 return sqlite3ExprListAppendGrow(pParse->db,pList,pExpr);
103465 pItem = &pList->a[pList->nExpr++];
103468 return pList;
103484 ExprList *pList, /* List to which to append. Might be NULL */
103491 int iFirst = pList ? pList->nExpr : 0;
103512 pList = sqlite3ExprListAppend(pParse, pList, pSubExpr);
103513 if( pList ){
103514 assert( pList->nExpr==iFirst+i+1 );
103515 pList->a[pList->nExpr-1].zEName = pColumns->a[i].zName;
103520 if( !db->mallocFailed && pExpr->op==TK_SELECT && ALWAYS(pList!=0) ){
103521 Expr *pFirst = pList->a[iFirst].pExpr;
103538 return pList;
103584 ExprList *pList, /* List to which to add the span. */
103588 assert( pList!=0 || pParse->db->mallocFailed!=0 );
103590 if( pList ){
103592 assert( pList->nExpr>0 );
103593 pItem = &pList->a[pList->nExpr-1];
103619 ExprList *pList, /* List to which to add the span. */
103624 assert( pList!=0 || db->mallocFailed!=0 );
103625 if( pList ){
103626 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
103627 assert( pList->nExpr>0 );
103655 static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
103656 int i = pList->nExpr;
103657 struct ExprList_item *pItem = pList->a;
103658 assert( pList->nExpr>0 );
103664 sqlite3DbFreeNN(db, pList);
103666 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
103667 if( pList ) exprListDeleteNN(db, pList);
103674 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
103677 assert( pList!=0 );
103678 for(i=0; i<pList->nExpr; i++){
103679 Expr *pExpr = pList->a[i].pExpr;
104501 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
104747 }else if( ALWAYS(pExpr->x.pList!=0) ){
104757 ExprList *pList = pExpr->x.pList;
104774 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
105085 ExprList *pList;
105092 pList = pExpr->x.pList;
105098 for(ii=0; ii<pList->nExpr; ii++){
105099 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree);
105100 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
105104 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
105108 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_Eq);
105109 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_Eq);
105110 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_NotNull);
105111 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_NotNull);
105481 sqlite3ExprCodeFactorable(pParse, p->x.pList->a[i].pExpr, i+iResult);
105537 caseExpr.x.pList = pFarg;
105992 pFarg = pExpr->x.pList;
106290 assert( ExprUseXList(pExpr) && pExpr->x.pList!=0 );
106291 assert(pExpr->x.pList->nExpr > 0);
106292 pEList = pExpr->x.pList;
106544 ExprList *pList, /* The expression list to be coded */
106553 assert( pList!=0 );
106556 n = pList->nExpr;
106558 for(pItem=pList->a, i=0; i<n; i++, pItem++){
106643 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
106646 compRight.pRight = pExpr->x.pList->a[1].pExpr;
107146 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
107224 assert( ExprUseXSelect(p) || (p->x.pList!=0 && p->x.pList->nExpr>0) );
107228 ExprList *pList;
107230 pList = p->x.pList;
107231 assert( pList!=0 );
107232 assert( pList->nExpr==2 );
107234 if( exprImpliesNotNull(pParse, pList->a[0].pExpr, pNN, iTab, 1)
107235 || exprImpliesNotNull(pParse, pList->a[1].pExpr, pNN, iTab, 1)
107628 sqlite3WalkExprList(&w, pExpr->x.pList);
107843 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
107893 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
107896 if( pList ){
107897 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
108698 RenameToken *pList; /* List of tokens to overwrite */
108870 ExprList *pList = p->pEList;
108871 for(i=0; i<pList->nExpr; i++){
108872 if( pList->a[i].zEName && pList->a[i].eEName==ENAME_NAME ){
108873 sqlite3RenameTokenRemap(pParse, 0, (void*)pList->a[i].zEName);
108960 pToken->pNext = pCtx->pList;
108961 pCtx->pList = pToken;
109021 RenameToken *pBest = pCtx->pList;
109028 for(pp=&pCtx->pList; *pp!=pBest; pp=&(*pp)->pNext);
109215 while( pRename->pList ){
109597 renameTokenFree(db, sCtx.pList);
109796 renameTokenFree(db, sCtx.pList);
109906 renameTokenFree(db, sCtx.pList);
112623 SrcList *pList = pSelect->pSrc;
112625 if( NEVER(pList==0) ) return WRC_Continue;
112626 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
112643 if( sqlite3WalkExpr(&pFix->w, pList->a[i].pOn) ) return WRC_Abort;
112700 SrcList *pList /* The Source list to check and modify */
112703 if( pList ){
112706 s.pSrc = pList;
113741 ExprList *pList;
113743 pList = pTab->u.tab.pDfltList;
113745 || NEVER(pList==0)
113746 || NEVER(pList->nExpr<pCol->iDflt)
113748 pCol->iDflt = pList==0 ? 1 : pList->nExpr+1;
113749 pTab->u.tab.pDfltList = sqlite3ExprListAppend(pParse, pList, pExpr);
113751 sqlite3ExprDelete(pParse->db, pList->a[pCol->iDflt-1].pExpr);
113752 pList->a[pCol->iDflt-1].pExpr = pExpr;
114480 SQLITE_PRIVATE void sqlite3AddReturning(Parse *pParse, ExprList *pList){
114492 sqlite3ExprListDelete(db, pList);
114497 pRet->pReturnEL = pList;
114511 pRet->retTStep.pExprList = pList;
114867 ExprList *pList, /* List of field names to be indexed */
114883 if( pList==0 ){
114889 nTerm = pList->nExpr;
114891 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
114913 if( IN_RENAME_OBJECT && pList ){
114914 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[0].pExpr);
114921 if( pList ) pParse->iPkSortOrder = pList->a[0].sortFlags;
114922 (void)sqlite3HasExplicitNulls(pParse, pList);
114929 sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
114931 pList = 0;
114935 sqlite3ExprListDelete(pParse->db, pList);
115403 ExprList *pList;
115406 pList = sqlite3ExprListAppend(pParse, 0,
115408 if( pList==0 ){
115413 sqlite3RenameTokenRemap(pParse, pList->a[0].pExpr, &pTab->iPKey);
115415 pList->a[0].sortFlags = pParse->iPkSortOrder;
115418 sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0,
115612 static void markExprListImmutable(ExprList *pList){
115613 if( pList ){
115619 sqlite3WalkExprList(&w, pList);
116892 SQLITE_PRIVATE int sqlite3HasExplicitNulls(Parse *pParse, ExprList *pList){
116893 if( pList ){
116895 for(i=0; i<pList->nExpr; i++){
116896 if( pList->a[i].bNulls ){
116897 u8 sf = pList->a[i].sortFlags;
116925 ExprList *pList, /* A list of columns to be indexed */
116959 if( sqlite3HasExplicitNulls(pParse, pList) ){
117115 if( pList==0 ){
117120 pList = sqlite3ExprListAppend(pParse, 0,
117122 if( pList==0 ) goto exit_create_index;
117123 assert( pList->nExpr==1 );
117124 sqlite3ExprListSetSortOrder(pList, sortOrder, SQLITE_SO_UNDEFINED);
117126 sqlite3ExprListCheckLength(pParse, pList, "index");
117133 for(i=0; i<pList->nExpr; i++){
117134 Expr *pExpr = pList->a[i].pExpr;
117147 assert( pList->nExpr + nExtraCol <= 32767 /* Fits in i16 */ );
117148 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
117163 pIndex->nKeyCol = pList->nExpr;
117188 pListItem = pList->a;
117190 pIndex->aColExpr = pList;
117191 pList = 0;
117209 pIndex->aColExpr = pList;
117210 pList = 0;
117507 sqlite3ExprListDelete(db, pList);
117686 SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse *pParse, IdList *pList, Token *pToken){
117689 if( pList==0 ){
117690 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
117691 if( pList==0 ) return 0;
117693 pList->a = sqlite3ArrayAllocate(
117695 pList->a,
117696 sizeof(pList->a[0]),
117697 &pList->nId,
117701 sqlite3IdListDelete(db, pList);
117704 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
117705 if( IN_RENAME_OBJECT && pList->a[i].zName ){
117706 sqlite3RenameTokenMap(pParse, (void*)pList->a[i].zName, pToken);
117708 return pList;
117714 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
117716 if( pList==0 ) return;
117717 for(i=0; i<pList->nId; i++){
117718 sqlite3DbFree(db, pList->a[i].zName);
117720 sqlite3DbFree(db, pList->a);
117721 sqlite3DbFreeNN(db, pList);
117728 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
117730 if( pList==0 ) return -1;
117731 for(i=0; i<pList->nId; i++){
117732 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
117860 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
117870 if( pList==0 ){
117871 pList = sqlite3DbMallocRawNN(pParse->db, sizeof(SrcList) );
117872 if( pList==0 ) return 0;
117873 pList->nAlloc = 1;
117874 pList->nSrc = 1;
117875 memset(&pList->a[0], 0, sizeof(pList->a[0]));
117876 pList->a[0].iCursor = -1;
117878 SrcList *pNew = sqlite3SrcListEnlarge(pParse, pList, 1, pList->nSrc);
117880 sqlite3SrcListDelete(db, pList);
117883 pList = pNew;
117886 pItem = &pList->a[pList->nSrc-1];
117897 return pList;
117903 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
117906 assert( pList || pParse->db->mallocFailed );
117907 if( ALWAYS(pList) ){
117908 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
117921 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
117924 if( pList==0 ) return;
117925 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
117936 sqlite3DbFreeNN(db, pList);
118051 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
118057 pItem->u1.pFuncArg = pList;
118060 sqlite3ExprListDelete(pParse->db, pList);
119406 pLhs->x.pList = sqlite3ExprListDup(db, pEList, 0);
122122 if( !pExpr->x.pList ){
122125 nExpr = pExpr->x.pList->nExpr;
122147 Expr *pEscape = pExpr->x.pList->a[2].pExpr;
123780 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
123857 pList = sqlite3ExprListAppend(pParse, pList, pNew);
123858 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
123899 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
123912 sqlite3ExprListDelete(db, pList);
124719 ExprList *pList = 0; /* List of VALUES() to be inserted */
124748 pList = pSelect->pEList;
124818 assert( pList==0 );
124972 if( pList ){
124973 nColumn = pList->nExpr;
124974 if( sqlite3ResolveExprListNames(&sNC, pList) ){
125193 sqlite3ExprCode(pParse, pList->a[k].pExpr, iRegStore);
125219 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
125271 Expr *pIpk = pList->a[ipkColumn].pExpr;
125276 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
125412 sqlite3ExprListDelete(db, pList);
133652 if( p->x.pList ){
133654 for(i=0; i<p->x.pList->nExpr; i++){
133655 sqlite3SetJoinExpr(p->x.pList->a[i].pExpr, iTable);
133681 if( p->x.pList ){
133683 for(i=0; i<p->x.pList->nExpr; i++){
133684 unsetJoinExpr(p->x.pList->a[i].pExpr, iTable);
133771 IdList *pList = pRight->pUsing;
133772 for(j=0; j<pList->nId; j++){
133778 zName = pList->a[j].zName;
134716 ExprList *pList, /* Form the KeyInfo object from this ExprList */
134726 nExpr = pList->nExpr;
134730 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
136957 substExprList(pSubst, pExpr->x.pList);
136972 ExprList *pList /* List to scan and in which to make substitutes */
136975 if( pList==0 ) return;
136976 for(i=0; i<pList->nExpr; i++){
136977 pList->a[i].pExpr = substExpr(pSubst, pList->a[i].pExpr);
138174 pEList = pFunc->x.pList;
139170 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
139175 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0);
139194 ExprList *pList;
139196 pList = pF->pFExpr->x.pList;
139197 sqlite3VdbeAddOp2(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0);
139230 ExprList *pList;
139233 pList = pF->pFExpr->x.pList;
139256 if( pList ){
139257 nArg = pList->nExpr;
139259 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
139264 if( pF->iDistinct>=0 && pList ){
139269 pF->iDistinct, addrNext, pList, regAgg);
139275 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
139276 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
139482 if( pExpr->x.pList!=0 ) return 0; /* Must be count(*) */
140298 sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList);
140353 && pAggInfo->aFunc[0].pFExpr->x.pList!=0
140355 Expr *pExpr = pAggInfo->aFunc[0].pFExpr->x.pList->a[0].pExpr;
140675 pDistinct = pAggInfo->aFunc[0].pFExpr->x.pList;
141036 Trigger *pList; /* List of triggers to return */
141044 pList = pTab->pTrigger;
141052 pTrig->pNext = pList;
141053 pList = pTrig;
141063 pTrig->pNext = pList;
141064 pList = pTrig;
141069 if( pList ){
141072 for(pX=pList; pX; pX=pX->pNext){
141079 return pList;
141730 Trigger *pList = 0;
141733 pList = sqlite3TriggerList(pParse, pTab);
141734 assert( pList==0 || IsVirtual(pTab)==0
141735 || (pList->bReturning && pList->pNext==0) );
141736 if( pList!=0 ){
141737 p = pList;
141744 if( pList==pTab->pTrigger ){
141745 pList = 0;
141750 p = pList;
141783 return (mask ? pList : 0);
141849 ExprList *pList, /* The arguments to RETURNING */
141856 for(i=0; i<pList->nExpr; i++){
141857 Expr *pOldExpr = pList->a[i].pExpr;
141875 if( !db->mallocFailed && ALWAYS(pList->a[i].zEName!=0) ){
141877 pItem->zEName = sqlite3DbStrDup(db, pList->a[i].zEName);
141878 pItem->eEName = pList->a[i].eEName;
142606 ExprList *pList = 0;
142646 pList = sqlite3ExprListAppend(pParse, pList, pNew);
142651 pList = sqlite3ExprListAppend(pParse, pList, exprRowColumn(pParse, i));
142656 pList = sqlite3ExprListAppend(pParse, 0, sqlite3PExpr(pParse,TK_ROW,0,0));
142666 pList = sqlite3ExprListAppend(pParse, pList,
142671 pSelect = sqlite3SelectNew(pParse, pList,
143618 ExprList *pList;
143637 pList = sqlite3ExprListAppend(pParse, 0, pRow);
143641 pList = sqlite3ExprListAppend(pParse, pList,
143645 pList = sqlite3ExprListAppend(pParse, pList, exprRowColumn(pParse, i));
143649 updateFromSelect(pParse, ephemTab, pPk, pList, pSrc, pWhere, 0, 0);
143650 sqlite3ExprListDelete(db, pList);
146862 pOrigLhs = pNew->pLeft->x.pList;
146878 pNew->pLeft->x.pList = pLhs;
147557 const ExprList *pList;
147559 pList = p->x.pList;
147560 assert( nReg<=pList->nExpr );
147562 sqlite3ExprCode(pParse, pList->a[i].pExpr, iReg+i);
149159 ExprList *pList; /* List of operands to the LIKE operator */
149175 pList = pExpr->x.pList;
149176 pLeft = pList->a[1].pExpr;
149178 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
149346 ExprList *pList;
149351 pList = pExpr->x.pList;
149352 if( pList==0 || pList->nExpr!=2 ){
149363 pCol = pList->a[1].pExpr;
149371 *ppRight = pList->a[0].pExpr;
149388 pCol = pList->a[0].pExpr;
149405 *ppRight = pList->a[1].pExpr;
149843 ExprList *pList = 0; /* The RHS of the IN operator */
149854 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
149864 pNew->x.pList = pList;
149871 sqlite3ExprListDelete(db, pList);
149992 pExpr = pExpr->x.pList->a[0].pExpr;
150061 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
150095 pLeft = pLeft->x.pList->a[pTerm->u.x.iField-1].pExpr;
150175 ExprList *pList;
150179 pList = pExpr->x.pList;
150180 assert( pList!=0 );
150181 assert( pList->nExpr==2 );
150187 sqlite3ExprDup(db, pList->a[i].pExpr, 0));
150273 pLeft = pExpr->x.pList->a[1].pExpr;
150540 assert( p->x.pList==0 );
150544 }else if( p->x.pList ){
150545 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
150560 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
150563 if( pList ){
150564 for(i=0; i<pList->nExpr; i++){
150565 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
151138 ExprList *pList, /* Expression list to search */
151146 for(i=0; i<pList->nExpr; i++){
151147 Expr *p = sqlite3ExprSkipCollateAndLikely(pList->a[i].pExpr);
151153 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
152408 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
152420 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
152422 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
153075 pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
153080 pRhs = pRhs->x.pList->a[i].pExpr;
153251 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
153253 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
153389 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
156988 static Window *windowFind(Parse *pParse, Window *pList, const char *zName){
156990 for(p=pList; p; p=p->pNextWin){
157018 Window *pList, /* List of named windows for this SELECT */
157023 Window *p = windowFind(pParse, pList, pWin->zName);
157034 sqlite3WindowChain(pParse, pWin, pList);
157250 ExprList *pList, /* List to which to append. Might be NULL */
157256 int nInit = pList ? pList->nExpr : 0;
157275 pList = sqlite3ExprListAppend(pParse, pList, pDup);
157276 if( pList ) pList->a[nInit+i].sortFlags = pAppend->a[i].sortFlags;
157279 return pList;
157392 pArgs = pWin->pOwner->x.pList;
157633 SQLITE_PRIVATE void sqlite3WindowChain(Parse *pParse, Window *pWin, Window *pList){
157636 Window *pExist = windowFind(pParse, pList, pWin->zBase);
157789 ExprList *pList;
157792 pList = pWin->pOwner->x.pList;
157793 pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
157881 const ExprList *pList;
157883 pList = pWin->pOwner->x.pList;
157884 return (pList ? pList->nExpr : 0);
158069 assert( pWin->bExprArgs || !nArg ||nArg==pWin->pOwner->x.pList->nExpr );
158070 assert( pWin->bExprArgs || nArg ||pWin->pOwner->x.pList==0 );
158083 nArg = pWin->pOwner->x.pList->nExpr;
158085 sqlite3ExprCodeExprList(pParse, pWin->pOwner->x.pList, regArg, 0, 0);
158098 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
158308 int nArg = pWin->pOwner->x.pList->nExpr;
163827 ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy562, yymsp[-1].minor.yy626);
163830 yymsp[-4].minor.yy626->x.pList = pList;
163831 if( ALWAYS(pList->nExpr) ){
163832 yymsp[-4].minor.yy626->flags |= pList->a[0].pExpr->flags & EP_Propagate;
163835 sqlite3ExprListDelete(pParse->db, pList);
163856 ExprList *pList;
163859 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy626);
163860 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy626);
163861 yymsp[-2].minor.yy626 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0);
163868 ExprList *pList;
163871 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy626);
163872 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy626);
163873 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy626);
163874 yymsp[-4].minor.yy626 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0);
163913 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy626);
163914 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy626);
163917 yymsp[-4].minor.yy626->x.pList = pList;
163919 sqlite3ExprListDelete(pParse->db, pList);
163949 int nExpr = yymsp[-4].minor.yy626->pLeft->x.pList->nExpr;
163956 yymsp[-4].minor.yy626->x.pList = yymsp[-1].minor.yy562;
163998 …yymsp[-4].minor.yy626->x.pList = yymsp[-1].minor.yy626 ? sqlite3ExprListAppend(pParse,yymsp[-2].mi…
172668 char *pList; /* Pointer to position list following iDocid */
175398 char *pList, /* Position list (no 0x00 term) */
175404 char *p = pList;
175405 char *pEnd = &pList[nList];
176836 char *pList, /* Pointer to doclist */
176842 if( pList==0 ){
176849 p->doclist.aAll = pList;
176854 sqlite3_free(pList);
176867 pRight = pList;
176873 pLeft = pList;
176946 char *pList;
176948 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
176951 if( pList==0 ){
176953 pPhrase->doclist.pList = 0;
176958 aPoslist = pList;
176962 char *aOut = pList;
176969 aPoslist = pList;
176973 pPhrase->doclist.pList = 0;
176985 pPhrase->doclist.pList = aPoslist;
176997 p2 = pPhrase->doclist.pList;
177000 p1 = pPhrase->doclist.pList;
177011 pPhrase->doclist.pList = aOut;
177014 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
177017 pPhrase->doclist.pList = 0;
177222 pDL->pList = pIter;
177224 pDL->nList = (int)(pIter - pDL->pList);
177247 char *pList;
177273 p->pList = pPhrase->doclist.pList;
177283 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
177285 if( p->pList==0 ) *pbEof = 1;
177328 &pDL->iDocid, &pDL->pList, &pDL->nList
177330 if( pDL->pList==0 ) bEof = 1;
177374 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
177379 char *pL = a[i].pList;
177390 pDL->pList = aDoclist;
177428 pDL->pList = pDL->pNextDocid;
177718 char *pList = 0;
177719 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
177720 assert( rc==SQLITE_OK || pList==0 );
177723 pTab, pTC->pPhrase, pTC->iToken,pList,nList
177804 sqlite3_free(pPhrase->doclist.pList);
177806 pPhrase->doclist.pList = 0;
177847 assert( pPhrase->doclist.pList );
177849 p2 = pOut = pPhrase->doclist.pList;
177854 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
177857 assert( pPhrase->doclist.pList[nNew]=='\0' );
177858 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
177861 *paPoslist = pPhrase->doclist.pList;
177958 memset(pDl->pList, 0, pDl->nList);
177965 memset(pDl->pList, 0, pDl->nList);
178094 char *aPoslist = p->pPhrase->doclist.pList;
178103 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
178207 bHit = (pPhrase->doclist.pList!=0);
178365 if( pPhrase && pPhrase->doclist.pList ){
178367 char *p = pPhrase->doclist.pList;
178585 pIter = pPhrase->doclist.pList;
182986 PendingList *pList; /* Doclist is assembled here */
183612 static void fts3PendingListDelete(PendingList *pList){
183613 sqlite3_free(pList);
183627 PendingList *pList;
183630 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
183631 if( pList ){
183632 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
183634 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
183635 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
183640 sqlite3_free(pList);
183645 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
183773 PendingList *pList = (PendingList *)fts3HashData(pElem);
183774 fts3PendingListDelete(pList);
184205 PendingList *pList = (PendingList *)fts3HashData(pElem);
184206 int nCopy = pList->nData+1;
184221 memcpy(aCopy, pList->aData, nCopy);
185495 char *pList = *ppList;
185497 char *pEnd = &pList[nList];
185499 char *p = pList;
185507 nList = (int)(p - pList);
185511 nList -= (int)(p - pList);
185512 pList = p;
185516 p = &pList[1];
185520 if( bZero && (pEnd - &pList[nList])>0){
185521 memset(&pList[nList], 0, pEnd - &pList[nList]);
185523 *ppList = pList;
185536 char *pList,
185548 memcpy(pMsr->aBuffer, pList, nList);
185579 char *pList;
185584 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
185598 rc = fts3MsrBufferData(pMsr, pList, nList+1);
185601 pList = pMsr->aBuffer;
185605 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
185609 *paPoslist = pList;
185850 char *pList = 0;
185854 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
185865 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
185890 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
185899 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
188329 fts3PendingListDelete(pDef->pList);
188330 pDef->pList = 0;
188343 fts3PendingListDelete(pDef->pList);
188391 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
188401 if( pDef->pList ){
188402 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
188422 if( p->pList==0 ){
188426 pRet = (char *)sqlite3_malloc(p->pList->nData);
188429 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
188430 *pnData = p->pList->nData - nSkip;
188433 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
188754 char *pList; /* Pointer to start of phrase position list */
189163 pPhrase->pList = pCsr;
189175 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
189552 char *pIter = pPhrase->doclist.pList;
190225 char *pList; /* Position-list */
190245 char *pList; /* Pointer to position list for phrase */
190250 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
190252 if( pList ){
190253 fts3GetDeltaPosition(&pList, &iPos);
190260 pT->pList = pList;
190354 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
190365 if( 0==(0xFE&*pTerm->pList) ){
190366 pTerm->pList = 0;
190368 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
199383 static GeoSegment *geopolySortSegmentsByYAndC(GeoSegment *pList){
199388 while( pList ){
199389 p = pList;
199390 pList = pList->pNext;
203052 sqlite3_stmt *pList = 0;
203057 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
203063 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
203064 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
203065 int bPartial = sqlite3_column_int(pList, 4);
203091 rbuFinalize(p, pList);
210323 static void sessionDeleteTable(sqlite3_session *pSession, SessionTable *pList){
210327 for(pTab=pList; pTab; pTab=pNext){
213390 SessionTable *pList; /* List of tables in current patch */
213600 if( pGrp->pList==0 ){
213614 for(pTab = pGrp->pList; pTab; pTab=pTab->pNext){
213636 for(ppTab=&pGrp->pList; *ppTab; ppTab=&(*ppTab)->pNext);
213718 for(pTab=pGrp->pList; rc==SQLITE_OK && pTab; pTab=pTab->pNext){
213830 sessionDeleteTable(0, pGrp->pList);
214044 for(pTab=p->grp.pList; pTab; pTab=pTab->pNext){
214231 sessionDeleteTable(0, p->grp.pList);
222806 Fts5HashEntry *pList;
222832 pList = 0;
222834 pList = fts5HashEntryMerge(pList, ap[i]);
222839 *ppSorted = pList;
224913 const u8 *pList = 0;
224917 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
224918 if( pList==0 ) goto next_none_eof;
224919 pIter->pLeaf->p = (u8*)pList;
224924 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
224987 const u8 *pList = 0;
224993 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
224995 if( pList==0 ){
224999 pIter->pLeaf->p = (u8*)pList;
225005 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
225445 const u8 *pList = 0;
225448 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
225450 if( pList ){
225453 pLeaf->p = (u8*)pList;