From: drh Date: Mon, 6 Jun 2005 15:32:08 +0000 (+0000) Subject: Do not allow parameters in VIEW definitions. Ticket #1270. (CVS 2492) X-Git-Tag: version-3.6.10~3667 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c3d64f1513c881c07779757fc3db14ae0f742e7;p=thirdparty%2Fsqlite.git Do not allow parameters in VIEW definitions. Ticket #1270. (CVS 2492) FossilOrigin-Name: 0d46289f02aad526f462a3ceceb1bca1b9f6a543 --- diff --git a/manifest b/manifest index defd067e47..2997cb2937 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Handle\sfailures\sof\sgetcwd()\swithout\ssegfaulting.\s\sTicket\s#1274.\s(CVS\s2490) -D 2005-06-06T15:06:39 +C Do\snot\sallow\sparameters\sin\sVIEW\sdefinitions.\s\sTicket\s#1270.\s(CVS\s2492) +D 2005-06-06T15:32:08 F Makefile.in 8129e7f261d405db783676f9ca31e0841768c652 F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -32,7 +32,7 @@ F src/attach.c 3615dbe960cbee4aa5ea300b8a213dad36527b0f F src/auth.c 18c5a0befe20f3a58a41e3ddd78f372faeeefe1f F src/btree.c d2e09ebf755bfd665727133361b22c6a915b12d7 F src/btree.h 41a71ce027db9ddee72cb43df2316bbe3a1d92af -F src/build.c 8c6201bcac8e4cecd7a9fb7f608698994471c17f +F src/build.c bea3107e3bfb7da534d60b1fa39b9fb1d100f6e3 F src/callback.c 0910b611e0c158f107ee3ff86f8a371654971e2b F src/date.c 2134ef4388256e8247405178df8a61bd60dc180a F src/delete.c 75b53db21aa1879d3655bbbc208007db31d58a63 @@ -217,7 +217,7 @@ F test/utf16.test 5fb019e09601774743858ef7380b6c02103ff120 F test/vacuum.test 5d4857ae2afc9c20d0edb8acc58bdc8d630126a9 F test/vacuum2.test 5d77e98c458bcdbeecc6327de5107179ba1aa095 F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102 -F test/view.test 306cc4342eb03c28de1a92c681836189e03e5af9 +F test/view.test e24553116e482a94e9cd22a4eea4909b1c6ed1c6 F test/where.test ffb790dfda75d977bae7a1f5830351623f76861b F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b F tool/lemon.c c88936c67f6411608db8fa4254d254f509fa40f6 @@ -281,7 +281,7 @@ F www/tclsqlite.tcl 425be741b8ae664f55cb1ef2371aab0a75109cf9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b -P fafaa18eea1e7142e1094b5f6d544d20c9df7c0f -R 5f8c1791e4ed7ae7c3960acf6aa8ba37 +P c1691004d6d81b683a4ca5b1723c0de8b9b4e376 +R 160f72ab1cdfc77fb0f6e3997ccf35b8 U drh -Z 4059ba1e77ce92b7b89e85120d6f5660 +Z 3ef2bc1a475fc394b6aaef446b604547 diff --git a/manifest.uuid b/manifest.uuid index ae029f940f..638f26ff24 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c1691004d6d81b683a4ca5b1723c0de8b9b4e376 \ No newline at end of file +0d46289f02aad526f462a3ceceb1bca1b9f6a543 \ No newline at end of file diff --git a/src/build.c b/src/build.c index 964e0e03e5..75ada684f2 100644 --- a/src/build.c +++ b/src/build.c @@ -22,7 +22,7 @@ ** COMMIT ** ROLLBACK ** -** $Id: build.c,v 1.323 2005/05/25 10:45:10 danielk1977 Exp $ +** $Id: build.c,v 1.324 2005/06/06 15:32:08 drh Exp $ */ #include "sqliteInt.h" #include @@ -1448,6 +1448,11 @@ void sqlite3CreateView( DbFixer sFix; Token *pName; + if( pParse->nVar>0 ){ + sqlite3ErrorMsg(pParse, "parameters are not allowed in views"); + sqlite3SelectDelete(pSelect); + return; + } sqlite3StartTable(pParse, pBegin, pName1, pName2, isTemp, 1); p = pParse->pNewTable; if( p==0 || pParse->nErr ){ diff --git a/test/view.test b/test/view.test index cbcbe5c913..129ebdaf4c 100644 --- a/test/view.test +++ b/test/view.test @@ -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.24 2005/01/30 11:11:44 danielk1977 Exp $ +# $Id: view.test,v 1.25 2005/06/06 15:32:08 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -440,4 +440,12 @@ do_test view-11.3 { } } {This this THIS} +# Ticket #1270: Do not allow parameters in view definitions. +# +do_test view-12.1 { + catchsql { + CREATE VIEW v12 AS SELECT a FROM t1 WHERE b=? + } +} {1 {parameters are not allowed in views}} + finish_test