Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Do not allow parameters in VIEW definitions. Ticket #1270. (CVS 2492) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0d46289f02aad526f462a3ceceb1bca1 |
User & Date: | drh 2005-06-06 15:32:08.000 |
Context
2005-06-06
| ||
16:34 | Honor the full_column_names pragma on * results. Ticket #1263. (CVS 2493) (check-in: 0d57f851ae user: drh tags: trunk) | |
15:32 | Do not allow parameters in VIEW definitions. Ticket #1270. (CVS 2492) (check-in: 0d46289f02 user: drh tags: trunk) | |
15:06 | Handle failures of getcwd() without segfaulting. Ticket #1274. (CVS 2490) (check-in: c1691004d6 user: drh tags: trunk) | |
Changes
Changes to src/build.c.
︙ | ︙ | |||
18 19 20 21 22 23 24 | ** CREATE INDEX ** DROP INDEX ** creating ID lists ** BEGIN TRANSACTION ** COMMIT ** ROLLBACK ** | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ** CREATE INDEX ** DROP INDEX ** creating ID lists ** BEGIN TRANSACTION ** COMMIT ** ROLLBACK ** ** $Id: build.c,v 1.324 2005/06/06 15:32:08 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> /* ** This routine is called when a new SQL statement is beginning to ** be parsed. Initialize the pParse structure as needed. |
︙ | ︙ | |||
1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 | Table *p; int n; const unsigned char *z; Token sEnd; DbFixer sFix; Token *pName; sqlite3StartTable(pParse, pBegin, pName1, pName2, isTemp, 1); p = pParse->pNewTable; if( p==0 || pParse->nErr ){ sqlite3SelectDelete(pSelect); return; } sqlite3TwoPartName(pParse, pName1, pName2, &pName); | > > > > > | 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 | Table *p; int n; const unsigned char *z; Token sEnd; 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 ){ sqlite3SelectDelete(pSelect); return; } sqlite3TwoPartName(pParse, pName1, pName2, &pName); |
︙ | ︙ |
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.25 2005/06/06 15:32:08 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Omit this entire file if the library is not configured with views enabled. ifcapable !view { finish_test return |
︙ | ︙ | |||
435 436 437 438 439 440 441 442 443 | } {This this THIS} do_test view-11.3 { execsql { CREATE VIEW v11 AS SELECT * FROM t4; SELECT * FROM v11 WHERE a = 'THIS'; } } {This this THIS} finish_test | > > > > > > > > | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 | } {This this THIS} do_test view-11.3 { execsql { CREATE VIEW v11 AS SELECT * FROM t4; SELECT * FROM v11 WHERE a = 'THIS'; } } {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 |