aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <>2024-06-06 15:03:16 +0000
committerdrh <>2024-06-06 15:03:16 +0000
commit4703b7d0921291f96bb53a45f4ab49b99bfbd33c (patch)
tree356b665b030beb3dcfa7d4fd48b8170463cbbf3d /src/resolve.c
parent404ddadbd421fd3754cab1a3e90bb2dd74467fbd (diff)
downloadsqlite-4703b7d0921291f96bb53a45f4ab49b99bfbd33c.tar.gz
sqlite-4703b7d0921291f96bb53a45f4ab49b99bfbd33c.zip
Better optimize queries that use parameters in the LIMIT clause.
FossilOrigin-Name: e58cb304d1e0ec6e30260a165aaccc2cf096ce6c999efb06683c4ef600ee12ef
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/resolve.c b/src/resolve.c
index 40044a220..d5c1515a7 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -1505,7 +1505,7 @@ static int resolveOrderByTermToExprList(
int rc; /* Return code from subprocedures */
u8 savedSuppErr; /* Saved value of db->suppressErr */
- assert( sqlite3ExprIsInteger(pE, &i)==0 );
+ assert( sqlite3ExprIsInteger(pE, &i, 0)==0 );
pEList = pSelect->pEList;
/* Resolve all names in the ORDER BY term expression
@@ -1604,7 +1604,7 @@ static int resolveCompoundOrderBy(
if( pItem->fg.done ) continue;
pE = sqlite3ExprSkipCollateAndLikely(pItem->pExpr);
if( NEVER(pE==0) ) continue;
- if( sqlite3ExprIsInteger(pE, &iCol) ){
+ if( sqlite3ExprIsInteger(pE, &iCol, 0) ){
if( iCol<=0 || iCol>pEList->nExpr ){
resolveOutOfRangeError(pParse, "ORDER", i+1, pEList->nExpr, pE);
return 1;
@@ -1789,7 +1789,7 @@ static int resolveOrderGroupBy(
continue;
}
}
- if( sqlite3ExprIsInteger(pE2, &iCol) ){
+ if( sqlite3ExprIsInteger(pE2, &iCol, 0) ){
/* The ORDER BY term is an integer constant. Again, set the column
** number so that sqlite3ResolveOrderGroupBy() will convert the
** order-by term to a copy of the result-set expression */