Lines Matching defs:pOrderBy

31   ExprList *pOrderBy,   /* the ORDER BY clause */
44 sqliteExprListDelete(pOrderBy);
54 pNew->pOrderBy = pOrderBy;
295 sqliteExprListDelete(p->pOrderBy);
315 static void pushOntoSorter(Parse *pParse, Vdbe *v, ExprList *pOrderBy){
318 zSortOrder = sqliteMalloc( pOrderBy->nExpr + 1 );
320 for(i=0; i<pOrderBy->nExpr; i++){
321 int order = pOrderBy->a[i].sortOrder;
329 type = sqliteExprType(pOrderBy->a[i].pExpr);
339 sqliteExprCode(pParse, pOrderBy->a[i].pExpr);
341 zSortOrder[pOrderBy->nExpr] = 0;
342 sqliteVdbeOp3(v, OP_SortMakeKey, pOrderBy->nExpr, 0, zSortOrder, P3_DYNAMIC);
407 ExprList *pOrderBy, /* If not NULL, sort results using this key */
425 if( pOrderBy==0 && !hasDistinct ){
457 if( pOrderBy==0 ){
478 if( pOrderBy ){
479 pushOntoSorter(pParse, v, pOrderBy);
511 if( pOrderBy ){
512 pushOntoSorter(pParse, v, pOrderBy);
527 if( pOrderBy ){
528 pushOntoSorter(pParse, v, pOrderBy);
540 if( pOrderBy ){
542 pushOntoSorter(pParse, v, pOrderBy);
554 if( pOrderBy ){
556 pushOntoSorter(pParse, v, pOrderBy);
578 ** If the inner loop was generated using a non-null pOrderBy argument,
1091 ExprList *pOrderBy, /* The ORDER BY values to match against columns */
1099 if( pSelect==0 || pOrderBy==0 ) return 1;
1101 for(i=0; i<pOrderBy->nExpr; i++){ pOrderBy->a[i].done = 0; }
1107 if( matchOrderbyToColumn(pParse, pSelect->pPrior, pOrderBy, iTable, 0) ){
1112 for(i=0; i<pOrderBy->nExpr; i++){
1113 Expr *pE = pOrderBy->a[i].pExpr;
1115 if( pOrderBy->a[i].done ) continue;
1147 pOrderBy->a[i].done = 1;
1173 ** the pOrderBy expression list. The pOrderBy list will have been
1198 static void multiSelectSortOrder(Select *p, ExprList *pOrderBy){
1201 if( pOrderBy==0 ) return;
1203 for(i=0; i<pOrderBy->nExpr; i++){
1204 pOrderBy->a[i].pExpr->dataType = SQLITE_SO_TEXT;
1208 multiSelectSortOrder(p->pPrior, pOrderBy);
1210 for(i=0; i<pOrderBy->nExpr; i++){
1211 Expr *pE = pOrderBy->a[i].pExpr;
1306 if( pPrior->pOrderBy ){
1333 if( p->pOrderBy==0 ){
1356 ExprList *pOrderBy; /* The ORDER BY clause for the right SELECT */
1359 if( eDest==priorOp && p->pOrderBy==0 && p->nLimit<0 && p->nOffset==0 ){
1369 if( p->pOrderBy
1370 && matchOrderbyToColumn(pParse, p, p->pOrderBy, unionTab, 1) ){
1394 pOrderBy = p->pOrderBy;
1395 p->pOrderBy = 0;
1402 p->pOrderBy = pOrderBy;
1422 multiSelectSortOrder(p, p->pOrderBy);
1424 p->pOrderBy, -1, eDest, iParm,
1431 if( p->pOrderBy ){
1448 if( p->pOrderBy && matchOrderbyToColumn(pParse,p,p->pOrderBy,tab1,1) ){
1488 multiSelectSortOrder(p, p->pOrderBy);
1490 p->pOrderBy, -1, eDest, iParm,
1498 if( p->pOrderBy ){
1667 if( p->pOrderBy && pSub->pOrderBy ) return 0;
1767 if( pSub->pOrderBy ){
1768 assert( p->pOrderBy==0 );
1769 p->pOrderBy = pSub->pOrderBy;
1770 pSub->pOrderBy = 0;
1771 }else if( p->pOrderBy ){
1772 substExprList(p->pOrderBy, iParent, pSub->pEList);
2026 ExprList *pOrderBy; /* The ORDER BY clause. May be NULL */
2046 pOrderBy = p->pOrderBy;
2087 pOrderBy = 0;
2126 if( pOrderBy ){
2127 for(i=0; i<pOrderBy->nExpr; i++){
2129 Expr *pE = pOrderBy->a[i].pExpr;
2132 pE = pOrderBy->a[i].pExpr = sqliteExprDup(pEList->a[iCol-1].pExpr);
2217 pOrderBy = p->pOrderBy;
2285 if( pOrderBy ){
2286 for(i=0; i<pOrderBy->nExpr; i++){
2287 if( sqliteExprAnalyzeAggregates(pParse, pOrderBy->a[i].pExpr) ){
2329 pGroupBy ? 0 : &pOrderBy);
2336 if( selectInnerLoop(pParse, p, pEList, 0, 0, pOrderBy, distinct, eDest,
2395 if( selectInnerLoop(pParse, p, pEList, 0, 0, pOrderBy, distinct, eDest,
2408 if( pOrderBy ){