-C Compile-time\soption\sto\suse\sonly\s32-bit\sintegers.\s(CVS\s3157)
-D 2006-03-28T23:57:18
+C Properly\srecord\sthe\snames\sof\striggers\seven\sif\sthe\sname\sis\squoted.\nTicket\s#1737.\s(CVS\s3158)
+D 2006-03-29T00:24:07
F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b
F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F src/test_md5.c 6c42bc0a3c0b54be34623ff77a0eec32b2fa96e3
F src/test_server.c a6460daed0b92ecbc2531b6dc73717470e7a648c
F src/tokenize.c 382b3bb0ca26eb9153b5d20b246ef512a114a24f
-F src/trigger.c 825e5b98183a0ad066d0e1dfa6708c2aac089723
+F src/trigger.c 48bbb94c11954c8e132efcc04478efe8304c4196
F src/update.c 34add66fcd3301b33b6e4c4c813f4e408f7ee4a0
F src/utf.c 1d51225bce1ea8d1978e8ab28e862a0c12c7a8e8
F src/util.c 59389ed717f0fa9d8023b3f482ba09dcf41343a8
F test/func.test 27d02fd00b7c2a6b5c8c302d02f9f20876ce5cc8
F test/hook.test 7e7645fd9a033f79cce8fdff151e32715e7ec50a
F test/in.test 40feeebc7e38576255051aad428322be1545e0f1
-F test/index.test c478459611ded74745fee57f99f424da8a5f5fbd
+F test/index.test e65df12bed94b2903ee89987115e1578687e9266
F test/index2.test ee83c6b5e3173a3d7137140d945d9a5d4fdfb9d6
F test/index3.test f66718cd92ce1216819d47e6a156755e4b2c4ca1
F test/insert.test b4d43f8e75e203fe51bc06cacf3636081903dcd1
F test/subquery.test ae324ee928c5fb463a3ce08a8860d6e7f1ca5797
F test/subselect.test 2d13fb7f450db3595adcdd24079a0dd1d2d6abc2
F test/sync.test d05397b8f89f423dd6dba528692019ab036bc1c3
-F test/table.test 6dc0dfa44dd429520e0e5a0c5e55025f730e9403
+F test/table.test 1c1539af8db89c68e467df02ec2607ec61c67bac
F test/tableapi.test 6a66d58b37d46dc0f2b3c7d4bd2617d209399bd1
F test/tclsqlite.test 93c399414273d829f3fc5fc4a8349b484fe84d5b
F test/temptable.test c36f3e5a94507abb64f7ba23deeb4e1a8a8c3821
F test/tkt1667.test c7faac5050b45d81d0b9f6294e4570b588106e19
F test/trace.test 75ffc1b992c780d054748a656e3e7fd674f18567
F test/trans.test dbadb11882da0fa0ed2a74acecd28e10965b48d0
-F test/trigger1.test 0c1d44882dba5c92e4efee4dd133cc979f0b1860
+F test/trigger1.test e8c717e959c2f98c8181cd9466e140fa7aac781f
F test/trigger2.test 33bf8ae9b788013be194efe5f66c04a202facbb4
F test/trigger3.test 9102fd3933db294dc654b5aee9edfe9e94f2b9e2
F test/trigger4.test 4bed3705c9df4aaf7a7b164a2d573410d05ca025
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 0039888f9132dc7461af4ae448292a0ce9adf804
-R 7b0bb8019b375c888b65242e6615f9d7
+P aedadfc3e47efa28ff81d7789b54fba9fcc128db
+R cd3eacf83ff32f49c3fe5762f71c525c
U drh
-Z 82fdf51cac010092a92a7602ec803684
+Z d07dd13e5dad42ca4274dcff96af4d1e
-aedadfc3e47efa28ff81d7789b54fba9fcc128db
\ No newline at end of file
+4ba280ddd66d5cbf617263d6300b7582f65d47a9
\ No newline at end of file
if( !zName || SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){
goto trigger_cleanup;
}
- if( sqlite3HashFind(&(db->aDb[iDb].pSchema->trigHash), zName,pName->n+1) ){
+ if( sqlite3HashFind(&(db->aDb[iDb].pSchema->trigHash), zName,strlen(zName)) ){
sqlite3ErrorMsg(pParse, "trigger %T already exists", pName);
goto trigger_cleanup;
}
Table *pTab;
Trigger *pDel;
pDel = sqlite3HashInsert(&db->aDb[iDb].pSchema->trigHash,
- pTrig->name, strlen(pTrig->name)+1, pTrig);
+ pTrig->name, strlen(pTrig->name), pTrig);
if( pDel ){
assert( sqlite3MallocFailed() && pDel==pTrig );
goto triggerfinish_cleanup;
for(i=OMIT_TEMPDB; i<db->nDb; i++){
int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */
if( zDb && sqlite3StrICmp(db->aDb[j].zName, zDb) ) continue;
- pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName, nName+1);
+ pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName, nName);
if( pTrigger ) break;
}
if( !pTrigger ){
void sqlite3UnlinkAndDeleteTrigger(sqlite3 *db, int iDb, const char *zName){
Trigger *pTrigger;
int nName = strlen(zName);
- pTrigger = sqlite3HashInsert(&(db->aDb[iDb].pSchema->trigHash), zName, nName+1, 0);
+ pTrigger = sqlite3HashInsert(&(db->aDb[iDb].pSchema->trigHash),
+ zName, nName, 0);
if( pTrigger ){
Table *pTable = tableOfTrigger(pTrigger);
assert( pTable!=0 );
# This file implements regression tests for SQLite library. The
# focus of this file is testing the CREATE INDEX statement.
#
-# $Id: index.test,v 1.41 2006/01/17 09:35:02 danielk1977 Exp $
+# $Id: index.test,v 1.42 2006/03/29 00:24:07 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
set v [catch {execsql {CREATE INDEX index1 ON test2(g1)}} msg]
lappend v $msg
} {1 {index index1 already exists}}
+do_test index-6.1.1 {
+ catchsql {CREATE INDEX [index1] ON test2(g1)}
+} {1 {index index1 already exists}}
do_test index-6.1b {
execsql {SELECT name FROM sqlite_master WHERE type!='meta' ORDER BY name}
} {index1 test1 test2}
# This file implements regression tests for SQLite library. The
# focus of this file is testing the CREATE TABLE statement.
#
-# $Id: table.test,v 1.44 2006/01/04 21:40:07 drh Exp $
+# $Id: table.test,v 1.45 2006/03/29 00:24:07 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
execsql {CREATE TABLE TEST2(one text)}
catchsql {CREATE TABLE test2(two text default 'hi')}
} {1 {table test2 already exists}}
+do_test table-2.1.1 {
+ catchsql {CREATE TABLE "test2" (two)}
+} {1 {table "test2" already exists}}
do_test table-2.1b {
set v [catch {execsql {CREATE TABLE sqlite_master(two text)}} msg]
lappend v $msg
INSERT INTO t1 values(1);
END;
}
-do_test trigger1-1.2 {
+do_test trigger1-1.2.1 {
catchsql {
CREATE TRIGGER tr1 DELETE ON t1 BEGIN
SELECT * FROM sqlite_master;
END
}
} {1 {trigger tr1 already exists}}
+do_test trigger1-1.2.2 {
+ catchsql {
+ CREATE TRIGGER "tr1" DELETE ON t1 BEGIN
+ SELECT * FROM sqlite_master;
+ END
+ }
+} {1 {trigger "tr1" already exists}}
+do_test trigger1-1.2.3 {
+ catchsql {
+ CREATE TRIGGER [tr1] DELETE ON t1 BEGIN
+ SELECT * FROM sqlite_master;
+ END
+ }
+} {1 {trigger [tr1] already exists}}
do_test trigger1-1.3 {
catchsql {