Lines Matching refs:pList
16256 ExprList *pList; /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */ member
27347 pFarg = pExpr->x.pList;
27377 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
27396 Expr *pY = pExpr->x.pList->a[0].pExpr;
27397 Expr *pZ = pExpr->x.pList->a[1].pExpr;
27419 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
27442 sqlite3TreeViewBareExprList(pView, pExpr->x.pList, "VECTOR");
27477 const ExprList *pList,
27481 if( pList==0 ){
27486 for(i=0; i<pList->nExpr; i++){
27487 int j = pList->a[i].u.x.iOrderByCol;
27488 char *zName = pList->a[i].zName;
27498 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, i<pList->nExpr-1);
27507 const ExprList *pList,
27512 sqlite3TreeViewBareExprList(pView, pList, zLabel);
47685 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
47690 assert( pList!=0 );
47691 p = pList;
47692 pList = p->pRight;
47694 for(iDepth=1; pList; iDepth++){
47696 p = pList;
47697 pList = p->pRight;
47699 p->pRight = rowSetNDeepTree(&pList, iDepth);
51109 PgHdr *pList; /* List of dirty pages to revert */
51120 pList = sqlite3PcacheDirtyList(pPager->pPCache);
51121 while( pList && rc==SQLITE_OK ){
51122 PgHdr *pNext = pList->pDirty;
51123 rc = pagerUndoCallback((void *)pPager, pList->pgno);
51124 pList = pNext;
51141 PgHdr *pList, /* List of frames to log */
51150 assert( pList );
51153 for(p=pList; p && p->pDirty; p=p->pDirty){
51158 assert( pList->pDirty==0 || isCommit );
51164 PgHdr **ppNext = &pList;
51166 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
51172 assert( pList );
51178 if( pList->pgno==1 ) pager_write_changecounter(pList);
51180 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
51183 for(p=pList; p; p=p->pDirty){
51189 pList = sqlite3PcacheDirtyList(pPager->pPCache);
51190 for(p=pList; p; p=p->pDirty){
52337 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
52344 assert( isOpen(pPager->fd) || pList->pDirty==0 );
52361 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
52368 while( rc==SQLITE_OK && pList ){
52369 Pgno pgno = pList->pgno;
52379 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
52383 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
52384 if( pList->pgno==1 ) pager_write_changecounter(pList);
52387 CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM_BKPT, pData);
52405 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
52408 PAGERID(pPager), pgno, pager_pagehash(pList)));
52414 pager_set_pagehash(pList);
52415 pList = pList->pDirty;
52603 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
52605 while( rc==SQLITE_OK && pList ){
52606 PgHdr *pNext = pList->pDirty;
52607 if( pList->nRef==0 ){
52608 rc = pagerStress((void*)pPager, pList);
52610 pList = pNext;
54343 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
54345 if( pList==0 ){
54349 pList = pPageOne;
54350 pList->pDirty = 0;
54353 if( ALWAYS(pList) ){
54354 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
58886 PgHdr *pList, /* List of dirty pages to write */
58902 assert( pList );
58910 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
58983 for(p=pList; p; p=p->pDirty){
59081 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
62958 BtShared *pList;
62969 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
62970 while( ALWAYS(pList) && pList->pNext!=pBt ){
62971 pList=pList->pNext;
62973 if( ALWAYS(pList) ){
62974 pList->pNext = pBt->pNext;
72417 ExprList *pList = 0; /* Function arguments */
72422 pList = p->x.pList;
72423 if( pList ) nVal = pList->nExpr;
72432 if( pList ){
72439 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
87988 SorterRecord *pList; /* Linked list of records */
88852 vdbeSorterRecordFree(0, pTask->list.pList);
89043 vdbeSorterRecordFree(0, pSorter->list.pList);
89045 pSorter->list.pList = 0;
89195 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
89204 p = pList->pList;
89214 if( pList->aMemory ){
89215 if( (u8*)p==pList->aMemory ){
89218 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
89219 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
89239 pList->pList = p;
89346 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
89354 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
89359 assert( pList->szPMA>0 );
89371 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
89376 rc = vdbeSorterSort(pTask, pList);
89386 vdbePmaWriteVarint(&writer, pList->szPMA);
89387 for(p=pList->pList; p; p=pNext){
89391 if( pList->aMemory==0 ) sqlite3_free(p);
89393 pList->pList = p;
89398 assert( rc!=SQLITE_OK || pList->pList==0 );
89536 assert( pTask->list.pList==0 );
89541 pSorter->list.pList = 0;
89618 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
89632 int iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory;
89640 pSorter->list.pList = (SorterRecord*)&aNew[iListOff];
89647 if( pSorter->list.pList ){
89648 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
89655 pNew->u.pNext = pSorter->list.pList;
89660 pSorter->list.pList = pNew;
90379 if( pSorter->list.pList ){
90392 assert( pSorter->list.pList );
90444 SorterRecord *pFree = pSorter->list.pList;
90445 pSorter->list.pList = pFree->u.pNext;
90448 rc = pSorter->list.pList ? SQLITE_OK : SQLITE_DONE;
90475 *pnKey = pSorter->list.pList->nVal;
90476 pKey = SRVAL(pSorter->list.pList);
91039 assert( pExpr->x.pList==0 || pExpr->pRight==0 );
91045 }else if( pExpr->x.pList ){
91046 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
91548 assert( pExpr->x.pList==0 );
91803 ExprList *pList = pExpr->x.pList; /* The argument list */
91804 int n = pList ? pList->nExpr : 0; /* Number of arguments */
91829 pExpr->iTable = exprProbability(pList->a[1].pExpr);
91894 sqlite3WalkExprList(pWalker, pList);
91953 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[0].pExpr);
91955 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[1].pExpr);
92612 ExprList *pList /* The expression list to be analyzed. */
92615 if( pList ){
92616 for(i=0; i<pList->nExpr; i++){
92617 if( sqlite3ResolveExprNames(pNC, pList->a[i].pExpr) ) return WRC_Abort;
92667 ExprList *pList /* Expression list to resolve. May be NUL. */
92683 if( pList ) sqlite3ResolveExprListNames(&sNC, pList);
92799 assert( pExpr->x.pList->nExpr>0 );
92801 pExpr = pExpr->x.pList->a[0].pExpr;
92858 assert( p->x.pList==0 || p->pRight==0 );
92862 if( p->x.pList!=0 && ALWAYS(!ExprHasProperty(p, EP_xIsSelect)) ){
92864 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
92865 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
92866 pNext = p->x.pList->a[i].pExpr;
93065 return pExpr->x.pList->nExpr;
93095 return pVector->x.pList->a[i].pExpr;
93153 if( pVector->op==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr;
93213 *ppExpr = pVector->x.pList->a[iField].pExpr;
93376 }else if( p->x.pList ){
93377 heightOfExprList(p->x.pList, &nHeight);
93378 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
93412 if( p && p->x.pList && !ExprHasProperty(p, EP_xIsSelect) ){
93413 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
93631 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
93637 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
93640 pNew->x.pList = pList;
93744 assert( p->x.pList==0 || p->pRight==0 );
93751 sqlite3ExprListDelete(db, p->x.pList);
93820 if( p->pLeft || p->x.pList ){
93936 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags);
94191 ExprList *pList, /* List to which to append. Might be NULL */
94197 if( pList==0 ){
94198 pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) );
94199 if( pList==0 ){
94202 pList->nExpr = 0;
94203 }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
94205 pNew = sqlite3DbRealloc(db, pList,
94206 sizeof(*pList)+(2*pList->nExpr - 1)*sizeof(pList->a[0]));
94210 pList = pNew;
94212 pItem = &pList->a[pList->nExpr++];
94217 return pList;
94222 sqlite3ExprListDelete(db, pList);
94239 ExprList *pList, /* List to which to append. Might be NULL */
94246 int iFirst = pList ? pList->nExpr : 0;
94265 pList = sqlite3ExprListAppend(pParse, pList, pSubExpr);
94266 if( pList ){
94267 assert( pList->nExpr==iFirst+i+1 );
94268 pList->a[pList->nExpr-1].zName = pColumns->a[i].zName;
94273 if( !db->mallocFailed && pExpr->op==TK_SELECT && ALWAYS(pList!=0) ){
94274 Expr *pFirst = pList->a[iFirst].pExpr;
94291 return pList;
94318 ExprList *pList, /* List to which to add the span. */
94322 assert( pList!=0 || pParse->db->mallocFailed!=0 );
94323 if( pList ){
94325 assert( pList->nExpr>0 );
94326 pItem = &pList->a[pList->nExpr-1];
94343 ExprList *pList, /* List to which to add the span. */
94348 assert( pList!=0 || db->mallocFailed!=0 );
94349 if( pList ){
94350 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
94351 assert( pList->nExpr>0 );
94377 static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
94378 int i = pList->nExpr;
94379 struct ExprList_item *pItem = pList->a;
94380 assert( pList->nExpr>0 );
94387 sqlite3DbFreeNN(db, pList);
94389 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
94390 if( pList ) exprListDeleteNN(db, pList);
94397 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
94400 assert( pList!=0 );
94401 for(i=0; i<pList->nExpr; i++){
94402 Expr *pExpr = pList->a[i].pExpr;
95102 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
95338 }else if( ALWAYS(pExpr->x.pList!=0) ){
95348 ExprList *pList = pExpr->x.pList;
95365 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
95610 ExprList *pList = pExpr->x.pList;
95621 for(ii=0; ii<pList->nExpr; ii++){
95622 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree);
95623 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
95626 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
95629 VdbeCoverageIf(v, ii<pList->nExpr-1);
95630 VdbeCoverageIf(v, ii==pList->nExpr-1);
96159 sqlite3ExprCodeFactorable(pParse, p->x.pList->a[i].pExpr, i+iResult);
96433 pFarg = pExpr->x.pList;
96746 assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList );
96747 assert(pExpr->x.pList->nExpr > 0);
96748 pEList = pExpr->x.pList;
96995 ExprList *pList, /* The expression list to be coded */
97004 assert( pList!=0 );
97007 n = pList->nExpr;
97009 for(pItem=pList->a, i=0; i<n; i++, pItem++){
97084 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
97087 compRight.pRight = pExpr->x.pList->a[1].pExpr;
97511 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
97713 sqlite3WalkExprList(&w, pExpr->x.pList);
97857 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
97915 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
97918 if( pList ){
97919 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
101222 SrcList *pList /* The Source list to check and modify */
101228 if( NEVER(pList==0) ) return 0;
101230 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
101297 if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1;
101308 ExprList *pList /* The expression to be fixed to one database */
101312 if( pList==0 ) return 0;
101313 for(i=0, pItem=pList->a; i<pList->nExpr; i++, pItem++){
102919 ExprList *pList, /* List of field names to be indexed */
102935 if( pList==0 ){
102941 nTerm = pList->nExpr;
102943 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
102967 if( pList ) pParse->iPkSortOrder = pList->a[0].sortOrder;
102974 sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
102976 pList = 0;
102980 sqlite3ExprListDelete(pParse->db, pList);
103346 ExprList *pList;
103349 pList = sqlite3ExprListAppend(pParse, 0,
103351 if( pList==0 ) return;
103352 pList->a[0].sortOrder = pParse->iPkSortOrder;
103354 sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0,
104521 ExprList *pList, /* A list of columns to be indexed */
104704 if( pList==0 ){
104707 pList = sqlite3ExprListAppend(pParse, 0,
104709 if( pList==0 ) goto exit_create_index;
104710 assert( pList->nExpr==1 );
104711 sqlite3ExprListSetSortOrder(pList, sortOrder);
104713 sqlite3ExprListCheckLength(pParse, pList, "index");
104719 for(i=0; i<pList->nExpr; i++){
104720 Expr *pExpr = pList->a[i].pExpr;
104732 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
104747 pIndex->nKeyCol = pList->nExpr;
104772 for(i=0, pListItem=pList->a; i<pList->nExpr; i++, pListItem++){
104788 ExprList *pCopy = sqlite3ExprListDup(db, pList, 0);
105051 sqlite3ExprListDelete(db, pList);
105218 SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3 *db, IdList *pList, Token *pToken){
105220 if( pList==0 ){
105221 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
105222 if( pList==0 ) return 0;
105224 pList->a = sqlite3ArrayAllocate(
105226 pList->a,
105227 sizeof(pList->a[0]),
105228 &pList->nId,
105232 sqlite3IdListDelete(db, pList);
105235 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
105236 return pList;
105242 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
105244 if( pList==0 ) return;
105245 for(i=0; i<pList->nId; i++){
105246 sqlite3DbFree(db, pList->a[i].zName);
105248 sqlite3DbFree(db, pList->a);
105249 sqlite3DbFreeNN(db, pList);
105256 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
105258 if( pList==0 ) return -1;
105259 for(i=0; i<pList->nId; i++){
105260 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
105368 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
105375 if( pList==0 ){
105376 pList = sqlite3DbMallocRawNN(db, sizeof(SrcList) );
105377 if( pList==0 ) return 0;
105378 pList->nAlloc = 1;
105379 pList->nSrc = 1;
105380 memset(&pList->a[0], 0, sizeof(pList->a[0]));
105381 pList->a[0].iCursor = -1;
105383 pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc);
105386 sqlite3SrcListDelete(db, pList);
105389 pItem = &pList->a[pList->nSrc-1];
105400 return pList;
105406 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
105409 assert(pList || pParse->db->mallocFailed );
105410 if( pList ){
105411 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
105424 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
105427 if( pList==0 ) return;
105428 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
105439 sqlite3DbFreeNN(db, pList);
105527 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
105533 pItem->u1.pFuncArg = pList;
105536 sqlite3ExprListDelete(pParse->db, pList);
106756 pLhs->x.pList = sqlite3ExprListDup(db, pEList, 0);
109244 if( pExpr->op!=TK_FUNCTION || !pExpr->x.pList ){
109248 nExpr = pExpr->x.pList->nExpr;
109256 Expr *pEscape = pExpr->x.pList->a[2].pExpr;
110607 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
110676 pList = sqlite3ExprListAppend(pParse, pList, pNew);
110677 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
110718 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
110731 sqlite3ExprListDelete(db, pList);
111342 ExprList *pList = 0; /* List of VALUES() to be inserted */
111370 pList = pSelect->pEList;
111440 assert( pList==0 );
111578 if( pList ){
111579 nColumn = pList->nExpr;
111580 if( sqlite3ResolveExprListNames(&sNC, pList) ){
111683 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
111704 if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId)
111711 sqlite3ExprCodeAndCache(pParse, pList->a[j].pExpr, regCols+i+1);
111747 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
111817 sqlite3ExprCode(pParse, pList->a[j].pExpr, iRegStore);
111905 sqlite3ExprListDelete(db, pList);
119061 if( p->op==TK_FUNCTION && p->x.pList ){
119063 for(i=0; i<p->x.pList->nExpr; i++){
119064 setJoinExpr(p->x.pList->a[i].pExpr, iTable);
119149 IdList *pList = pRight->pUsing;
119150 for(j=0; j<pList->nId; j++){
119156 zName = pList->a[j].zName;
119176 ExprList *pList, /* Form the KeyInfo object from this ExprList */
119780 ExprList *pList, /* Form the KeyInfo object from this ExprList */
119790 nExpr = pList->nExpr;
119794 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
121903 substExprList(pSubst, pExpr->x.pList);
121910 ExprList *pList /* List to scan and in which to make substitutes */
121913 if( pList==0 ) return;
121914 for(i=0; i<pList->nExpr; i++){
121915 pList->a[i].pExpr = substExpr(pSubst, pList->a[i].pExpr);
122604 ExprList *pEList = pFunc->x.pList; /* Arguments to agg function */
123462 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
123467 KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList, 0, 0);
123484 ExprList *pList = pF->pExpr->x.pList;
123486 sqlite3VdbeAddOp2(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0);
123508 ExprList *pList = pF->pExpr->x.pList;
123510 if( pList ){
123511 nArg = pList->nExpr;
123513 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
123528 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
123529 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
123726 if( pExpr->x.pList!=0 ) return 0; /* Must be count(*) */
124348 sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList);
124988 Trigger *pList = 0; /* List of triggers to return */
125002 pTrig->pNext = (pList ? pList : pTab->pTrigger);
125003 pList = pTrig;
125008 return (pList ? pList : pTab->pTrigger);
125589 Trigger *pList = 0;
125593 pList = sqlite3TriggerList(pParse, pTab);
125595 assert( pList==0 || IsVirtual(pTab)==0 );
125596 for(p=pList; p; p=p->pNext){
125604 return (mask ? pList : 0);
129588 ExprList *pOrigLhs = pNew->pLeft->x.pList; /* Original unmodified LHS */
129607 pNew->pLeft->x.pList = pLhs;
130250 ExprList *pList = p->x.pList;
130251 assert( nReg<=pList->nExpr );
130253 sqlite3ExprCode(pParse, pList->a[i].pExpr, iReg+i);
131575 ExprList *pList; /* List of operands to the LIKE operator */
131590 pList = pExpr->x.pList;
131591 pLeft = pList->a[1].pExpr;
131593 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
131732 ExprList *pList;
131736 pList = pExpr->x.pList;
131737 if( pList==0 || pList->nExpr!=2 ){
131740 pCol = pList->a[1].pExpr;
131747 *ppRight = pList->a[0].pExpr;
132168 ExprList *pList = 0; /* The RHS of the IN operator */
132178 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
132188 pNew->x.pList = pList;
132195 sqlite3ExprListDelete(db, pList);
132313 pExpr = pExpr->x.pList->a[0].pExpr;
132380 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
132413 pLeft = pLeft->x.pList->a[pTerm->iField-1].pExpr;
132479 ExprList *pList = pExpr->x.pList;
132482 assert( pList!=0 );
132483 assert( pList->nExpr==2 );
132489 sqlite3ExprDup(db, pList->a[i].pExpr, 0));
132537 pLeft = pExpr->x.pList->a[1].pExpr;
132828 assert( p->x.pList==0 );
132832 }else if( p->x.pList ){
132833 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
132837 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
132840 if( pList ){
132841 for(i=0; i<pList->nExpr; i++){
132842 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
133315 ExprList *pList, /* Expression list to search */
133323 for(i=0; i<pList->nExpr; i++){
133324 Expr *p = sqlite3ExprSkipCollate(pList->a[i].pExpr);
133329 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
134578 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
134590 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
134592 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
135202 Expr *pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
135207 pRhs = pRhs->x.pList->a[i].pExpr;
135379 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
135381 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
135469 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
141271 ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy322, yymsp[-1].minor.yy314);
141274 yymsp[-4].minor.yy314->x.pList = pList;
141276 sqlite3ExprListDelete(pParse->db, pList);
141295 ExprList *pList;
141298 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy314);
141299 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy314);
141300 yymsp[-2].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0);
141307 ExprList *pList;
141310 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314);
141311 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy314);
141312 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy314);
141313 yymsp[-4].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0);
141352 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314);
141353 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy314);
141356 yymsp[-4].minor.yy314->x.pList = pList;
141358 sqlite3ExprListDelete(pParse->db, pList);
141406 yymsp[-4].minor.yy314->x.pList = yymsp[-1].minor.yy322;
141449 …yymsp[-4].minor.yy314->x.pList = yymsp[-1].minor.yy314 ? sqlite3ExprListAppend(pParse,yymsp[-2].mi…
148829 char *pList; /* Pointer to position list following iDocid */
151451 char *pList, /* Position list (no 0x00 term) */
151457 char *p = pList;
151458 char *pEnd = &pList[nList];
152864 char *pList, /* Pointer to doclist */
152870 if( pList==0 ){
152877 p->doclist.aAll = pList;
152882 sqlite3_free(pList);
152895 pRight = pList;
152901 pLeft = pList;
152973 char *pList;
152975 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
152978 if( pList==0 ){
152980 pPhrase->doclist.pList = 0;
152985 aPoslist = pList;
152989 char *aOut = pList;
152996 aPoslist = pList;
153000 pPhrase->doclist.pList = 0;
153012 pPhrase->doclist.pList = aPoslist;
153024 p2 = pPhrase->doclist.pList;
153027 p1 = pPhrase->doclist.pList;
153038 pPhrase->doclist.pList = aOut;
153041 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
153044 pPhrase->doclist.pList = 0;
153247 pDL->pList = pIter;
153249 pDL->nList = (int)(pIter - pDL->pList);
153272 char *pList;
153298 p->pList = pPhrase->doclist.pList;
153308 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
153310 if( p->pList==0 ) *pbEof = 1;
153353 &pDL->iDocid, &pDL->pList, &pDL->nList
153355 if( pDL->pList==0 ) bEof = 1;
153399 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
153403 char *pL = a[i].pList;
153414 pDL->pList = aDoclist;
153452 pDL->pList = pDL->pNextDocid;
153741 char *pList = 0;
153742 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
153743 assert( rc==SQLITE_OK || pList==0 );
153746 pTab, pTC->pPhrase, pTC->iToken,pList,nList
153828 sqlite3_free(pPhrase->doclist.pList);
153830 pPhrase->doclist.pList = 0;
153871 assert( pPhrase->doclist.pList );
153873 p2 = pOut = pPhrase->doclist.pList;
153878 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
153879 assert( pPhrase->doclist.pList[nNew]=='\0' );
153881 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
153883 *paPoslist = pPhrase->doclist.pList;
153980 memset(pDl->pList, 0, pDl->nList);
153987 memset(pDl->pList, 0, pDl->nList);
154115 char *aPoslist = p->pPhrase->doclist.pList;
154124 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
154228 bHit = (pPhrase->doclist.pList!=0);
154383 if( pPhrase && pPhrase->doclist.pList ){
154385 char *p = pPhrase->doclist.pList;
154603 pIter = pPhrase->doclist.pList;
159005 PendingList *pList; /* Doclist is assembled here */
159628 static void fts3PendingListDelete(PendingList *pList){
159629 sqlite3_free(pList);
159643 PendingList *pList;
159646 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
159647 if( pList ){
159648 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
159650 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
159651 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
159656 sqlite3_free(pList);
159661 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
159789 PendingList *pList = (PendingList *)fts3HashData(pElem);
159790 fts3PendingListDelete(pList);
160219 PendingList *pList = (PendingList *)fts3HashData(pElem);
160220 int nCopy = pList->nData+1;
160225 memcpy(aCopy, pList->aData, nCopy);
161476 char *pList = *ppList;
161478 char *pEnd = &pList[nList];
161480 char *p = pList;
161488 nList = (int)(p - pList);
161492 nList -= (int)(p - pList);
161493 pList = p;
161497 p = &pList[1];
161501 if( bZero && &pList[nList]!=pEnd ){
161502 memset(&pList[nList], 0, pEnd - &pList[nList]);
161504 *ppList = pList;
161517 char *pList,
161528 memcpy(pMsr->aBuffer, pList, nList);
161559 char *pList;
161564 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
161578 rc = fts3MsrBufferData(pMsr, pList, nList+1);
161581 pList = pMsr->aBuffer;
161585 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
161589 *paPoslist = pList;
161817 char *pList = 0;
161821 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
161832 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
161863 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
161872 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
164228 fts3PendingListDelete(pDef->pList);
164229 pDef->pList = 0;
164242 fts3PendingListDelete(pDef->pList);
164290 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
164300 if( pDef->pList ){
164301 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
164321 if( p->pList==0 ){
164325 pRet = (char *)sqlite3_malloc(p->pList->nData);
164328 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
164329 *pnData = p->pList->nData - nSkip;
164332 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
164651 char *pList; /* Pointer to start of phrase position list */
165058 pPhrase->pList = pCsr;
165067 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
165444 char *pIter = pPhrase->doclist.pList;
166081 char *pList; /* Position-list */
166101 char *pList; /* Pointer to position list for phrase */
166106 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
166108 if( pList ){
166109 fts3GetDeltaPosition(&pList, &iPos);
166116 pT->pList = pList;
166210 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
166221 if( 0==(0xFE&*pTerm->pList) ){
166222 pTerm->pList = 0;
166224 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
173953 sqlite3_stmt *pList = 0;
173958 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
173964 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
173965 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
173985 rbuFinalize(p, pList);
180436 static void sessionDeleteTable(SessionTable *pList){
180440 for(pTab=pList; pTab; pTab=pNext){
183135 SessionTable *pList; /* List of tables in current patch */
183286 if( pGrp->pList==0 ){
183300 for(pTab = pGrp->pList; pTab; pTab=pTab->pNext){
183322 for(ppTab=&pGrp->pList; *ppTab; ppTab=&(*ppTab)->pNext);
183404 for(pTab=pGrp->pList; rc==SQLITE_OK && pTab; pTab=pTab->pNext){
183517 sessionDeleteTable(pGrp->pList);
194157 Fts5HashEntry *pList;
194181 pList = 0;
194183 pList = fts5HashEntryMerge(pList, ap[i]);
194188 *ppSorted = pList;
196186 const u8 *pList = 0;
196190 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
196191 if( pList==0 ) goto next_none_eof;
196192 pIter->pLeaf->p = (u8*)pList;
196197 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
196260 const u8 *pList = 0;
196266 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
196268 if( pList==0 ){
196272 pIter->pLeaf->p = (u8*)pList;
196278 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
196707 const u8 *pList = 0;
196717 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
196721 sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList);
196726 if( pList ){
196731 pLeaf->p = (u8*)pList;