]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Correct handling of views on tables with quoted column names. Ticket #756. (CVS...
authordrh <drh@noemail.net>
Tue, 20 Jul 2004 00:20:46 +0000 (00:20 +0000)
committerdrh <drh@noemail.net>
Tue, 20 Jul 2004 00:20:46 +0000 (00:20 +0000)
FossilOrigin-Name: ef0d5ebe96b9babe275d62ed6abe95652838de5f

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

index 747aba6ebd32a631db6e3b9fc327d102e53f4960..12ce254370e7effdda3b0c4c82c5e1791f47db0f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Limit\soccurs\safter\sDISTINCT.\s\sTicket\s#749.\s(CVS\s1824)
-D 2004-07-19T23:33:03
+C Correct\shandling\sof\sviews\son\stables\swith\squoted\scolumn\snames.\s\sTicket\s#756.\s(CVS\s1827)
+D 2004-07-20T00:20:47
 F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -46,7 +46,7 @@ F src/parse.y 023720cb8c3bef74e51738bca78335d0dc6d2cfd
 F src/pragma.c f9c157b0591419d2d3407dac90222020d2a6d822
 F src/printf.c 378ec63d9303993eef24814a56a9fc7260aacbea
 F src/random.c 775913e0b7fbd6295d21f12a7bd35b46387c44b2
-F src/select.c 894bdac9404d1a42097e0c9717b644f762bf9b5e
+F src/select.c 05218c258f15efe3671cc5580277e4166239dd54
 F src/shell.c 920af040d3a33ea8919c82cee45b424ad841cee0
 F src/sqlite.h.in 35bec264dfb4965bbfeb7e75221f8658f210c30d
 F src/sqliteInt.h 3e9203f16d12baf3a364fae9d64903d813651abd
@@ -146,7 +146,7 @@ F test/unique.test 0e38d4cc7affeef2527720d1dafd1f6870f02f2b
 F test/update.test b29bd9061a1150426dab6959806fcc73a41b1217
 F test/vacuum.test a2a44544df719666efb51afbfeb6062fd59a672a
 F test/version.test 92adee5d98cf6e3eb0d1cf5186952e8114931bf6
-F test/view.test 1ee12c6f8f4791a2c0655120d5562a49400cfe53
+F test/view.test ac151928890d17716d5c1f7acc5924af61a7dacf
 F test/where.test cb3a2ed062ce4b5f08aff2d08027c6a46d68c47b
 F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b
 F tool/lemon.c db6a3bfaf3388c0f7aea3adb5e05acddcd427016
@@ -189,7 +189,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604
 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da
 F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 0cc612f8aa458034d3dc246861c529c57ac5b2b1
-R ac26673074971ea42a1c00adb7738364
+P db5ae13db3edec82dd2ead3b76fc9f89f33b2dc2
+R e16d653d018602be1f19944b4f6597e0
 U drh
-Z 92f099eb6b982fdc1c22acb201e5fa38
+Z 9b8e15d2f6d27acf7fe448eb52d58528
index 90db777a2fb06438f3c11755321b121971cc3d14..2285542a16d23d125c5134ed95fe5b1690a8e695 100644 (file)
@@ -1 +1 @@
-db5ae13db3edec82dd2ead3b76fc9f89f33b2dc2
\ No newline at end of file
+ef0d5ebe96b9babe275d62ed6abe95652838de5f
\ No newline at end of file
index 5e48d714ae830113868c580da83d8700770c42a8..38135035b3b6660ada4ca8c37c3d4dd8ce2ac9a6 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle SELECT statements in SQLite.
 **
-** $Id: select.c,v 1.161.2.2 2004/07/19 23:33:03 drh Exp $
+** $Id: select.c,v 1.161.2.3 2004/07/20 00:20:47 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -825,8 +825,9 @@ Table *sqliteResultSetOfSelect(Parse *pParse, char *zTabName, Select *pSelect){
     }else{
       char zBuf[30];
       sprintf(zBuf, "column%d", i+1);
-      pTab->aCol[i].zName = sqliteStrDup(zBuf);
+      aCol[i].zName = sqliteStrDup(zBuf);
     }
+    sqliteDequote(aCol[i].zName);
   }
   pTab->iPKey = -1;
   return pTab;
index 539a737ecb6baa55f793166783f5a1e831c4881e..fc15a620990ff26bdde731d04025b2f4a1f903fb 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.16 2003/05/31 16:21:13 drh Exp $
+# $Id: view.test,v 1.16.2.1 2004/07/20 00:20:47 drh Exp $
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
@@ -385,5 +385,23 @@ do_test view-9.6 {
   }
 } {3 4 4 2 5 1}
 
+# Tables with columns having peculiar quoted names used in views
+# Ticket #756.
+#
+do_test view-10.1 {
+  execsql {
+    CREATE TABLE t3("9" integer, [4] text);
+    INSERT INTO t3 VALUES(1,2);
+    CREATE VIEW v_t3_a AS SELECT a.[9] FROM t3 AS a;
+    CREATE VIEW v_t3_b AS SELECT "4" FROM t3;
+    SELECT * FROM v_t3_a;
+  }
+} {1}
+do_test view-10.2 {
+  execsql {
+    SELECT * FROM v_t3_b;
+  }
+} {2}
+
 
 finish_test