Lines Matching defs:pList
10173 ** for(rc=sqlite3_vtab_in_first(pList, &pVal);
10175 ** rc=sqlite3_vtab_in_next(pList, &pVal)
18260 ** Expr.x.pList is a list of arguments if the expression is an SQL function,
18264 ** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
18301 ** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
18328 ExprList *pList; /* op = IN, EXISTS, SELECT, CASE, FUNCTION, BETWEEN */
18385 #define EP_xIsSelect 0x001000 /* x.pSelect is valid (otherwise x.pList is) */
32003 pFarg = pExpr->x.pList;
32069 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
32083 ** Y is stored in pExpr->pList->a[0].pExpr.
32084 ** Z is stored in pExpr->pList->a[1].pExpr.
32090 assert( pExpr->x.pList->nExpr==2 );
32091 pY = pExpr->x.pList->a[0].pExpr;
32092 pZ = pExpr->x.pList->a[1].pExpr;
32115 sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0);
32141 sqlite3TreeViewBareExprList(pView, pExpr->x.pList, z);
32197 const ExprList *pList,
32201 if( pList==0 ){
32206 for(i=0; i<pList->nExpr; i++){
32207 int j = pList->a[i].u.x.iOrderByCol;
32208 char *zName = pList->a[i].zEName;
32209 int moreToFollow = i<pList->nExpr - 1;
32215 switch( pList->a[i].fg.eEName ){
32221 if( pList->a[i].fg.bUsed ) fprintf(stdout, "(used) ");
32222 if( pList->a[i].fg.bUsingTerm ) fprintf(stdout, "(USING-term) ");
32223 if( pList->a[i].fg.bNoExpand ) fprintf(stdout, "(NoExpand) ");
32236 sqlite3TreeViewExpr(pView, pList->a[i].pExpr, moreToFollow);
32245 const ExprList *pList,
32250 sqlite3TreeViewBareExprList(pView, pList, zLabel);
32259 const IdList *pList,
32263 if( pList==0 ){
32268 for(i=0; i<pList->nId; i++){
32269 char *zName = pList->a[i].zName;
32270 int moreToFollow = i<pList->nId - 1;
32274 if( pList->eU4==EU4_NONE ){
32276 }else if( pList->eU4==EU4_IDX ){
32277 fprintf(stdout, "%s (%d)\n", zName, pList->a[i].u4.idx);
32279 assert( pList->eU4==EU4_EXPR );
32280 if( pList->a[i].u4.pExpr==0 ){
32284 sqlite3TreeViewPush(&pView, i<pList->nId-1);
32285 sqlite3TreeViewExpr(pView, pList->a[i].u4.pExpr, 0);
32295 const IdList *pList,
32300 sqlite3TreeViewBareIdList(pView, pList, zLabel);
55193 static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
55198 assert( pList!=0 );
55199 p = pList;
55200 pList = p->pRight;
55202 for(iDepth=1; pList; iDepth++){
55204 p = pList;
55205 pList = p->pRight;
55207 p->pRight = rowSetNDeepTree(&pList, iDepth);
58659 PgHdr *pList; /* List of dirty pages to revert */
58670 pList = sqlite3PcacheDirtyList(pPager->pPCache);
58671 while( pList && rc==SQLITE_OK ){
58672 PgHdr *pNext = pList->pDirty;
58673 rc = pagerUndoCallback((void *)pPager, pList->pgno);
58674 pList = pNext;
58682 ** the contents of the list of pages headed by pList (connected by pDirty),
58691 PgHdr *pList, /* List of frames to log */
58696 int nList; /* Number of pages in pList */
58700 assert( pList );
58703 for(p=pList; p && p->pDirty; p=p->pDirty){
58708 assert( pList->pDirty==0 || isCommit );
58714 PgHdr **ppNext = &pList;
58716 for(p=pList; (*ppNext = p)!=0; p=p->pDirty){
58722 assert( pList );
58728 if( pList->pgno==1 ) pager_write_changecounter(pList);
58730 pPager->pageSize, pList, nTruncate, isCommit, pPager->walSyncFlags
58733 for(p=pList; p; p=p->pDirty){
58739 pList = sqlite3PcacheDirtyList(pPager->pPCache);
58740 for(p=pList; p; p=p->pDirty){
59930 static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
59937 assert( isOpen(pPager->fd) || pList->pDirty==0 );
59954 && (pList->pDirty || pList->pgno>pPager->dbHintSize)
59961 while( rc==SQLITE_OK && pList ){
59962 Pgno pgno = pList->pgno;
59972 if( pgno<=pPager->dbSize && 0==(pList->flags&PGHDR_DONT_WRITE) ){
59976 assert( (pList->flags&PGHDR_NEED_SYNC)==0 );
59977 if( pList->pgno==1 ) pager_write_changecounter(pList);
59980 CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM_BKPT, pData);
59998 sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData);
60001 PAGERID(pPager), pgno, pager_pagehash(pList)));
60007 pager_set_pagehash(pList);
60008 pList = pList->pDirty;
60197 PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
60199 while( rc==SQLITE_OK && pList ){
60200 PgHdr *pNext = pList->pDirty;
60201 if( pList->nRef==0 ){
60202 rc = pagerStress((void*)pPager, pList);
60204 pList = pNext;
62006 PgHdr *pList;
62009 pList = sqlite3PcacheDirtyList(pPager->pPCache);
62010 if( pList==0 ){
62014 pList = pPageOne;
62015 pList->pDirty = 0;
62018 if( ALWAYS(pList) ){
62019 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
62122 pList = sqlite3PcacheDirtyList(pPager->pPCache);
62127 rc = pager_write_pagelist(pPager, pList);
62150 rc = pager_write_pagelist(pPager, pList);
66984 PgHdr *pList, /* List of dirty pages to write */
66991 PgHdr *p; /* Iterator to run through pList with. */
67000 assert( pList );
67008 { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){}
67081 for(p=pList; p; p=p->pDirty){
67180 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
71371 BtShared *pList;
71382 pList = GLOBAL(BtShared*,sqlite3SharedCacheList);
71383 while( ALWAYS(pList) && pList->pNext!=pBt ){
71384 pList=pList->pNext;
71386 if( ALWAYS(pList) ){
71387 pList->pNext = pBt->pNext;
82018 ExprList *pList = 0; /* Function arguments */
82024 pList = p->x.pList;
82025 if( pList ) nVal = pList->nExpr;
82035 if( pList ){
82042 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
99963 SorterRecord *pList; /* Linked list of records */
99964 u8 *aMemory; /* If non-NULL, bulk memory to hold pList */
99965 int szPMA; /* Size of pList as PMA in bytes */
100834 vdbeSorterRecordFree(0, pTask->list.pList);
101026 vdbeSorterRecordFree(0, pSorter->list.pList);
101028 pSorter->list.pList = 0;
101174 ** Sort the linked list of records headed at pTask->pList. Return
101178 static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
101187 p = pList->pList;
101193 if( pList->aMemory ){
101194 if( (u8*)p==pList->aMemory ){
101197 assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) );
101198 pNext = (SorterRecord*)&pList->aMemory[p->u.iNext];
101218 pList->pList = p;
101311 ** Write the current contents of in-memory linked-list pList to a level-0
101324 static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
101332 i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof;
101337 assert( pList->szPMA>0 );
101349 vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9);
101354 rc = vdbeSorterSort(pTask, pList);
101364 vdbePmaWriteVarint(&writer, pList->szPMA);
101365 for(p=pList->pList; p; p=pNext){
101369 if( pList->aMemory==0 ) sqlite3_free(p);
101371 pList->pList = p;
101376 assert( rc!=SQLITE_OK || pList->pList==0 );
101515 assert( pTask->list.pList==0 );
101522 pSorter->list.pList = 0;
101599 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
101615 if( pSorter->list.pList ){
101616 iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory;
101624 pSorter->list.pList = (SorterRecord*)&aNew[iListOff];
101632 if( pSorter->list.pList ){
101633 pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory);
101640 pNew->u.pNext = pSorter->list.pList;
101645 pSorter->list.pList = pNew;
102370 if( pSorter->list.pList ){
102383 assert( pSorter->list.pList );
102435 SorterRecord *pFree = pSorter->list.pList;
102436 pSorter->list.pList = pFree->u.pNext;
102439 rc = pSorter->list.pList ? SQLITE_OK : SQLITE_DONE;
102466 *pnKey = pSorter->list.pList->nVal;
102467 pKey = SRVAL(pSorter->list.pList);
103440 static int walkWindowList(Walker *pWalker, Window *pList, int bOneOnly){
103442 for(pWin=pList; pWin; pWin=pWin->pNextWin){
103487 assert( pExpr->x.pList==0 || pExpr->pRight==0 );
103497 if( pExpr->x.pList ){
103498 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
104255 assert( ExprUseXList(pExpr)==0 || pExpr->x.pList==0 );
104360 pExpr->x.pList = pFJMatch;
104664 ExprList *pList = pExpr->x.pList; /* The argument list */
104665 int n = pList ? pList->nExpr : 0; /* Number of arguments */
104691 pExpr->iTable = exprProbability(pList->a[1].pExpr);
104834 sqlite3WalkExprList(pWalker, pList);
104949 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[0].pExpr);
104951 nRight = sqlite3ExprVectorSize(pExpr->x.pList->a[1].pExpr);
105689 ExprList *pList /* The expression list to be analyzed. */
105694 if( pList==0 ) return WRC_Continue;
105702 for(i=0; i<pList->nExpr; i++){
105703 Expr *pExpr = pList->a[i].pExpr;
105782 ExprList *pList /* Expression list to resolve. May be NULL. */
105808 if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList);
105897 return sqlite3ExprAffinity(pExpr->x.pList->a[0].pExpr);
105957 assert( pExpr->x.pList->nExpr>0 );
105959 pExpr = pExpr->x.pList->a[0].pExpr;
106005 p = p->x.pList->a[0].pExpr;
106020 assert( p->x.pList==0 || p->pRight==0 );
106021 if( p->x.pList!=0 && !db->mallocFailed ){
106023 for(i=0; ALWAYS(i<p->x.pList->nExpr); i++){
106024 if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){
106025 pNext = p->x.pList->a[i].pExpr;
106245 return pExpr->x.pList->nExpr;
106278 return pVector->x.pList->a[i].pExpr;
106340 ppVector = &pVector->x.pList->a[iField].pExpr;
106410 *ppExpr = pVector->x.pList->a[iField].pExpr;
106572 ** argument. An expression with no children, Expr.pList or
106577 ** Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags,
106587 }else if( p->x.pList ){
106588 heightOfExprList(p->x.pList, &nHeight);
106589 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
106599 ** Also propagate all EP_Propagate flags from the Expr.x.pList into
106619 ** Propagate all EP_Propagate flags from the Expr.x.pList into
106624 if( p && ExprUseXList(p) && p->x.pList ){
106625 p->flags |= EP_Propagate & sqlite3ExprListFlags(p->x.pList);
106822 nExprElem = pExpr->x.pList->nExpr;
106833 pSel = sqlite3SelectNew(pParse, pExpr->x.pList, 0, 0, 0, 0, 0, SF_Values,0);
106834 pExpr->x.pList = 0;
106882 ExprList *pList, /* Argument list */
106891 sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */
106896 if( pList
106897 && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG]
106902 pNew->x.pList = pList;
107042 assert( !ExprUseXList(p) || p->x.pList==0 );
107047 assert( (ExprUseXList(p) && p->x.pList==0) || p->pRight==0 );
107056 sqlite3ExprListDelete(db, p->x.pList);
107173 if( p->pLeft || p->x.pList ){
107207 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
107290 /* Fill in the pNew->x.pSelect or pNew->x.pList member. */
107294 pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags);
107589 ** Add a new element to the end of an expression list. If pList is
107592 ** The pList argument must be either NULL or a pointer to an ExprList
107595 ** Reason: This routine assumes that the number of slots in pList->a[]
107609 ExprList *pList;
107611 pList = sqlite3DbMallocRawNN(db, sizeof(ExprList)+sizeof(pList->a[0])*4 );
107612 if( pList==0 ){
107616 pList->nAlloc = 4;
107617 pList->nExpr = 1;
107618 pItem = &pList->a[0];
107621 return pList;
107625 ExprList *pList, /* List to which to append. Might be NULL */
107630 pList->nAlloc *= 2;
107631 pNew = sqlite3DbRealloc(db, pList,
107632 sizeof(*pList)+(pList->nAlloc-1)*sizeof(pList->a[0]));
107634 sqlite3ExprListDelete(db, pList);
107638 pList = pNew;
107640 pItem = &pList->a[pList->nExpr++];
107643 return pList;
107647 ExprList *pList, /* List to which to append. Might be NULL */
107651 if( pList==0 ){
107654 if( pList->nAlloc<pList->nExpr+1 ){
107655 return sqlite3ExprListAppendGrow(pParse->db,pList,pExpr);
107657 pItem = &pList->a[pList->nExpr++];
107660 return pList;
107671 ** expression list pList. In the case of a subquery on the RHS, append
107676 ExprList *pList, /* List to which to append. Might be NULL */
107683 int iFirst = pList ? pList->nExpr : 0;
107704 pList = sqlite3ExprListAppend(pParse, pList, pSubExpr);
107705 if( pList ){
107706 assert( pList->nExpr==iFirst+i+1 );
107707 pList->a[pList->nExpr-1].zEName = pColumns->a[i].zName;
107712 if( !db->mallocFailed && pExpr->op==TK_SELECT && ALWAYS(pList!=0) ){
107713 Expr *pFirst = pList->a[iFirst].pExpr;
107730 return pList;
107770 ** pList might be NULL following an OOM error. But pName should never be
107776 ExprList *pList, /* List to which to add the span. */
107780 assert( pList!=0 || pParse->db->mallocFailed!=0 );
107782 if( pList ){
107784 assert( pList->nExpr>0 );
107785 pItem = &pList->a[pList->nExpr-1];
107805 ** pList might be NULL following an OOM error. But pSpan should never be
107811 ExprList *pList, /* List to which to add the span. */
107816 assert( pList!=0 || db->mallocFailed!=0 );
107817 if( pList ){
107818 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
107819 assert( pList->nExpr>0 );
107847 static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
107848 int i = pList->nExpr;
107849 struct ExprList_item *pItem = pList->a;
107850 assert( pList->nExpr>0 );
107857 sqlite3DbNNFreeNN(db, pList);
107859 SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
107860 if( pList ) exprListDeleteNN(db, pList);
107867 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
107870 assert( pList!=0 );
107871 for(i=0; i<pList->nExpr; i++){
107872 Expr *pExpr = pList->a[i].pExpr;
108733 && (!sqlite3InRhsIsConstant(pX) || pX->x.pList->nExpr<=2)
108981 }else if( ALWAYS(pExpr->x.pList!=0) ){
108991 ExprList *pList = pExpr->x.pList;
109008 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
109323 ExprList *pList;
109330 pList = pExpr->x.pList;
109336 for(ii=0; ii<pList->nExpr; ii++){
109337 r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree);
109338 if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){
109342 if( ii<pList->nExpr-1 || destIfNull!=destIfFalse ){
109346 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_Eq);
109347 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_Eq);
109348 VdbeCoverageIf(v, ii<pList->nExpr-1 && op==OP_NotNull);
109349 VdbeCoverageIf(v, ii==pList->nExpr-1 && op==OP_NotNull);
109717 sqlite3ExprCodeFactorable(pParse, p->x.pList->a[i].pExpr, i+iResult);
109773 caseExpr.x.pList = pFarg;
110285 pFarg = pExpr->x.pList;
110438 ** Y is stored in pExpr->pList->a[0].pExpr.
110439 ** Z is stored in pExpr->pList->a[1].pExpr.
110582 ** Y is in the last element of pExpr->x.pList if pExpr->x.pList->nExpr is
110583 ** odd. The Y is also optional. If the number of elements in x.pList
110585 ** Ei is in pExpr->pList->a[i*2] and Ri is pExpr->pList->a[i*2+1].
110604 assert( ExprUseXList(pExpr) && pExpr->x.pList!=0 );
110605 assert(pExpr->x.pList->nExpr > 0);
110606 pEList = pExpr->x.pList;
110843 ** usually be pList->nExpr but might be reduced if SQLITE_ECEL_OMITREF
110860 ExprList *pList, /* The expression list to be coded */
110869 assert( pList!=0 );
110872 n = pList->nExpr;
110874 for(pItem=pList->a, i=0; i<n; i++, pItem++){
110959 compLeft.pRight = pExpr->x.pList->a[0].pExpr;
110962 compRight.pRight = pExpr->x.pList->a[1].pExpr;
111470 if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
111548 assert( ExprUseXSelect(p) || (p->x.pList!=0 && p->x.pList->nExpr>0) );
111552 ExprList *pList;
111554 pList = p->x.pList;
111555 assert( pList!=0 );
111556 assert( pList->nExpr==2 );
111558 if( exprImpliesNotNull(pParse, pList->a[0].pExpr, pNN, iTab, 1)
111559 || exprImpliesNotNull(pParse, pList->a[1].pExpr, pNN, iTab, 1)
111953 sqlite3WalkExprList(&w, pExpr->x.pList);
112177 pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0);
112227 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
112230 if( pList ){
112231 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
113034 RenameToken *pList; /* List of tokens to overwrite */
113035 int nList; /* Number of tokens in pList */
113207 ExprList *pList = p->pEList;
113208 for(i=0; i<pList->nExpr; i++){
113209 if( pList->a[i].zEName && pList->a[i].fg.eEName==ENAME_NAME ){
113210 sqlite3RenameTokenRemap(pParse, 0, (void*)pList->a[i].zEName);
113300 pToken->pNext = pCtx->pList;
113301 pCtx->pList = pToken;
113361 RenameToken *pBest = pCtx->pList;
113368 for(pp=&pCtx->pList; *pp!=pBest; pp=&(*pp)->pNext);
113546 /* At this point pRename->pList contains a list of RenameToken objects
113553 while( pRename->pList ){
113944 renameTokenFree(db, sCtx.pList);
114154 renameTokenFree(db, sCtx.pList);
114268 renameTokenFree(db, sCtx.pList);
117044 SrcList *pList = pSelect->pSrc;
117046 if( NEVER(pList==0) ) return WRC_Continue;
117047 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
117064 if( pList->a[i].fg.isUsing==0
117065 && sqlite3WalkExpr(&pFix->w, pList->a[i].u3.pOn)
117125 SrcList *pList /* The Source list to check and modify */
117128 if( pList ){
117131 s.pSrc = pList;
118160 ExprList *pList;
118162 pList = pTab->u.tab.pDfltList;
118164 || NEVER(pList==0)
118165 || NEVER(pList->nExpr<pCol->iDflt)
118167 pCol->iDflt = pList==0 ? 1 : pList->nExpr+1;
118168 pTab->u.tab.pDfltList = sqlite3ExprListAppend(pParse, pList, pExpr);
118170 sqlite3ExprDelete(pParse->db, pList->a[pCol->iDflt-1].pExpr);
118171 pList->a[pCol->iDflt-1].pExpr = pExpr;
118919 SQLITE_PRIVATE void sqlite3AddReturning(Parse *pParse, ExprList *pList){
118931 sqlite3ExprListDelete(db, pList);
118936 pRet->pReturnEL = pList;
118950 pRet->retTStep.pExprList = pList;
119287 ** Designate the PRIMARY KEY for the table. pList is a list of names
119288 ** of columns that form the primary key. If pList is NULL, then the
119306 ExprList *pList, /* List of field names to be indexed */
119322 if( pList==0 ){
119328 nTerm = pList->nExpr;
119330 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
119352 if( IN_RENAME_OBJECT && pList ){
119353 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[0].pExpr);
119360 if( pList ) pParse->iPkSortOrder = pList->a[0].fg.sortFlags;
119361 (void)sqlite3HasExplicitNulls(pParse, pList);
119368 sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
119370 pList = 0;
119374 sqlite3ExprListDelete(pParse->db, pList);
119843 ExprList *pList;
119846 pList = sqlite3ExprListAppend(pParse, 0,
119848 if( pList==0 ){
119853 sqlite3RenameTokenRemap(pParse, pList->a[0].pExpr, &pTab->iPKey);
119855 pList->a[0].fg.sortFlags = pParse->iPkSortOrder;
119858 sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0,
120053 static void markExprListImmutable(ExprList *pList){
120054 if( pList ){
120060 sqlite3WalkExprList(&w, pList);
121341 ** If expression list pList contains an expression that was parsed with
121345 SQLITE_PRIVATE int sqlite3HasExplicitNulls(Parse *pParse, ExprList *pList){
121346 if( pList ){
121348 for(i=0; i<pList->nExpr; i++){
121349 if( pList->a[i].fg.bNulls ){
121350 u8 sf = pList->a[i].fg.sortFlags;
121369 ** pList is a list of columns to be indexed. pList will be NULL if this
121378 ExprList *pList, /* A list of columns to be indexed */
121382 int sortOrder, /* Sort order of primary key when pList==NULL */
121397 struct ExprList_item *pListItem; /* For looping over pList */
121414 if( sqlite3HasExplicitNulls(pParse, pList) ){
121565 /* If pList==0, it means this routine was called to make a primary
121569 if( pList==0 ){
121574 pList = sqlite3ExprListAppend(pParse, 0,
121576 if( pList==0 ) goto exit_create_index;
121577 assert( pList->nExpr==1 );
121578 sqlite3ExprListSetSortOrder(pList, sortOrder, SQLITE_SO_UNDEFINED);
121580 sqlite3ExprListCheckLength(pParse, pList, "index");
121587 for(i=0; i<pList->nExpr; i++){
121588 Expr *pExpr = pList->a[i].pExpr;
121601 assert( pList->nExpr + nExtraCol <= 32767 /* Fits in i16 */ );
121602 pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol,
121617 pIndex->nKeyCol = pList->nExpr;
121642 pListItem = pList->a;
121644 pIndex->aColExpr = pList;
121645 pList = 0;
121663 pIndex->aColExpr = pList;
121664 pList = 0;
121963 sqlite3ExprListDelete(db, pList);
122142 SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse *pParse, IdList *pList, Token *pToken){
122145 if( pList==0 ){
122146 pList = sqlite3DbMallocZero(db, sizeof(IdList) );
122147 if( pList==0 ) return 0;
122150 pNew = sqlite3DbRealloc(db, pList,
122151 sizeof(IdList) + pList->nId*sizeof(pList->a));
122153 sqlite3IdListDelete(db, pList);
122156 pList = pNew;
122158 i = pList->nId++;
122159 pList->a[i].zName = sqlite3NameFromToken(db, pToken);
122160 if( IN_RENAME_OBJECT && pList->a[i].zName ){
122161 sqlite3RenameTokenMap(pParse, (void*)pList->a[i].zName, pToken);
122163 return pList;
122169 SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){
122172 if( pList==0 ) return;
122173 assert( pList->eU4!=EU4_EXPR ); /* EU4_EXPR mode is not currently used */
122174 for(i=0; i<pList->nId; i++){
122175 sqlite3DbFree(db, pList->a[i].zName);
122177 sqlite3DbNNFreeNN(db, pList);
122181 ** Return the index in pList of the identifier named zId. Return -1
122184 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
122186 assert( pList!=0 );
122187 for(i=0; i<pList->nId; i++){
122188 if( sqlite3StrICmp(pList->a[i].zName, zName)==0 ) return i;
122286 ** a new one. If an OOM error does occurs, then the prior value of pList
122316 SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */
122326 if( pList==0 ){
122327 pList = sqlite3DbMallocRawNN(pParse->db, sizeof(SrcList) );
122328 if( pList==0 ) return 0;
122329 pList->nAlloc = 1;
122330 pList->nSrc = 1;
122331 memset(&pList->a[0], 0, sizeof(pList->a[0]));
122332 pList->a[0].iCursor = -1;
122334 SrcList *pNew = sqlite3SrcListEnlarge(pParse, pList, 1, pList->nSrc);
122336 sqlite3SrcListDelete(db, pList);
122339 pList = pNew;
122342 pItem = &pList->a[pList->nSrc-1];
122353 return pList;
122359 SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
122362 assert( pList || pParse->db->mallocFailed );
122363 if( ALWAYS(pList) ){
122364 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
122377 SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
122381 if( pList==0 ) return;
122382 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
122396 sqlite3DbNNFreeNN(db, pList);
122523 SQLITE_PRIVATE void sqlite3SrcListFuncArgs(Parse *pParse, SrcList *p, ExprList *pList){
122529 pItem->u1.pFuncArg = pList;
122532 sqlite3ExprListDelete(pParse->db, pList);
123935 pLhs->x.pList = sqlite3ExprListDup(db, pEList, 0);
126702 if( !pExpr->x.pList ){
126705 nExpr = pExpr->x.pList->nExpr;
126727 Expr *pEscape = pExpr->x.pList->a[2].pExpr;
128356 ExprList *pList = 0; /* Changes list if ON UPDATE CASCADE */
128433 pList = sqlite3ExprListAppend(pParse, pList, pNew);
128434 sqlite3ExprListSetName(pParse, pList, &tFromCol, 0);
128480 pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE);
128493 sqlite3ExprListDelete(db, pList);
129313 ExprList *pList = 0; /* List of VALUES() to be inserted */
129344 pList = pSelect->pEList;
129385 sqlite3TreeViewInsert(pParse->pWith, pTabList, pColumn, pSelect, pList,
129426 assert( pList==0 );
129584 if( pList ){
129585 nColumn = pList->nExpr;
129586 if( sqlite3ResolveExprListNames(&sNC, pList) ){
129806 Expr *pX = pList->a[k].pExpr;
129837 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols);
129889 Expr *pIpk = pList->a[ipkColumn].pExpr;
129894 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid);
130030 sqlite3ExprListDelete(db, pList);
138626 if( p->x.pList ){
138628 for(i=0; i<p->x.pList->nExpr; i++){
138629 sqlite3SetJoinExpr(p->x.pList->a[i].pExpr, iTable, joinFlag);
138663 if( p->x.pList ){
138665 for(i=0; i<p->x.pList->nExpr; i++){
138666 unsetJoinExpr(p->x.pList->a[i].pExpr, iTable, nullable);
138752 IdList *pList = pRight->u3.pUsing;
138754 assert( pList!=0 );
138755 for(j=0; j<pList->nId; j++){
138764 zName = pList->a[j].zName;
139790 ExprList *pList, /* Form the KeyInfo object from this ExprList */
139791 int iStart, /* Begin with this column of pList */
139800 nExpr = pList->nExpr;
139804 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
142112 substExprList(pSubst, pExpr->x.pList);
142127 ExprList *pList /* List to scan and in which to make substitutes */
142130 if( pList==0 ) return;
142131 for(i=0; i<pList->nExpr; i++){
142132 pList->a[i].pExpr = substExpr(pSubst, pList->a[i].pExpr);
143415 pEList = pFunc->x.pList;
144492 if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){
144497 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0);
144516 ExprList *pList;
144518 pList = pF->pFExpr->x.pList;
144519 sqlite3VdbeAddOp2(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0);
144552 ExprList *pList;
144555 pList = pF->pFExpr->x.pList;
144578 if( pList ){
144579 nArg = pList->nExpr;
144581 sqlite3ExprCodeExprList(pParse, pList, regAgg, 0, SQLITE_ECEL_DUP);
144586 if( pF->iDistinct>=0 && pList ){
144591 pF->iDistinct, addrNext, pList, regAgg);
144597 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
144598 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
144804 if( pExpr->x.pList!=0 ) return 0; /* Must be count(*) */
145668 sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList);
145728 && pAggInfo->aFunc[0].pFExpr->x.pList!=0
145730 Expr *pExpr = pAggInfo->aFunc[0].pFExpr->x.pList->a[0].pExpr;
146051 pDistinct = pAggInfo->aFunc[0].pFExpr->x.pList;
146414 Trigger *pList; /* List of triggers to return */
146420 pList = pTab->pTrigger;
146428 pTrig->pNext = pList;
146429 pList = pTrig;
146438 pTrig->pNext = pList;
146439 pList = pTrig;
146444 if( pList ){
146447 for(pX=pList; pX; pX=pX->pNext){
146454 return pList;
147132 Trigger *pList = 0;
147135 pList = sqlite3TriggerList(pParse, pTab);
147136 assert( pList==0 || IsVirtual(pTab)==0
147137 || (pList->bReturning && pList->pNext==0) );
147138 if( pList!=0 ){
147139 p = pList;
147144 ** only TEMP triggers are allowed. Truncate the pList so that it
147146 if( pList==pTab->pTrigger ){
147147 pList = 0;
147152 p = pList;
147185 return (mask ? pList : 0);
147267 /* The input list pList is the list of result set terms from a RETURNING
147270 ** This routine makes a copy of the pList, and at the same time expands
147275 ExprList *pList, /* The arguments to RETURNING */
147282 for(i=0; i<pList->nExpr; i++){
147283 Expr *pOldExpr = pList->a[i].pExpr;
147301 if( !db->mallocFailed && ALWAYS(pList->a[i].zEName!=0) ){
147303 pItem->zEName = sqlite3DbStrDup(db, pList->a[i].zEName);
147304 pItem->fg.eEName = pList->a[i].fg.eEName;
148040 ExprList *pList = 0;
148080 pList = sqlite3ExprListAppend(pParse, pList, pNew);
148085 pList = sqlite3ExprListAppend(pParse, pList, exprRowColumn(pParse, i));
148090 pList = sqlite3ExprListAppend(pParse, 0, sqlite3PExpr(pParse,TK_ROW,0,0));
148100 pList = sqlite3ExprListAppend(pParse, pList,
148105 pSelect = sqlite3SelectNew(pParse, pList,
149060 ExprList *pList;
149079 pList = sqlite3ExprListAppend(pParse, 0, pRow);
149083 pList = sqlite3ExprListAppend(pParse, pList,
149087 pList = sqlite3ExprListAppend(pParse, pList, exprRowColumn(pParse, i));
149091 updateFromSelect(pParse, ephemTab, pPk, pList, pSrc, pWhere, 0, 0);
149092 sqlite3ExprListDelete(db, pList);
152417 pOrigLhs = pNew->pLeft->x.pList;
152433 pNew->pLeft->x.pList = pLhs;
153132 const ExprList *pList;
153134 pList = p->x.pList;
153135 assert( nReg<=pList->nExpr );
153137 sqlite3ExprCode(pParse, pList->a[i].pExpr, iReg+i);
153431 assert( iFld<=pLeft->x.pList->nExpr );
153432 pCompare->pLeft = pLeft->x.pList->a[iFld-1].pExpr;
154878 ExprList *pList; /* List of operands to the LIKE operator */
154894 pList = pExpr->x.pList;
154895 pLeft = pList->a[1].pExpr;
154897 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);
155065 ExprList *pList;
155070 pList = pExpr->x.pList;
155071 if( pList==0 || pList->nExpr!=2 ){
155082 pCol = pList->a[1].pExpr;
155089 *ppRight = pList->a[0].pExpr;
155106 pCol = pList->a[0].pExpr;
155123 *ppRight = pList->a[1].pExpr;
155560 ExprList *pList = 0; /* The RHS of the IN operator */
155571 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
155581 pNew->x.pList = pList;
155588 sqlite3ExprListDelete(db, pList);
155712 pExpr = pExpr->x.pList->a[0].pExpr;
155784 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
155791 || pExpr->x.pList!=0
155846 pLeft = pLeft->x.pList->a[pTerm->u.x.iField-1].pExpr;
155926 ExprList *pList;
155930 pList = pExpr->x.pList;
155931 assert( pList!=0 );
155932 assert( pList->nExpr==2 );
155938 sqlite3ExprDup(db, pList->a[i].pExpr, 0));
156024 pLeft = pExpr->x.pList->a[1].pExpr;
156439 assert( p->x.pList==0 );
156443 }else if( p->x.pList ){
156444 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
156468 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){
156471 if( pList ){
156472 for(i=0; i<pList->nExpr; i++){
156473 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
157078 ** This function searches pList for an entry that matches the iCol-th column
157081 ** If such an expression is found, its index in pList->a[] is returned. If
157086 ExprList *pList, /* Expression list to search */
157094 for(i=0; i<pList->nExpr; i++){
157095 Expr *p = sqlite3ExprSkipCollateAndLikely(pList->a[i].pExpr);
157101 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
158599 ExprList *pList, /* The value list on the RHS of "x IN (v1,v2,v3,...)" */
158611 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
158613 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
159280 pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
159285 pRhs = pRhs->x.pList->a[i].pExpr;
159456 }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
159458 nIn = sqlite3LogEst(pExpr->x.pList->nExpr);
159595 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
163757 static Window *windowFind(Parse *pParse, Window *pList, const char *zName){
163759 for(p=pList; p; p=p->pNextWin){
163770 ** for a window function within a SELECT statement. Argument pList is a
163777 ** search list pList for a matching WINDOW definition, and update pWin
163787 Window *pList, /* List of named windows for this SELECT */
163792 Window *p = windowFind(pParse, pList, pWin->zName);
163803 sqlite3WindowChain(pParse, pWin, pList);
164015 ** expression list pList. Return a pointer to the result list.
164019 ExprList *pList, /* List to which to append. Might be NULL */
164025 int nInit = pList ? pList->nExpr : 0;
164043 pList = sqlite3ExprListAppend(pParse, pList, pDup);
164044 if( pList ) pList->a[nInit+i].fg.sortFlags = pAppend->a[i].fg.sortFlags;
164047 return pList;
164165 pArgs = pWin->pOwner->x.pList;
164401 SQLITE_PRIVATE void sqlite3WindowChain(Parse *pParse, Window *pWin, Window *pList){
164404 Window *pExist = windowFind(pParse, pList, pWin->zBase);
164557 ExprList *pList;
164560 pList = pWin->pOwner->x.pList;
164561 pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
164649 const ExprList *pList;
164651 pList = pWin->pOwner->x.pList;
164652 return (pList ? pList->nExpr : 0);
164837 assert( pWin->bExprArgs || !nArg ||nArg==pWin->pOwner->x.pList->nExpr );
164838 assert( pWin->bExprArgs || nArg ||pWin->pOwner->x.pList==0 );
164851 nArg = pWin->pOwner->x.pList->nExpr;
164853 sqlite3ExprCodeExprList(pParse, pWin->pOwner->x.pList, regArg, 0, 0);
164866 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
165076 int nArg = pWin->pOwner->x.pList->nExpr;
170636 ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy322, yymsp[-1].minor.yy528);
170639 yymsp[-4].minor.yy528->x.pList = pList;
170640 if( ALWAYS(pList->nExpr) ){
170641 yymsp[-4].minor.yy528->flags |= pList->a[0].pExpr->flags & EP_Propagate;
170644 sqlite3ExprListDelete(pParse->db, pList);
170665 ExprList *pList;
170668 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy528);
170669 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy528);
170670 yymsp[-2].minor.yy528 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0);
170677 ExprList *pList;
170680 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy528);
170681 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy528);
170682 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy528);
170683 yymsp[-4].minor.yy528 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0);
170730 ExprList *pList = sqlite3ExprListAppend(pParse, 0, yymsp[-2].minor.yy528);
170731 pList = sqlite3ExprListAppend(pParse, pList, yymsp[0].minor.yy528);
170732 yylhsminor.yy528 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0);
170742 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy528);
170743 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy528);
170746 yymsp[-4].minor.yy528->x.pList = pList;
170748 sqlite3ExprListDelete(pParse->db, pList);
170779 int nExpr = yymsp[-4].minor.yy528->pLeft->x.pList->nExpr;
170786 yymsp[-4].minor.yy528->x.pList = yymsp[-1].minor.yy322;
170828 yymsp[-4].minor.yy528->x.pList = yymsp[-1].minor.yy528 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[-1].minor.yy528) : yymsp[-2].minor.yy322;
179667 sqlite3_int64 iDocid; /* Current docid (if pList!=0) */
179668 int bFreeList; /* True if pList should be sqlite3_free()d */
179669 char *pList; /* Pointer to position list following iDocid */
182396 ** Argument pList points to a position list nList bytes in size. This
182400 ** of the entries from pList at position 0, and terminated by an 0x00 byte.
182405 char *pList, /* Position list (no 0x00 term) */
182406 int nList, /* Size of pList in bytes */
182411 char *p = pList;
182412 char *pEnd = &pList[nList];
183837 ** Arguments pList/nList contain the doclist for token iToken of phrase p.
183840 ** This function assumes that pList points to a buffer allocated using
183848 Fts3Phrase *p, /* Phrase to merge pList/nList into */
183849 int iToken, /* Token pList/nList corresponds to */
183850 char *pList, /* Pointer to doclist */
183851 int nList /* Number of bytes in pList */
183856 if( pList==0 ){
183863 p->doclist.aAll = pList;
183868 sqlite3_free(pList);
183881 pRight = pList;
183887 pLeft = pList;
183942 ** means that the phrase does not appear in the current row, doclist.pList
183952 char *aFree = (pPhrase->doclist.bFreeList ? pPhrase->doclist.pList : 0);
183959 char *pList;
183961 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
183964 if( pList==0 ){
183967 pPhrase->doclist.pList = 0;
183972 aPoslist = pList;
183976 char *aOut = pList;
183983 aPoslist = pList;
183988 pPhrase->doclist.pList = 0;
184000 pPhrase->doclist.pList = aPoslist;
184012 p2 = pPhrase->doclist.pList;
184015 p1 = pPhrase->doclist.pList;
184026 pPhrase->doclist.pList = aOut;
184030 pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
184033 pPhrase->doclist.pList = 0;
184040 if( pPhrase->doclist.pList!=aFree ) sqlite3_free(aFree);
184239 pDL->pList = pIter;
184241 pDL->nList = (int)(pIter - pDL->pList);
184264 char *pList;
184290 p->pList = pPhrase->doclist.pList;
184300 pTab, pToken->pSegcsr, &p->iDocid, &p->pList, &p->nList
184302 if( p->pList==0 ) *pbEof = 1;
184320 ** the Fts3Doclist.pList and nList fields.
184345 &pDL->iDocid, &pDL->pList, &pDL->nList
184347 if( pDL->pList==0 ) bEof = 1;
184391 memcpy(aDoclist, a[p->nToken-1].pList, nByte+1);
184396 char *pL = a[i].pList;
184407 pDL->pList = aDoclist;
184445 pDL->pList = pDL->pNextDocid;
184735 char *pList = 0;
184736 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
184737 assert( rc==SQLITE_OK || pList==0 );
184740 pTab, pTC->pPhrase, pTC->iToken,pList,nList
184821 sqlite3_free(pPhrase->doclist.pList);
184823 pPhrase->doclist.pList = 0;
184864 assert( pPhrase->doclist.pList );
184866 p2 = pOut = pPhrase->doclist.pList;
184871 nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
184874 assert( pPhrase->doclist.pList[nNew]=='\0' );
184875 memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
184878 *paPoslist = pPhrase->doclist.pList;
184902 ** FTs3Expr.pPhrase->doclist.nList (length of pList in bytes)
184903 ** FTs3Expr.pPhrase->doclist.pList (pointer to position list)
184975 memset(pDl->pList, 0, pDl->nList);
184982 memset(pDl->pList, 0, pDl->nList);
185060 ** (Fts3Expr->pPhrase.doclist.pList/nList) for each phrase in the expression.
185111 char *aPoslist = p->pPhrase->doclist.pList;
185120 aPoslist = pExpr->pRight->pPhrase->doclist.pList;
185216 pExpr->iDocid==pCsr->iPrevId && pExpr->pPhrase->doclist.pList
185223 bHit = (pPhrase->doclist.pList!=0);
185375 ** found in Fts3Expr.pPhrase->doclist.pList for each of the phrase
185381 if( pPhrase && pPhrase->doclist.pList ){
185383 char *p = pPhrase->doclist.pList;
185601 pIter = pPhrase->doclist.pList;
190004 PendingList *pList; /* Doclist is assembled here */
190630 static void fts3PendingListDelete(PendingList *pList){
190631 sqlite3_free(pList);
190645 PendingList *pList;
190648 pList = (PendingList *)fts3HashFind(pHash, zToken, nToken);
190649 if( pList ){
190650 p->nPendingData -= (pList->nData + nToken + sizeof(Fts3HashElem));
190652 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
190653 if( pList==fts3HashInsert(pHash, zToken, nToken, pList) ){
190658 sqlite3_free(pList);
190663 p->nPendingData += (pList->nData + nToken + sizeof(Fts3HashElem));
190791 PendingList *pList = (PendingList *)fts3HashData(pElem);
190792 fts3PendingListDelete(pList);
191223 PendingList *pList = (PendingList *)fts3HashData(pElem);
191224 int nCopy = pList->nData+1;
191239 memcpy(aCopy, pList->aData, nCopy);
192513 char *pList = *ppList;
192515 char *pEnd = &pList[nList];
192517 char *p = pList;
192525 nList = (int)(p - pList);
192529 nList -= (int)(p - pList);
192530 pList = p;
192534 p = &pList[1];
192538 if( bZero && (pEnd - &pList[nList])>0){
192539 memset(&pList[nList], 0, pEnd - &pList[nList]);
192541 *ppList = pList;
192554 char *pList,
192566 memcpy(pMsr->aBuffer, pList, nList);
192597 char *pList;
192602 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
192616 rc = fts3MsrBufferData(pMsr, pList, (i64)nList+1);
192619 pList = pMsr->aBuffer;
192623 fts3ColumnFilter(pMsr->iColFilter, 1, &pList, &nList);
192627 *paPoslist = pList;
192869 char *pList = 0;
192873 fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
192884 fts3ColumnFilter(pFilter->iCol, 0, &pList, &nList);
192910 nWrite = sqlite3Fts3FirstFilter(iDelta, pList, nList, a);
192919 memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
195352 fts3PendingListDelete(pDef->pList);
195353 pDef->pList = 0;
195366 fts3PendingListDelete(pDef->pList);
195414 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
195424 if( pDef->pList ){
195425 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
195445 if( p->pList==0 ){
195449 pRet = (char *)sqlite3_malloc64(p->pList->nData);
195452 nSkip = sqlite3Fts3GetVarint(p->pList->aData, &dummy);
195453 *pnData = p->pList->nData - nSkip;
195456 memcpy(pRet, &p->pList->aData[nSkip], *pnData);
195777 char *pList; /* Pointer to start of phrase position list */
196186 pPhrase->pList = pCsr;
196198 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
196575 char *pIter = pPhrase->doclist.pList;
197248 char *pList; /* Position-list */
197249 i64 iPos; /* Position just read from pList */
197268 char *pList; /* Pointer to position list for phrase */
197273 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
197275 if( pList ){
197276 fts3GetDeltaPosition(&pList, &iPos);
197283 pT->pList = pList;
197377 if( pT->pList && (pT->iPos-pT->iOff)<iMinPos ){
197388 if( 0==(0xFE&*pTerm->pList) ){
197389 pTerm->pList = 0;
197391 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
206381 static GeoSegment *geopolySortSegmentsByYAndC(GeoSegment *pList){
206386 while( pList ){
206387 p = pList;
206388 pList = pList->pNext;
210081 sqlite3_stmt *pList = 0;
210086 p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg,
210092 while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){
210093 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
210094 int bPartial = sqlite3_column_int(pList, 4);
210120 rbuFinalize(p, pList);
217385 static void sessionDeleteTable(sqlite3_session *pSession, SessionTable *pList){
217389 for(pTab=pList; pTab; pTab=pNext){
220472 SessionTable *pList; /* List of tables in current patch */
220682 if( pGrp->pList==0 ){
220696 for(pTab = pGrp->pList; pTab; pTab=pTab->pNext){
220718 for(ppTab=&pGrp->pList; *ppTab; ppTab=&(*ppTab)->pNext);
220798 ** hash tables attached to the SessionTable objects in list p->pList.
220800 for(pTab=pGrp->pList; rc==SQLITE_OK && pTab; pTab=pTab->pNext){
220912 sessionDeleteTable(0, pGrp->pList);
221126 for(pTab=p->grp.pList; pTab; pTab=pTab->pNext){
221313 sessionDeleteTable(0, p->grp.pList);
229891 Fts5HashEntry *pList;
229917 pList = 0;
229919 pList = fts5HashEntryMerge(pList, ap[i]);
229924 *ppSorted = pList;
231998 const u8 *pList = 0;
232002 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
232003 if( pList==0 ) goto next_none_eof;
232004 pIter->pLeaf->p = (u8*)pList;
232009 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
232072 const u8 *pList = 0;
232078 sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList);
232080 if( pList==0 ){
232084 pIter->pLeaf->p = (u8*)pList;
232090 pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid);
232530 const u8 *pList = 0;
232533 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
232535 if( pList ){
232538 pLeaf->p = (u8*)pList;