]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix for ticket #34: VIEWs ignore their ORDER BY clause. (CVS 556)
authordrh <drh@noemail.net>
Wed, 8 May 2002 21:30:15 +0000 (21:30 +0000)
committerdrh <drh@noemail.net>
Wed, 8 May 2002 21:30:15 +0000 (21:30 +0000)
FossilOrigin-Name: 5f22d21571acedbd6348b61445a7c408cde8d229

manifest
manifest.uuid
src/build.c
test/view.test

index f6701a5510e883573324543abc09f3d5f889afed..cf4326041445b4e7af8a0169357bd6bcdd792f0e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Version\s2.4.11\s(CVS\s555)
-D 2002-05-08T12:03:51
+C Fix\sfor\sticket\s#34:\sVIEWs\signore\stheir\sORDER\sBY\sclause.\s(CVS\s556)
+D 2002-05-08T21:30:15
 F Makefile.in 50f1b3351df109b5774771350d8c1b8d3640130d
 F Makefile.template 89e373b2dad0321df00400fa968dc14b61a03296
 F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0
@@ -20,7 +20,7 @@ F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea
 F src/TODO af7f3cab0228e34149cf98e073aa83d45878e7e6
 F src/btree.c 7dd7ddc66459982dd0cb9800958c1f8d65a32d9f
 F src/btree.h 8abeabfe6e0b1a990b64fa457592a6482f6674f3
-F src/build.c d01b81f41481e733e27ab2fa8e1bfcc64f24257d
+F src/build.c 6a5064503250e7b8cdd9285970d01522df8468f7
 F src/delete.c 6a6b8192cdff5e4b083da3bc63de099f3790d01f
 F src/encode.c 346b12b46148506c32038524b95c4631ab46d760
 F src/expr.c cf8d2ea17e419fc83b23e080195b2952e0be4164
@@ -100,7 +100,7 @@ F test/trans.test ae0b9a82d5d34122c3a3108781eb8d078091ccee
 F test/unique.test 07776624b82221a80c8b4138ce0dd8b0853bb3ea
 F test/update.test 3cf1ca0565f678063c2dfa9a7948d2d66ae1a778
 F test/vacuum.test 059871b312eb910bbe49dafde1d01490cc2c6bbe
-F test/view.test 1536b58161e9cef544085d3928b53f17c9ed8424
+F test/view.test b9851e9142de5e5831fdf18f125cbe1256cb550a
 F test/where.test 1d85a7eba93e7acc0a971c6d9daead0e49cb023a
 F tool/lemon.c 77d026f58d7715543786d457cf9432f9103e3f62
 F tool/lempar.c ee508b94607f74d591d60eda5c8014db4e144de5
@@ -130,7 +130,7 @@ F www/speed.tcl da8afcc1d3ccc5696cfb388a68982bc3d9f7f00f
 F www/sqlite.tcl 8b5884354cb615049aed83039f8dfe1552a44279
 F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
 F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P f6e406aa0422d9b5a3cfe89b0d38def535f8fe9b
-R 17202f5bc5a2297c04fce252ad531823
+P b13151794b42109a59ed34e6b9bce6ce90de537b
+R b50c1ac078edfd5aced2d105f10a7073
 U drh
-Z a3dfa73be4e80fdb0160fb03e523733c
+Z 97bfd3bfbda4f4c22d4d187d6a98c52c
index d2aaca83bcb2012e2c2483e0bc2bbc150e4127e7..70b650abc2462b3ab2b7de1ba5fbf333cf4491f2 100644 (file)
@@ -1 +1 @@
-b13151794b42109a59ed34e6b9bce6ce90de537b
\ No newline at end of file
+5f22d21571acedbd6348b61445a7c408cde8d229
\ No newline at end of file
index 108bb4bdf3f4251fa0a55b892e108a23e8e25454..a32f21e1602dd94ac32159e464c688760956bae1 100644 (file)
@@ -25,7 +25,7 @@
 **     ROLLBACK
 **     PRAGMA
 **
-** $Id: build.c,v 1.86 2002/03/06 22:01:36 drh Exp $
+** $Id: build.c,v 1.87 2002/05/08 21:30:15 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -829,6 +829,11 @@ void sqliteCreateView(
     sqliteSelectDelete(pSelect);
     return;
   }
+  /* Ignore ORDER BY clauses on a SELECT */
+  if( pSelect->pOrderBy ){
+    sqliteExprListDelete(pSelect->pOrderBy);
+    pSelect->pOrderBy = 0;
+  }
   p->pSelect = pSelect;
   if( !pParse->initFlag ){
     if( sqliteViewGetColumnNames(pParse, p) ){
index f915384a859fea994434d51a15f1e74d75b592f9..f189aee1157ba58a214406e9f1167cc800d69e6b 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this file is testing VIEW statements.
 #
-# $Id: view.test,v 1.4 2002/05/08 11:54:16 drh Exp $
+# $Id: view.test,v 1.5 2002/05/08 21:30:16 drh Exp $
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
@@ -146,6 +146,16 @@ do_test  view-3.4 {
     SELECT * FROM v3 LIMIT 4;
   }
 } {b 2 b 3 b 5 b 6}
+do_test  view-3.5 {
+  execsql2 {
+    CREATE VIEW v4 AS 
+      SELECT a, b FROM t1 
+      UNION
+      SELECT b AS 'x', a AS 'y' FROM t1
+      ORDER BY x, y;
+    SELECT y FROM v4 ORDER BY y LIMIT 4;
+  }
+} {y 2 y 3 y 5 y 6}
 
 
 finish_test