Lines Matching refs:pList

17384     ExprList *pList;     /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */  member
29059 pFarg = pExpr->x.pList;
29099 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
29118 Expr *pY = pExpr->x.pList->a[0].pExpr;
29119 Expr *pZ = pExpr->x.pList->a[1].pExpr;
29141 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
29164 sqlite3TreeViewBareExprList(pView, pExpr->x.pList, "VECTOR");
29199 const ExprList *pList,
29203 if( pList==0 ){
29208 for(i=0; i<pList->nExpr; i++){
29209 int j = pList->a[i].u.x.iOrderByCol;
29210 char *zName = pList->a[i].zName;
29211 int moreToFollow = i<pList->nExpr - 1;
29225 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, moreToFollow);
29234 const ExprList *pList,
29239 sqlite3TreeViewBareExprList(pView, pList, zLabel);
50295 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
50300 assert( pList!=0 );
50301 p = pList;
50302 pList = p->pRight;
50304 for(iDepth=1; pList; iDepth++){
50306 p = pList;
50307 pList = p->pRight;
50309 p->pRight = rowSetNDeepTree(&pList, iDepth);
53737 PgHdr *pList; /* List of dirty pages to revert */
53748 pList = sqlite3PcacheDirtyList(pPager->pPCache);
53749 while( pList && rc==SQLITE_OK ){
53750 PgHdr *pNext = pList->pDirty;
53751 rc = pagerUndoCallback((void *)pPager, pList->pgno);
53752 pList = pNext;
53769 PgHdr *pList, /* List of frames to log */
53778 assert( pList );
53781 for(p=pList; p && p->pDirty; p=p->pDirty){
53786 assert( pList->pDirty==0 || isCommit );
53792 PgHdr **ppNext = &pList;
53794 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
53800 assert( pList );
53806 if( pList->pgno==1 ) pager_write_changecounter(pList);
53808 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
53811 for(p=pList; p; p=p->pDirty){
53817 pList = sqlite3PcacheDirtyList(pPager->pPCache);
53818 for(p=pList; p; p=p->pDirty){
55001 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
55008 assert( isOpen(pPager->fd) || pList->pDirty==0 );
55025 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
55032 while( rc==SQLITE_OK && pList ){
55033 Pgno pgno = pList->pgno;
55043 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
55047 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
55048 if( pList->pgno==1 ) pager_write_changecounter(pList);
55051 CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM_BKPT, pData);
55069 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
55072 PAGERID(pPager), pgno, pager_pagehash(pList)));
55078 pager_set_pagehash(pList);
55079 pList = pList->pDirty;
55268 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
55270 while( rc==SQLITE_OK && pList ){
55271 PgHdr *pNext = pList->pDirty;
55272 if( pList->nRef==0 ){
55273 rc = pagerStress((void*)pPager, pList);
55275 pList = pNext;
56989 PgHdr *pList;
56992 pList = sqlite3PcacheDirtyList(pPager->pPCache);
56993 if( pList==0 ){
56997 pList = pPageOne;
56998 pList->pDirty = 0;
57001 if( ALWAYS(pList) ){
57002 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
57105 pList = sqlite3PcacheDirtyList(pPager->pPCache);
57110 rc = pager_write_pagelist(pPager, pList);
57133 rc = pager_write_pagelist(pPager, pList);
61627 PgHdr *pList, /* List of dirty pages to write */
61643 assert( pList );
61651 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
61724 for(p=pList; p; p=p->pDirty){
61822 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
65808 BtShared *pList;
65819 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
65820 while( ALWAYS(pList) && pList->pNext!=pBt ){
65821 pList=pList->pNext;
65823 if( ALWAYS(pList) ){
65824 pList->pNext = pBt->pNext;
75766 ExprList *pList = 0; /* Function arguments */
75771 pList = p->x.pList;
75772 if( pList ) nVal = pList->nExpr;
75781 if( pList ){
75788 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
91908 SorterRecord *pList; /* Linked list of records */
92772 vdbeSorterRecordFree(0, pTask->list.pList);
92963 vdbeSorterRecordFree(0, pSorter->list.pList);
92965 pSorter->list.pList = 0;
93115 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
93124 p = pList->pList;
93134 if( pList->aMemory ){
93135 if( (u8*)p==pList->aMemory ){
93138 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
93139 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
93159 pList->pList = p;
93266 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
93274 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
93279 assert( pList->szPMA>0 );
93291 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
93296 rc = vdbeSorterSort(pTask, pList);
93306 vdbePmaWriteVarint(&writer, pList->szPMA);
93307 for(p=pList->pList; p; p=pNext){
93311 if( pList->aMemory==0 ) sqlite3_free(p);
93313 pList->pList = p;
93318 assert( rc!=SQLITE_OK || pList->pList==0 );
93456 assert( pTask->list.pList==0 );
93461 pSorter->list.pList = 0;
93538 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
93554 if( pSorter->list.pList ){
93555 iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory;
93563 pSorter->list.pList = (SorterRecord*)&aNew[iListOff];
93571 if( pSorter->list.pList ){
93572 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
93579 pNew->u.pNext = pSorter->list.pList;
93584 pSorter->list.pList = pNew;
94308 if( pSorter->list.pList ){
94321 assert( pSorter->list.pList );
94373 SorterRecord *pFree = pSorter->list.pList;
94374 pSorter->list.pList = pFree->u.pNext;
94377 rc = pSorter->list.pList ? SQLITE_OK : SQLITE_DONE;
94404 *pnKey = pSorter->list.pList->nVal;
94405 pKey = SRVAL(pSorter->list.pList);
94945 static int walkWindowList(Walker *pWalker, Window *pList){
94947 for(pWin=pList; pWin; pWin=pWin->pNextWin){
94984 assert( pExpr->x.pList==0 || pExpr->pRight==0 );
94990 }else if( pExpr->x.pList ){
94991 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
95544 assert( pExpr->x.pList==0 );
95836 ExprList *pList = pExpr->x.pList; /* The argument list */
95837 int n = pList ? pList->nExpr : 0; /* Number of arguments */
95863 pExpr->iTable = exprProbability(pList->a[1].pExpr);
95977 sqlite3WalkExprList(pWalker, pList);
96069 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[0].pExpr);
96071 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[1].pExpr);
96805 ExprList *pList /* The expression list to be analyzed. */
96808 if( pList ){
96809 for(i=0; i<pList->nExpr; i++){
96810 if( sqlite3ResolveExprNames(pNC, pList->a[i].pExpr) ) return WRC_Abort;
96864 ExprList *pList /* Expression list to resolve. May be NULL. */
96884 if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList);
97001 assert( pExpr->x.pList->nExpr>0 );
97003 pExpr = pExpr->x.pList->a[0].pExpr;
97060 assert( p->x.pList==0 || p->pRight==0 );
97064 if( p->x.pList!=0 && ALWAYS(!ExprHasProperty(p, EP_xIsSelect)) ){
97066 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
97067 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
97068 pNext = p->x.pList->a[i].pExpr;
97267 return pExpr->x.pList->nExpr;
97297 return pVector->x.pList->a[i].pExpr;
97355 if( pVector->op==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr;
97416 *ppExpr = pVector->x.pList->a[iField].pExpr;
97577 }else if( p->x.pList ){
97578 heightOfExprList(p->x.pList, &nHeight);
97579 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
97613 if( p && p->x.pList && !ExprHasProperty(p, EP_xIsSelect) ){
97614 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
97833 ExprList *pList, /* Argument list */
97842 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
97845 if( pList && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){
97848 pNew->x.pList = pList;
97957 assert( p->x.pList==0 || p->pRight==0 );
97964 sqlite3ExprListDelete(db, p->x.pList);
98051 if( p->pLeft || p->x.pList ){
98167 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags);
98464 ExprList *pList, /* List to which to append. Might be NULL */
98470 if( pList==0 ){
98471 pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) );
98472 if( pList==0 ){
98475 pList->nExpr = 0;
98476 }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
98478 pNew = sqlite3DbRealloc(db, pList,
98479 sizeof(*pList)+(2*(sqlite3_int64)pList->nExpr-1)*sizeof(pList->a[0]));
98483 pList = pNew;
98485 pItem = &pList->a[pList->nExpr++];
98490 return pList;
98495 sqlite3ExprListDelete(db, pList);
98512 ExprList *pList, /* List to which to append. Might be NULL */
98519 int iFirst = pList ? pList->nExpr : 0;
98538 pList = sqlite3ExprListAppend(pParse, pList, pSubExpr);
98539 if( pList ){
98540 assert( pList->nExpr==iFirst+i+1 );
98541 pList->a[pList->nExpr-1].zName = pColumns->a[i].zName;
98546 if( !db->mallocFailed && pExpr->op==TK_SELECT && ALWAYS(pList!=0) ){
98547 Expr *pFirst = pList->a[iFirst].pExpr;
98567 return pList;
98594 ExprList *pList, /* List to which to add the span. */
98598 assert( pList!=0 || pParse->db->mallocFailed!=0 );
98599 if( pList ){
98601 assert( pList->nExpr>0 );
98602 pItem = &pList->a[pList->nExpr-1];
98622 ExprList *pList, /* List to which to add the span. */
98627 assert( pList!=0 || db->mallocFailed!=0 );
98628 if( pList ){
98629 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
98630 assert( pList->nExpr>0 );
98656 static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
98657 int i = pList->nExpr;
98658 struct ExprList_item *pItem = pList->a;
98659 assert( pList->nExpr>0 );
98666 sqlite3DbFreeNN(db, pList);
98668 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
98669 if( pList ) exprListDeleteNN(db, pList);
98676 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
98679 assert( pList!=0 );
98680 for(i=0; i<pList->nExpr; i++){
98681 Expr *pExpr = pList->a[i].pExpr;
99430 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
99667 }else if( ALWAYS(pExpr->x.pList!=0) ){
99677 ExprList *pList = pExpr->x.pList;
99692 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
99972 ExprList *pList = pExpr->x.pList;
99983 for(ii=0; ii<pList->nExpr; ii++){
99984 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, &regToFree);
99985 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
99988 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
99991 VdbeCoverageIf(v, ii<pList->nExpr-1);
99992 VdbeCoverageIf(v, ii==pList->nExpr-1);
100303 sqlite3ExprCodeFactorable(pParse, p->x.pList->a[i].pExpr, i+iResult);
100620 pFarg = pExpr->x.pList;
100925 assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList );
100926 assert(pExpr->x.pList->nExpr > 0);
100927 pEList = pExpr->x.pList;
101168 ExprList *pList, /* The expression list to be coded */
101177 assert( pList!=0 );
101180 n = pList->nExpr;
101182 for(pItem=pList->a, i=0; i<n; i++, pItem++){
101264 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
101267 compRight.pRight = pExpr->x.pList->a[1].pExpr;
101739 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
102053 sqlite3WalkExprList(&w, pExpr->x.pList);
102198 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
102257 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
102260 if( pList ){
102261 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
102976 RenameToken *pList; /* List of tokens to overwrite */
103129 pToken->pNext = pCtx->pList;
103130 pCtx->pList = pToken;
103200 RenameToken *pBest = pCtx->pList;
103207 for(pp=&pCtx->pList; *pp!=pBest; pp=&(*pp)->pNext);
103384 while( pRename->pList ){
103714 renameTokenFree(db, sCtx.pList);
103896 renameTokenFree(db, sCtx.pList);
106420 SrcList *pList /* The Source list to check and modify */
106426 if( NEVER(pList==0) ) return 0;
106428 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
106506 if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1;
106517 ExprList *pList /* The expression to be fixed to one database */
106521 if( pList==0 ) return 0;
106522 for(i=0, pItem=pList->a; i<pList->nExpr; i++, pItem++){
108204 ExprList *pList, /* List of field names to be indexed */
108220 if( pList==0 ){
108226 nTerm = pList->nExpr;
108228 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
108248 if( IN_RENAME_OBJECT && pList ){
108249 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[0].pExpr);
108256 if( pList ) pParse->iPkSortOrder = pList->a[0].sortOrder;
108263 sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
108265 pList = 0;
108269 sqlite3ExprListDelete(pParse->db, pList);
108656 ExprList *pList;
108659 pList = sqlite3ExprListAppend(pParse, 0,
108661 if( pList==0 ) return;
108662 pList->a[0].sortOrder = pParse->iPkSortOrder;
108664 sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0,
109908 ExprList *pList, /* A list of columns to be indexed */
110097 if( pList==0 ){
110102 pList = sqlite3ExprListAppend(pParse, 0,
110104 if( pList==0 ) goto exit_create_index;
110105 assert( pList->nExpr==1 );
110106 sqlite3ExprListSetSortOrder(pList, sortOrder);
110108 sqlite3ExprListCheckLength(pParse, pList, "index");
110115 for(i=0; i<pList->nExpr; i++){
110116 Expr *pExpr = pList->a[i].pExpr;
110128 assert( pList->nExpr + nExtraCol <= 32767 /* Fits in i16 */ );
110129 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
110144 pIndex->nKeyCol = pList->nExpr;
110169 pListItem = pList->a;
110171 pIndex->aColExpr = pList;
110172 pList = 0;
110190 pIndex->aColExpr = pList;
110191 pList = 0;
110468 sqlite3ExprListDelete(db, pList);
110634 SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse *pParse, IdList *pList, Token *pToken){
110637 if( pList==0 ){
110638 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
110639 if( pList==0 ) return 0;
110641 pList->a = sqlite3ArrayAllocate(
110643 pList->a,
110644 sizeof(pList->a[0]),
110645 &pList->nId,
110649 sqlite3IdListDelete(db, pList);
110652 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
110653 if( IN_RENAME_OBJECT && pList->a[i].zName ){
110654 sqlite3RenameTokenMap(pParse, (void*)pList->a[i].zName, pToken);
110656 return pList;
110662 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
110664 if( pList==0 ) return;
110665 for(i=0; i<pList->nId; i++){
110666 sqlite3DbFree(db, pList->a[i].zName);
110668 sqlite3DbFree(db, pList->a);
110669 sqlite3DbFreeNN(db, pList);
110676 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
110678 if( pList==0 ) return -1;
110679 for(i=0; i<pList->nId; i++){
110680 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
110808 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
110818 if( pList==0 ){
110819 pList = sqlite3DbMallocRawNN(pParse->db, sizeof(SrcList) );
110820 if( pList==0 ) return 0;
110821 pList->nAlloc = 1;
110822 pList->nSrc = 1;
110823 memset(&pList->a[0], 0, sizeof(pList->a[0]));
110824 pList->a[0].iCursor = -1;
110826 SrcList *pNew = sqlite3SrcListEnlarge(pParse, pList, 1, pList->nSrc);
110828 sqlite3SrcListDelete(db, pList);
110831 pList = pNew;
110834 pItem = &pList->a[pList->nSrc-1];
110845 return pList;
110851 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
110854 assert(pList || pParse->db->mallocFailed );
110855 if( pList ){
110856 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
110869 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
110872 if( pList==0 ) return;
110873 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
110884 sqlite3DbFreeNN(db, pList);
110978 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
110984 pItem->u1.pFuncArg = pList;
110987 sqlite3ExprListDelete(pParse->db, pList);
112229 pLhs->x.pList = sqlite3ExprListDup(db, pEList, 0);
114846 if( pExpr->op!=TK_FUNCTION || !pExpr->x.pList ){
114850 nExpr = pExpr->x.pList->nExpr;
114858 Expr *pEscape = pExpr->x.pList->a[2].pExpr;
116223 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
116292 pList = sqlite3ExprListAppend(pParse, pList, pNew);
116293 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
116334 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
116347 sqlite3ExprListDelete(db, pList);
116984 ExprList *pList = 0; /* List of VALUES() to be inserted */
117012 pList = pSelect->pEList;
117082 assert( pList==0 );
117220 if( pList ){
117221 nColumn = pList->nExpr;
117222 if( sqlite3ResolveExprListNames(&sNC, pList) ){
117346 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
117367 if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId)
117374 sqlite3ExprCodeAndCache(pParse, pList->a[j].pExpr, regCols+i+1);
117409 Expr *pIpk = pList->a[ipkColumn].pExpr;
117414 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
117476 sqlite3ExprCode(pParse, pList->a[j].pExpr, iRegStore);
117564 sqlite3ExprListDelete(db, pList);
125014 if( p->op==TK_FUNCTION && p->x.pList ){
125016 for(i=0; i<p->x.pList->nExpr; i++){
125017 setJoinExpr(p->x.pList->a[i].pExpr, iTable);
125037 if( p->op==TK_FUNCTION && p->x.pList ){
125039 for(i=0; i<p->x.pList->nExpr; i++){
125040 unsetJoinExpr(p->x.pList->a[i].pExpr, iTable);
125125 IdList *pList = pRight->pUsing;
125126 for(j=0; j<pList->nId; j++){
125132 zName = pList->a[j].zName;
125959 ExprList *pList, /* Form the KeyInfo object from this ExprList */
125969 nExpr = pList->nExpr;
125973 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
128113 substExprList(pSubst, pExpr->x.pList);
128120 ExprList *pList /* List to scan and in which to make substitutes */
128123 if( pList==0 ) return;
128124 for(i=0; i<pList->nExpr; i++){
128125 pList->a[i].pExpr = substExpr(pSubst, pList->a[i].pExpr);
129022 ExprList *pEList = pFunc->x.pList; /* Arguments to agg function */
129894 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
129899 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0);
129916 ExprList *pList = pF->pExpr->x.pList;
129918 sqlite3VdbeAddOp2(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0);
129946 ExprList *pList = pF->pExpr->x.pList;
129948 if( pList ){
129949 nArg = pList->nExpr;
129951 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
129966 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
129967 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
130144 if( pExpr->x.pList!=0 ) return 0; /* Must be count(*) */
130835 sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList);
131495 Trigger *pList = 0; /* List of triggers to return */
131509 pTrig->pNext = (pList ? pList : pTab->pTrigger);
131510 pList = pTrig;
131515 return (pList ? pList : pTab->pTrigger);
132142 Trigger *pList = 0;
132146 pList = sqlite3TriggerList(pParse, pTab);
132148 assert( pList==0 || IsVirtual(pTab)==0 );
132149 for(p=pList; p; p=p->pNext){
132157 return (mask ? pList : 0);
136562 ExprList *pOrigLhs = pNew->pLeft->x.pList; /* Original unmodified LHS */
136581 pNew->pLeft->x.pList = pLhs;
137229 ExprList *pList = p->x.pList;
137230 assert( nReg<=pList->nExpr );
137232 sqlite3ExprCode(pParse, pList->a[i].pExpr, iReg+i);
138627 ExprList *pList; /* List of operands to the LIKE operator */
138642 pList = pExpr->x.pList;
138643 pLeft = pList->a[1].pExpr;
138645 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
138796 ExprList *pList;
138800 pList = pExpr->x.pList;
138801 if( pList==0 || pList->nExpr!=2 ){
138812 pCol = pList->a[1].pExpr;
138817 *ppRight = pList->a[0].pExpr;
138834 pCol = pList->a[0].pExpr;
138848 *ppRight = pList->a[1].pExpr;
139279 ExprList *pList = 0; /* The RHS of the IN operator */
139289 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
139299 pNew->x.pList = pList;
139306 sqlite3ExprListDelete(db, pList);
139426 pExpr = pExpr->x.pList->a[0].pExpr;
139493 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
139526 pLeft = pLeft->x.pList->a[pTerm->iField-1].pExpr;
139592 ExprList *pList = pExpr->x.pList;
139595 assert( pList!=0 );
139596 assert( pList->nExpr==2 );
139602 sqlite3ExprDup(db, pList->a[i].pExpr, 0));
139650 pLeft = pExpr->x.pList->a[1].pExpr;
139944 assert( p->x.pList==0 );
139948 }else if( p->x.pList ){
139949 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
139962 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
139965 if( pList ){
139966 for(i=0; i<pList->nExpr; i++){
139967 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
140478 ExprList *pList, /* Expression list to search */
140486 for(i=0; i<pList->nExpr; i++){
140487 Expr *p = sqlite3ExprSkipCollate(pList->a[i].pExpr);
140492 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
141745 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
141757 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
141759 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
142377 Expr *pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
142382 pRhs = pRhs->x.pList->a[i].pExpr;
142550 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
142552 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
142679 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
146040 static Window *windowFind(Parse *pParse, Window *pList, const char *zName){
146042 for(p=pList; p; p=p->pNextWin){
146070 Window *pList, /* List of named windows for this SELECT */
146075 Window *p = windowFind(pParse, pList, pWin->zName);
146086 sqlite3WindowChain(pParse, pWin, pList);
146279 ExprList *pList, /* List to which to append. Might be NULL */
146284 int nInit = pList ? pList->nExpr : 0;
146287 pList = sqlite3ExprListAppend(pParse, pList, pDup);
146288 if( pList ) pList->a[nInit+i].sortOrder = pAppend->a[i].sortOrder;
146291 return pList;
146356 pSublist = exprListAppendList(pParse, pSublist, pWin->pOwner->x.pList);
146551 SQLITE_PRIVATE void sqlite3WindowChain(Parse *pParse, Window *pWin, Window *pList){
146554 Window *pExist = windowFind(pParse, pList, pWin->zBase);
146663 ExprList *pList = pWin->pOwner->x.pList;
146664 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
146751 ExprList *pList = pWin->pOwner->x.pList;
146752 return (pList ? pList->nExpr : 0);
146826 assert( nArg==0 || nArg==pWin->pOwner->x.pList->nExpr );
146827 assert( nArg || pWin->pOwner->x.pList==0 );
146837 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
147081 int nArg = pWin->pOwner->x.pList->nExpr;
148245 p->x.pList = 0;
152076 ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy434, yymsp[-1].minor.yy524);
152079 yymsp[-4].minor.yy524->x.pList = pList;
152081 sqlite3ExprListDelete(pParse->db, pList);
152100 ExprList *pList;
152103 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy524);
152104 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy524);
152105 yymsp[-2].minor.yy524 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0);
152112 ExprList *pList;
152115 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524);
152116 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy524);
152117 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy524);
152118 yymsp[-4].minor.yy524 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0);
152157 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524);
152158 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy524);
152161 yymsp[-4].minor.yy524->x.pList = pList;
152163 sqlite3ExprListDelete(pParse->db, pList);
152213 yymsp[-4].minor.yy524->x.pList = yymsp[-1].minor.yy434;
152256 …yymsp[-4].minor.yy524->x.pList = yymsp[-1].minor.yy524 ? sqlite3ExprListAppend(pParse,yymsp[-2].mi…
160287 char *pList; /* Pointer to position list following iDocid */
162937 char *pList, /* Position list (no 0x00 term) */
162943 char *p = pList;
162944 char *pEnd = &pList[nList];
164366 char *pList, /* Pointer to doclist */
164372 if( pList==0 ){
164379 p->doclist.aAll = pList;
164384 sqlite3_free(pList);
164397 pRight = pList;
164403 pLeft = pList;
164476 char *pList;
164478 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
164481 if( pList==0 ){
164483 pPhrase->doclist.pList = 0;
164488 aPoslist = pList;
164492 char *aOut = pList;
164499 aPoslist = pList;
164503 pPhrase->doclist.pList = 0;
164515 pPhrase->doclist.pList = aPoslist;
164527 p2 = pPhrase->doclist.pList;
164530 p1 = pPhrase->doclist.pList;
164541 pPhrase->doclist.pList = aOut;
164544 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
164547 pPhrase->doclist.pList = 0;
164751 pDL->pList = pIter;
164753 pDL->nList = (int)(pIter - pDL->pList);
164776 char *pList;
164802 p->pList = pPhrase->doclist.pList;
164812 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
164814 if( p->pList==0 ) *pbEof = 1;
164857 &pDL->iDocid, &pDL->pList, &pDL->nList
164859 if( pDL->pList==0 ) bEof = 1;
164903 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
164908 char *pL = a[i].pList;
164919 pDL->pList = aDoclist;
164957 pDL->pList = pDL->pNextDocid;
165246 char *pList = 0;
165247 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
165248 assert( rc==SQLITE_OK || pList==0 );
165251 pTab, pTC->pPhrase, pTC->iToken,pList,nList
165333 sqlite3_free(pPhrase->doclist.pList);
165335 pPhrase->doclist.pList = 0;
165376 assert( pPhrase->doclist.pList );
165378 p2 = pOut = pPhrase->doclist.pList;
165383 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
165384 assert( pPhrase->doclist.pList[nNew]=='\0' );
165386 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
165388 *paPoslist = pPhrase->doclist.pList;
165485 memset(pDl->pList, 0, pDl->nList);
165492 memset(pDl->pList, 0, pDl->nList);
165620 char *aPoslist = p->pPhrase->doclist.pList;
165629 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
165733 bHit = (pPhrase->doclist.pList!=0);
165888 if( pPhrase && pPhrase->doclist.pList ){
165890 char *p = pPhrase->doclist.pList;
166107 pIter = pPhrase->doclist.pList;
170495 PendingList *pList; /* Doclist is assembled here */
171119 static void fts3PendingListDelete(PendingList *pList){
171120 sqlite3_free(pList);
171134 PendingList *pList;
171137 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
171138 if( pList ){
171139 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
171141 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
171142 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
171147 sqlite3_free(pList);
171152 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
171280 PendingList *pList = (PendingList *)fts3HashData(pElem);
171281 fts3PendingListDelete(pList);
171710 PendingList *pList = (PendingList *)fts3HashData(pElem);
171711 int nCopy = pList->nData+1;
171716 memcpy(aCopy, pList->aData, nCopy);
172982 char *pList = *ppList;
172984 char *pEnd = &pList[nList];
172986 char *p = pList;
172994 nList = (int)(p - pList);
172998 nList -= (int)(p - pList);
172999 pList = p;
173003 p = &pList[1];
173007 if( bZero && &pList[nList]!=pEnd ){
173008 memset(&pList[nList], 0, pEnd - &pList[nList]);
173010 *ppList = pList;
173023 char *pList,
173034 memcpy(pMsr->aBuffer, pList, nList);
173065 char *pList;
173070 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
173084 rc = fts3MsrBufferData(pMsr, pList, nList+1);
173087 pList = pMsr->aBuffer;
173091 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
173095 *paPoslist = pList;
173323 char *pList = 0;
173327 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
173338 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
173371 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
173380 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
175743 fts3PendingListDelete(pDef->pList);
175744 pDef->pList = 0;
175757 fts3PendingListDelete(pDef->pList);
175805 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
175815 if( pDef->pList ){
175816 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
175836 if( p->pList==0 ){
175840 pRet = (char *)sqlite3_malloc(p->pList->nData);
175843 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
175844 *pnData = p->pList->nData - nSkip;
175847 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
176164 char *pList; /* Pointer to start of phrase position list */
176574 pPhrase->pList = pCsr;
176586 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
176964 char *pIter = pPhrase->doclist.pList;
177614 char *pList; /* Position-list */
177634 char *pList; /* Pointer to position list for phrase */
177639 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
177641 if( pList ){
177642 fts3GetDeltaPosition(&pList, &iPos);
177649 pT->pList = pList;
177743 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
177754 if( 0==(0xFE&*pTerm->pList) ){
177755 pTerm->pList = 0;
177757 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
186469 static GeoSegment *geopolySortSegmentsByYAndC(GeoSegment *pList){
186474 while( pList ){
186475 p = pList;
186476 pList = pList->pNext;
190107 sqlite3_stmt *pList = 0;
190112 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
190118 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
190119 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
190120 int bPartial = sqlite3_column_int(pList, 4);
190143 rbuFinalize(p, pList);
196740 static void sessionDeleteTable(SessionTable *pList){
196744 for(pTab=pList; pTab; pTab=pNext){
199633 SessionTable *pList; /* List of tables in current patch */
199843 if( pGrp->pList==0 ){
199857 for(pTab = pGrp->pList; pTab; pTab=pTab->pNext){
199879 for(ppTab=&pGrp->pList; *ppTab; ppTab=&(*ppTab)->pNext);
199961 for(pTab=pGrp->pList; rc==SQLITE_OK && pTab; pTab=pTab->pNext){
200073 sessionDeleteTable(pGrp->pList);
200287 for(pTab=p->grp.pList; pTab; pTab=pTab->pNext){
200474 sessionDeleteTable(p->grp.pList);
208767 Fts5HashEntry *pList;
208793 pList = 0;
208795 pList = fts5HashEntryMerge(pList, ap[i]);
208800 *ppSorted = pList;
210815 const u8 *pList = 0;
210819 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
210820 if( pList==0 ) goto next_none_eof;
210821 pIter->pLeaf->p = (u8*)pList;
210826 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
210889 const u8 *pList = 0;
210895 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
210897 if( pList==0 ){
210901 pIter->pLeaf->p = (u8*)pList;
210907 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
211350 const u8 *pList = 0;
211353 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
211355 if( pList ){
211358 pLeaf->p = (u8*)pList;