]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
:-) (CVS 102)
authordrh <drh@noemail.net>
Mon, 19 Jun 2000 19:09:08 +0000 (19:09 +0000)
committerdrh <drh@noemail.net>
Mon, 19 Jun 2000 19:09:08 +0000 (19:09 +0000)
FossilOrigin-Name: 8cce4d279de00da45c5970c8f0946f49e03e6846

manifest
manifest.uuid
src/parse.y
src/select.c
src/update.c
test/update.test
www/changes.tcl

index 990b80c7bbc0f0d9cf9f9edd5b81ad2bfecc31fb..3d3ba423023f62e625c4a2b1c606942d461bea54 100644 (file)
--- 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
index c6a1315c083b4267e1bc214fdf5272b967b980d9..4a936d7185e7ca3e07ab0dd130200cf0ae431ff2 100644 (file)
@@ -1 +1 @@
-6ed35a1d477906dc7e35bea0579951484fcdc858
\ No newline at end of file
+8cce4d279de00da45c5970c8f0946f49e03e6846
\ No newline at end of file
index 417891122da30520dd7e6c0e03b830903318e98a..862e1d6309c45d5b82c8c18e949cced65dedfd2f 100644 (file)
@@ -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;}
 
 
index 8d716bd3f690bbecb0f2fbd32233a156564fe947..e39e415a4c7c08534148b6b840aa62da02aa3122 100644 (file)
@@ -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++;
index 15c7bbf754545f8cbca5adf5628052baafb2f547..982d125893558e616e383cc56af735171417671c 100644 (file)
@@ -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; j<pTab->nCol; 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;
       }
index 94e24205c8f6a5589a35b3940825f1e7ba02b3ac..dea0db3e2309e62a2fce28c7c59e1f3b97257079 100644 (file)
@@ -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.
index 3058979c680c1e64fc5ec186ee63cfb119d72d99..cbd0240ce09b483e5d57cba9e4535d6a94a229d2 100644 (file)
@@ -17,6 +17,11 @@ proc chng {date desc} {
   puts "<DD><P><UL>$desc</UL></P></DD>"
 }
 
+chng {2000 June 19} {
+<li>Bug fix: Column names in UPDATE statements used to be case sensitive.
+    Now they are not.</li>
+}
+
 chng {2000 June 16} {
 <li>Added the concatenate string operator (||)</li>
 }