aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <>2024-06-06 23:56:36 +0000
committerdrh <>2024-06-06 23:56:36 +0000
commitdf9471b1b55e956fec7f25392bfe7fc5ca481202 (patch)
tree4edf89134b9d2744dde6058a0de1bec0ac4de09d /src/resolve.c
parent404ddadbd421fd3754cab1a3e90bb2dd74467fbd (diff)
parentbd1402487b5e2efcf8d7efa439ab070cee8f8ee2 (diff)
downloadsqlite-df9471b1b55e956fec7f25392bfe7fc5ca481202.tar.gz
sqlite-df9471b1b55e956fec7f25392bfe7fc5ca481202.zip
Allow the query planner access to the argument of LIMIT even if that
argument is a bound parameter. FossilOrigin-Name: c4a9dda2809c6e0e3d928e11e5553ead82cd9df551bcd35b11a7d869ef80ab8e
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 */