Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix for ticket #34: VIEWs ignore their ORDER BY clause. (CVS 556) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5f22d21571acedbd6348b61445a7c408 |
User & Date: | drh 2002-05-08 21:30:15.000 |
Context
2002-05-08
| ||
21:46 | Fix for ticket #35: Ignore any ORDER BY clause on a subquery in a FROM clause. (CVS 557) (check-in: 1b0ee944c9 user: drh tags: trunk) | |
21:30 | Fix for ticket #34: VIEWs ignore their ORDER BY clause. (CVS 556) (check-in: 5f22d21571 user: drh tags: trunk) | |
12:03 | Version 2.4.11 (CVS 555) (check-in: b13151794b user: drh tags: trunk) | |
Changes
Changes to src/build.c.
︙ | ︙ | |||
21 22 23 24 25 26 27 | ** COPY ** VACUUM ** BEGIN TRANSACTION ** COMMIT ** ROLLBACK ** PRAGMA ** | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ** COPY ** VACUUM ** BEGIN TRANSACTION ** COMMIT ** ROLLBACK ** PRAGMA ** ** $Id: build.c,v 1.87 2002/05/08 21:30:15 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> /* ** This routine is called after a single SQL statement has been ** parsed and we want to execute the VDBE code to implement |
︙ | ︙ | |||
824 825 826 827 828 829 830 831 832 833 834 835 836 837 | int n, offset; sqliteStartTable(pParse, pBegin, pName, 0); p = pParse->pNewTable; if( p==0 ){ sqliteSelectDelete(pSelect); return; } p->pSelect = pSelect; if( !pParse->initFlag ){ if( sqliteViewGetColumnNames(pParse, p) ){ return; } } | > > > > > | 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 | int n, offset; sqliteStartTable(pParse, pBegin, pName, 0); p = pParse->pNewTable; if( p==0 ){ 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) ){ return; } } |
︙ | ︙ |
Changes to test/view.test.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 2002 February 26 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing VIEW statements. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # 2002 February 26 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing VIEW statements. # # $Id: view.test,v 1.5 2002/05/08 21:30:16 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl do_test view-1.0 { execsql { CREATE TABLE t1(a,b,c); INSERT INTO t1 VALUES(1,2,3); |
︙ | ︙ | |||
142 143 144 145 146 147 148 149 150 151 | } {xyz 2 pqr 7 c-b 1} do_test view-3.4 { execsql2 { CREATE VIEW v3 AS SELECT a FROM t1 UNION SELECT b FROM t1 ORDER BY b; SELECT * FROM v3 LIMIT 4; } } {b 2 b 3 b 5 b 6} finish_test | > > > > > > > > > > | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | } {xyz 2 pqr 7 c-b 1} do_test view-3.4 { execsql2 { CREATE VIEW v3 AS SELECT a FROM t1 UNION SELECT b FROM t1 ORDER BY b; 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 |