diff options
-rw-r--r-- | manifest | 14 | ||||
-rw-r--r-- | manifest.uuid | 2 | ||||
-rw-r--r-- | src/resolve.c | 2 | ||||
-rw-r--r-- | test/tkt2822.test | 12 |
4 files changed, 20 insertions, 10 deletions
@@ -1,5 +1,5 @@ -C For\san\sORDER\sBY\son\sa\scompound\sSELECT,\stake\sthe\scollating\ssequence\sfrom\sthe\nleft-most\sterm\sof\sthe\scompound. -D 2012-12-07T23:10:40.495 +C Improved\serror\smessages\swhen\scolumn\sintegers\sin\san\sORDER\sBY\sclause\sare\s\nout\sof\srange. +D 2012-12-07T23:23:53.894 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 690d441a758cbffd13e814dc2724a721a6ebd400 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -172,7 +172,7 @@ F src/pragma.c 015723c48072781d2740e310ab04dc92956b76d1 F src/prepare.c 931ad0d852a0df48f79adcba6ce79ca5f475625c F src/printf.c 4a9f882f1c1787a8b494a2987765acf9d97ac21f F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50 -F src/resolve.c 5ed606916be6c63f0e262cc2cb817712384f18b5 +F src/resolve.c cdd546d62da7763119ea1fa455a898959e03457f F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0 F src/select.c def5381139465670bc06b3e1adfe39a7f7dd21c2 F src/shell.c e392dd1ccbb77cc1d75a8367a89b473c24bea019 @@ -830,7 +830,7 @@ F test/tkt2686.test 6ee01c9b9e9c48f6d3a1fdd553b1cc4258f903d6 F test/tkt2767.test 569000d842678f9cf2db7e0d1b27cbc9011381b0 F test/tkt2817.test f31839e01f4243cff7399ef654d3af3558cb8d8d F test/tkt2820.test 39940276b3436d125deb7d8ebeee053e4cf13213 -F test/tkt2822.test a2b27a58df62d1b2e712f91dbe42ad3b7e0e77cc +F test/tkt2822.test f391776423a7c0d0949edfce375708bfb0f3141e F test/tkt2832.test a9b0b74a02dca166a04d9e37739c414b10929caa F test/tkt2854.test e432965db29e27e16f539b2ba7f502eb2ccc49af F test/tkt2920.test a8737380e4ae6424e00c0273dc12775704efbebf @@ -1025,7 +1025,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac -P e313edca0472f07e9b872b92120d80b4bc177328 -R e4585f659b2dcbe9302be05eb8524ec0 +P 8e724b383da1314909c9a05e9d941a26a9f50b95 +R 881a229233da2a5bfc26c84533c04750 U drh -Z 090567ff5e7c71e3b99bc2fa20ffefbb +Z a8bde7d83f4cf51f4dbb6d352a9305a4 diff --git a/manifest.uuid b/manifest.uuid index f3ef64e3f..55db2ef47 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8e724b383da1314909c9a05e9d941a26a9f50b95
\ No newline at end of file +bd960d937f8d6521c8ec4b7bd8a77a498dd432d4
\ No newline at end of file diff --git a/src/resolve.c b/src/resolve.c index d5d9d1c1a..51aab7792 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -956,7 +956,7 @@ static int resolveOrderGroupBy( /* 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 */ - if( (iCol & ~0xffff)!=0 ){ + if( iCol<1 || iCol>0xffff ){ resolveOutOfRangeError(pParse, zType, i+1, nResult); return 1; } diff --git a/test/tkt2822.test b/test/tkt2822.test index 281e5dc91..d0b16338c 100644 --- a/test/tkt2822.test +++ b/test/tkt2822.test @@ -273,11 +273,21 @@ do_test tkt2822-7.1 { SELECT * FROM t7 ORDER BY 0; } } {1 {1st ORDER BY term out of range - should be between 1 and 25}} -do_test tkt2822-7.2 { +do_test tkt2822-7.2.1 { catchsql { SELECT * FROM t7 ORDER BY 1, 0; } } {1 {2nd ORDER BY term out of range - should be between 1 and 25}} +do_test tkt2822-7.2.2 { + catchsql { + SELECT * FROM t7 ORDER BY 1, 26; + } +} {1 {2nd ORDER BY term out of range - should be between 1 and 25}} +do_test tkt2822-7.2.3 { + catchsql { + SELECT * FROM t7 ORDER BY 1, 65536; + } +} {1 {2nd ORDER BY term out of range - should be between 1 and 25}} do_test tkt2822-7.3 { catchsql { SELECT * FROM t7 ORDER BY 1, 2, 0; |