]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Handle "rowid<=X ORDER BY rowid DESC" where X is an integer. Fix for ticket #1092...
authordanielk1977 <danielk1977@noemail.net>
Wed, 2 Feb 2005 01:10:44 +0000 (01:10 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Wed, 2 Feb 2005 01:10:44 +0000 (01:10 +0000)
FossilOrigin-Name: 506088796c846243e24c4cba6be4ce6511fdb345

manifest
manifest.uuid
src/where.c
test/sort.test

index b736f6bd4c1e53e08f45fca362c086ef543058e6..add82e36050bdc2b38170e31439f12a35cbbb9f2 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Version\s3.1.1\s(beta)\s(CVS\s2306)
-D 2005-02-01T17:05:13
+C Handle\s"rowid<=X\sORDER\sBY\srowid\sDESC"\swhere\sX\sis\san\sinteger.\sFix\sfor\sticket\s#1092.\s(CVS\s2307)
+D 2005-02-02T01:10:45
 F Makefile.in ffd81f5e926d40b457071b4de8d7c1fa18f39b5a
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@@ -81,7 +81,7 @@ F src/vdbeInt.h e80721cd8ff611789e20743eec43363a9fb5a48e
 F src/vdbeapi.c 467caa6e6fb9247528b1c7ab9132ae1b4748e8ac
 F src/vdbeaux.c 8d8cc8992cb78cab35e034fa81ad0c1a771c39f1
 F src/vdbemem.c 62fe89471b656a922e9879be005abf690509ead3
-F src/where.c 94d847e07b07110c9097fbd3efb630ab8fb19edf
+F src/where.c c4b6a799ed9cc99c63d298c8741956156eeb05eb
 F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42
 F test/all.test 7f0988442ab811dfa41793b5b550f5828ce316f3
 F test/alter.test b146ddd669b45a880d40bfdacd6037666137c3f4
@@ -182,7 +182,7 @@ F test/select4.test c239f516aa31f42f2ef7c6d7cd01105f08f934ca
 F test/select5.test 2d414f712bff8e590091e08f9b7287600731be00
 F test/select6.test 6e5a1a70a788cdbe515d1252dd0917d7e9d1d71e
 F test/select7.test 8f3362336c10d828ab6fe9c1b8897b484da8b592
-F test/sort.test 87882e6c72a75d45e98a1c802c1ded0eac557d85
+F test/sort.test 312eade533cb3c7667110ccfa6e818db1078fd6c
 F test/subquery.test e607b55276d2536e17e75896cd245ec1c8838f1d
 F test/subselect.test 3f3f7a940dc3195c3139f4d530385cb54665d614
 F test/table.test a2a58cae70ef2511cbf27d40fb8f570106a2677e
@@ -272,7 +272,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
 F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl 3e522a06ad41992023c80ca29a048ae2331ca5bd
-P 076f9868a487913a79abddfb3977f05cd88d6cf1
-R 9ed813e4ae7c00ccecba8c30e0a7e0c6
-U drh
-Z 632a5f2e72d6b7bc0be88df53fa948b8
+P 2e1c71c4686472c6ee277f8928320095bc27846d
+R 6c735aca5d3f31f26563362e6436cbfe
+U danielk1977
+Z 80afbda16d1626e406aa81b873ee8b5d
index 99d97fc8eebe548e7d6777b527688b2035cf788c..40e01358590728251ae8ee913db405bf0ef47263 100644 (file)
@@ -1 +1 @@
-2e1c71c4686472c6ee277f8928320095bc27846d
\ No newline at end of file
+506088796c846243e24c4cba6be4ce6511fdb345
\ No newline at end of file
index 4c6386c231318d11395f98a8f8471c89e154de64..ddd3e6248fa8b178b7fa887deba4bf0ea6edd6b2 100644 (file)
@@ -16,7 +16,7 @@
 ** so is applicable.  Because this module is responsible for selecting
 ** indices, you might also think of this module as the "query optimizer".
 **
-** $Id: where.c,v 1.133 2005/01/30 09:17:59 danielk1977 Exp $
+** $Id: where.c,v 1.134 2005/02/02 01:10:45 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 
@@ -1091,7 +1091,7 @@ WhereInfo *sqlite3WhereBegin(
         assert( pX!=0 );
         assert( pTerm->idxLeft==iCur );
         sqlite3ExprCode(pParse, pX->pRight);
-        sqlite3VdbeAddOp(v, OP_ForceInt, pX->op==TK_LT || pX->op==TK_GT, brk);
+        sqlite3VdbeAddOp(v, OP_ForceInt, pX->op==TK_LE || pX->op==TK_GT, brk);
         sqlite3VdbeAddOp(v, bRev ? OP_MoveLt : OP_MoveGe, iCur, brk);
         VdbeComment((v, "pk"));
         disableTerm(pLevel, &pTerm->p);
index ae38416e92148096f282507cbafc9fee49540da0..6d527c33ce365abf68bcf5caab2bc2af59c6c8c5 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this file is testing the CREATE TABLE statement.
 #
-# $Id: sort.test,v 1.18 2004/11/22 13:35:42 danielk1977 Exp $
+# $Id: sort.test,v 1.19 2005/02/02 01:10:45 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -410,4 +410,26 @@ do_test sort-9.7 {
 } {3}
 } ;# endif bloblit
 
+# Ticket #1092 - ORDER BY on rowid fields.
+do_test sort-10.1 {
+  execsql {
+    CREATE TABLE t7(c INTEGER PRIMARY KEY);
+    INSERT INTO t7 VALUES(1);
+    INSERT INTO t7 VALUES(2);
+    INSERT INTO t7 VALUES(3);
+    INSERT INTO t7 VALUES(4);
+  }
+} {}
+do_test sort-10.2 {
+  execsql {
+    SELECT c FROM t7 WHERE c<=3 ORDER BY c DESC;
+  }
+} {3 2 1}
+do_test sort-10.3 {
+  execsql {
+    SELECT c FROM t7 WHERE c<3 ORDER BY c DESC;
+  }
+} {2 1}
+
 finish_test
+