From: drh Date: Mon, 19 Jun 2000 19:09:08 +0000 (+0000) Subject: :-) (CVS 102) X-Git-Tag: version-3.6.10~5997 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6206d50a4ac2b589c97077f086306b16589a2680;p=thirdparty%2Fsqlite.git :-) (CVS 102) FossilOrigin-Name: 8cce4d279de00da45c5970c8f0946f49e03e6846 --- diff --git a/manifest b/manifest index 990b80c7bb..3d3ba42302 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C :-)\s(CVS\s101) -D 2000-06-17T13:12:39 +C :-)\s(CVS\s102) +D 2000-06-19T19:09:09 F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4 F Makefile.in 4dc16840f68e3b599915e1ec8463d365474dd286 F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958 @@ -13,14 +13,14 @@ F src/delete.c 2d5758055ff546453385524d856feb1b51ea7b8a F src/expr.c 88ff9ea12a23a3f0dfaf117670524bdc160af597 F src/insert.c b1434c7c7c387c69e467d993e9d05460f1047bcc F src/main.c e3297835b8e38ca726ac73f2c2bdb7cf08103197 -F src/parse.y 766844e4c695d560b4df5b5999162d5e167e3c90 -F src/select.c 3a12d76074fa57d7c39c4436bdeb8d7e1eb6fdf4 +F src/parse.y 974ed07702bda4f04171ef22776eccbb5dae81ca +F src/select.c 2a91f683d64de0362834248cb291bc601cd2950b F src/shell.c 78a35607a88b3d557e1666ae9d0c2c03cbb3553e F src/sqlite.h 58da0a8590133777b741f9836beaef3d58f40268 F src/sqliteInt.h 19954bd2f75632849b265b9d7163a67391ec5148 F src/tclsqlite.c 9f358618ae803bedf4fb96da5154fd45023bc1f7 F src/tokenize.c 77ff8164a8751994bc9926ce282847f653ac0c16 -F src/update.c d75df0f725eb8f47c67f1745bf485607cd98cea3 +F src/update.c 162fc0b86dcd61d164dedc77081a5e7daf6b8fb0 F src/util.c 38e4bb5edf6fa92e677698c45785bf73c69b9e9f F src/vdbe.c 00b2ab7e0c0df2ac6eb4bf659656afc30e76c66b F src/vdbe.h 5f58611b19799de2dbcdefa4eef33a255cfa8d0d @@ -44,7 +44,7 @@ F test/sort.test d582086c4bb7df3fbf50aa72e69d7e235e9f8e31 F test/subselect.test bf8b251a92fb091973c1c469ce499dc9648a41d5 F test/table.test d3e01e4916a99ade7d8f1d534ee1b36d57c00490 F test/tester.tcl 95b286791e6256bb6db0165f9342c70fff549a62 -F test/update.test b3f45984cd2b3aea6f24b6d77dc1e721ccaba244 +F test/update.test 0f763adc3d84e85224e1dadff72237bcabab1938 F test/vacuum.test 8becf5cfeb897108b35cdd996793e7f1df2f28fd F test/where.test bbab5a308055fb6087dc23d600b4ad2b72797397 F tool/gdbmdump.c 529e67c78d920606ba196326ea55b57b75fcc82b @@ -58,13 +58,13 @@ F www/arch.fig 4e26e9dca3c49724fc8f554c695ddea9f2413156 F www/arch.png c4d908b79065a72e7dcf19317f36d1324c550e87 F www/arch.tcl 4f6a9afecc099a27bba17b4f8cc9561abc15dc40 F www/c_interface.tcl 9ac800854272db5fe439e07b7435b243a5422293 -F www/changes.tcl 7430f73d9426021bceb5316afbbdd227848a9967 +F www/changes.tcl b50a89bce019e264523fb38fca93568c5b8121f3 F www/fileformat.tcl b11435fcd2cf2238a1c5e6d16fe5e83bcd14d434 F www/index.tcl 4116afce6a8c63d68882d2b00aa10b079e0129cd F www/lang.tcl 1645e9107d75709be4c6099b643db235bbe0a151 F www/opcode.tcl 3cdc4bb2515fcfcbe853e3f0c91cd9199e82dadd F www/sqlite.tcl 5420eab24b539928f80ea9b3088e2549d34f438d -P 1d4fe5599ed0bae18dba5842ab7ea1d34b8ec3ad -R b71b1893baf0b52983e937418e80f686 +P 6ed35a1d477906dc7e35bea0579951484fcdc858 +R 892d9aaa2c6bca4758a4a4b32ba79561 U drh -Z 91a05b26d5f5bffca90c2fad680404b8 +Z 9edc52e075d72b6d54c61660ff2d62ed diff --git a/manifest.uuid b/manifest.uuid index c6a1315c08..4a936d7185 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -6ed35a1d477906dc7e35bea0579951484fcdc858 \ No newline at end of file +8cce4d279de00da45c5970c8f0946f49e03e6846 \ No newline at end of file diff --git a/src/parse.y b/src/parse.y index 417891122d..862e1d6309 100644 --- a/src/parse.y +++ b/src/parse.y @@ -26,7 +26,7 @@ ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** -** @(#) $Id: parse.y,v 1.21 2000/06/16 20:51:26 drh Exp $ +** @(#) $Id: parse.y,v 1.22 2000/06/19 19:09:09 drh Exp $ */ %token_prefix TK_ %token_type {Token} @@ -47,7 +47,7 @@ input ::= cmdlist. // These are extra tokens used by the lexer but never seen by the // parser. We put them in a rule so that the parser generator will -// add them to the sqliteTokens.h output file. +// add them to the parse.h output file. // input ::= END_OF_FILE ILLEGAL SPACE UNCLOSED_STRING COMMENT FUNCTION UMINUS FIELD AGG_FUNCTION. @@ -104,8 +104,7 @@ carg ::= DEFAULT NULL. // In addition to the type name, we also care about the primary key. // ccons ::= NOT NULL. -ccons ::= PRIMARY KEY sortorder. - {sqliteCreateIndex(pParse,0,0,0,0,0);} +ccons ::= PRIMARY KEY sortorder. {sqliteCreateIndex(pParse,0,0,0,0,0);} ccons ::= UNIQUE. ccons ::= CHECK LP expr RP. @@ -118,8 +117,7 @@ conslist ::= conslist COMMA tcons. conslist ::= tcons. tcons ::= CONSTRAINT id tcons2. tcons ::= tcons2. -tcons2 ::= PRIMARY KEY LP idxlist(X) RP. - {sqliteCreateIndex(pParse,0,0,X,0,0);} +tcons2 ::= PRIMARY KEY LP idxlist(X) RP. {sqliteCreateIndex(pParse,0,0,X,0,0);} tcons2 ::= UNIQUE LP idlist RP. tcons2 ::= CHECK expr. idlist ::= idlist COMMA id. @@ -193,7 +191,7 @@ from(A) ::= FROM seltablist(X). {A = X;} stl_prefix(A) ::= seltablist(X) COMMA. {A = X;} stl_prefix(A) ::= . {A = 0;} seltablist(A) ::= stl_prefix(X) id(Y). {A = sqliteIdListAppend(X,&Y);} -seltablist(A) ::= stl_prefix(X) id(Y) AS id(Z). +seltablist(A) ::= stl_prefix(X) id(Y) as id(Z). {A = sqliteIdListAppend(X,&Y); sqliteIdListAddAlias(A,&Z);} @@ -224,12 +222,12 @@ sortorder(A) ::= . {A = 0;} %type groupby_opt {ExprList*} %destructor groupby_opt {sqliteExprListDelete($$);} -groupby_opt(A) ::= . {A = 0;} +groupby_opt(A) ::= . {A = 0;} groupby_opt(A) ::= GROUP BY exprlist(X). {A = X;} %type having_opt {Expr*} %destructor having_opt {sqliteExprDelete($$);} -having_opt(A) ::= . {A = 0;} +having_opt(A) ::= . {A = 0;} having_opt(A) ::= HAVING expr(X). {A = X;} diff --git a/src/select.c b/src/select.c index 8d716bd3f6..e39e415a4c 100644 --- a/src/select.c +++ b/src/select.c @@ -24,7 +24,7 @@ ** This file contains C code routines that are called by the parser ** to handle SELECT statements. ** -** $Id: select.c,v 1.23 2000/06/08 15:10:48 drh Exp $ +** $Id: select.c,v 1.24 2000/06/19 19:09:09 drh Exp $ */ #include "sqliteInt.h" @@ -534,7 +534,7 @@ static int multiSelect(Parse *pParse, Select *p, int eDest, int iParm){ int iCont, iBreak; /* INTERSECT is different from the others since it requires - ** two temporary tables. Hence it has its own case. Begine + ** two temporary tables. Hence it has its own case. Begin ** by allocating the tables we will need. */ tab1 = pParse->nTab++; diff --git a/src/update.c b/src/update.c index 15c7bbf754..982d125893 100644 --- a/src/update.c +++ b/src/update.c @@ -24,7 +24,7 @@ ** This file contains C code routines that are called by the parser ** to handle UPDATE statements. ** -** $Id: update.c,v 1.6 2000/06/17 13:12:40 drh Exp $ +** $Id: update.c,v 1.7 2000/06/19 19:09:09 drh Exp $ */ #include "sqliteInt.h" @@ -103,7 +103,7 @@ void sqliteUpdate( goto update_cleanup; } for(j=0; jnCol; j++){ - if( strcmp(pTab->aCol[j].zName, pChanges->a[i].zName)==0 ){ + if( sqliteStrICmp(pTab->aCol[j].zName, pChanges->a[i].zName)==0 ){ aXRef[j] = i; break; } diff --git a/test/update.test b/test/update.test index 94e24205c8..dea0db3e23 100644 --- a/test/update.test +++ b/test/update.test @@ -23,7 +23,7 @@ # This file implements regression tests for SQLite library. The # focus of this file is testing the UPDATE statement. # -# $Id: update.test,v 1.2 2000/06/08 16:26:25 drh Exp $ +# $Id: update.test,v 1.3 2000/06/19 19:09:09 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -87,8 +87,8 @@ do_test update-3.7 { # Swap the values of f1 and f2 for all elements # do_test update-3.8 { - execsql {UPDATE test1 SET f2=f1, f1=f2} - execsql {SELECT * FROM test1 ORDER BY f1} + execsql {UPDATE test1 SET F2=f1, F1=f2} + execsql {SELECT * FROM test1 ORDER BY F1} } {2 1 4 2 8 3 16 4 32 5 64 6 128 7 256 8 512 9 1024 10} # Create an index and make sure updating works with an index. diff --git a/www/changes.tcl b/www/changes.tcl index 3058979c68..cbd0240ce0 100644 --- a/www/changes.tcl +++ b/www/changes.tcl @@ -17,6 +17,11 @@ proc chng {date desc} { puts "

    $desc

" } +chng {2000 June 19} { +
  • Bug fix: Column names in UPDATE statements used to be case sensitive. + Now they are not.
  • +} + chng {2000 June 16} {
  • Added the concatenate string operator (||)
  • }