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 "
"
}
+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 (||)
}