diff options
author | drh <> | 2024-06-06 23:56:36 +0000 |
---|---|---|
committer | drh <> | 2024-06-06 23:56:36 +0000 |
commit | df9471b1b55e956fec7f25392bfe7fc5ca481202 (patch) | |
tree | 4edf89134b9d2744dde6058a0de1bec0ac4de09d /src/resolve.c | |
parent | 404ddadbd421fd3754cab1a3e90bb2dd74467fbd (diff) | |
parent | bd1402487b5e2efcf8d7efa439ab070cee8f8ee2 (diff) | |
download | sqlite-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.c | 6 |
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 */ |