aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addopcodes.awk11
-rw-r--r--manifest18
-rw-r--r--manifest.uuid2
-rw-r--r--src/alter.c4
-rw-r--r--src/parse.y12
-rw-r--r--src/tokenize.c9
6 files changed, 26 insertions, 30 deletions
diff --git a/addopcodes.awk b/addopcodes.awk
index b806b1d96..f6f8927e2 100644
--- a/addopcodes.awk
+++ b/addopcodes.awk
@@ -23,10 +23,9 @@ END {
printf "#define TK_%-29s %4d\n", "ILLEGAL", max+7
printf "#define TK_%-29s %4d\n", "SPACE", max+8
printf "#define TK_%-29s %4d\n", "UNCLOSED_STRING", max+9
- printf "#define TK_%-29s %4d\n", "COMMENT", max+10
- printf "#define TK_%-29s %4d\n", "FUNCTION", max+11
- printf "#define TK_%-29s %4d\n", "COLUMN", max+12
- printf "#define TK_%-29s %4d\n", "AGG_FUNCTION", max+13
- printf "#define TK_%-29s %4d\n", "AGG_COLUMN", max+14
- printf "#define TK_%-29s %4d\n", "CONST_FUNC", max+15
+ printf "#define TK_%-29s %4d\n", "FUNCTION", max+10
+ printf "#define TK_%-29s %4d\n", "COLUMN", max+11
+ printf "#define TK_%-29s %4d\n", "AGG_FUNCTION", max+12
+ printf "#define TK_%-29s %4d\n", "AGG_COLUMN", max+13
+ printf "#define TK_%-29s %4d\n", "CONST_FUNC", max+14
}
diff --git a/manifest b/manifest
index d3372aa7b..779605786 100644
--- a/manifest
+++ b/manifest
@@ -1,12 +1,12 @@
-C Improved\sclarity\sof\spresentation\sin\sthe\stokenizer.\s(CVS\s5545)
-D 2008-08-07T13:05:35
+C Disallow\sthe\sON\sCONFLICT\sclause\son\sCHECK\sconstraints.\s\sThe\ssyntax\sused\sto\sbe\nallowed\sbut\snever\sworked,\sso\sthis\sshould\snot\spresent\scompatibility\sproblems.\nOther\sinternal\sgrammar\ssimplifications.\s(CVS\s5546)
+D 2008-08-08T14:19:41
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 2713ea64947be3b35f35d9a3158bb8299c90b019
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F README b974cdc3f9f12b87e851b04e75996d720ebf81ac
F VERSION 1d5b2c9192236ed2c6bad659a7c2d1662e39e7b9
F aclocal.m4 7d02b11fed45174e11156144227278deb6236eea
-F addopcodes.awk 701697fae48376375ec8532c3d04e910cfeef352
+F addopcodes.awk 48a2ffae0a6fb191ae9e42e69a90b15d973e0339
F art/2005osaward.gif 0d1851b2a7c1c9d0ccce545f3e14bca42d7fd248
F art/SQLite.eps 9b43cc99cfd2be687d386faea6862ea68d6a72b2
F art/SQLite.gif 1bbb94484963f1382e27e1c5e86dd0c1061eba2b
@@ -90,7 +90,7 @@ F sqlite.pc.in c322c6244c6395955dca34d87955aabde7df7623
F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc
F sqlite3.def a1be7b9a4b8b51ac41c6ff6e8e44a14ef66b338b
F sqlite3.pc.in 32b8a014799c2028c8e0c9cc5659718262fc493f
-F src/alter.c 2c541aaa88d720301253f181799d4af7bb9ddf1c
+F src/alter.c f462b637bac6c6576a9b7bc6da59c7a82ed5aab2
F src/analyze.c 747ce8cb6b318bb0d0576cfb5277aed98cbbeb5c
F src/attach.c a85c14612e7e3410e0c3d2e0241832fa9688bd14
F src/auth.c c8b2ab5c8bad4bd90ed7c294694f48269162c627
@@ -137,7 +137,7 @@ F src/os_unix.c fe0dbc35bcd3de49e46b132abfc0f45d6dd6a864
F src/os_win.c aefe9ee26430678a19a058a874e4e2bd91398142
F src/pager.c b6a366f2343e7f127d7e70dbe76cd664336143cd
F src/pager.h 588c1ac195228b2da45c4e5f7ab6c2fd253d1751
-F src/parse.y d962e544d9953289db23c1d4cc2dab514c7136fa
+F src/parse.y 3bd91b936a247dbb89a6fb1824cb18c6987f16b0
F src/pragma.c 6e207b4f69901089758c02c02e0bf86ed12a4d8f
F src/prepare.c d9f420808f7d2802258f0bf64103271311e2d87f
F src/printf.c 2e984b2507291a7e16d89dc9bb60582904f6247d
@@ -177,7 +177,7 @@ F src/test_schema.c 4b4bf7bb329326458c491b0e6facd4c8c4c5b479
F src/test_server.c f0a403b5f699c09bd2b1236b6f69830fd6221f6b
F src/test_tclvar.c 73530070df8378571c8ce6bbbbb993236ae3ad0b
F src/test_thread.c e297dd41db0b249646e69f97d36ec13e56e8b730
-F src/tokenize.c 0b8f3e1dc928cef15857fd59a61e76afcf7a39b4
+F src/tokenize.c d16ca0e9944161c76d2e4c11dc379ec88189b93b
F src/trigger.c b61aaf7bff8e3763b234dbf46a1a64fb88a34e64
F src/update.c 79b77a3cc8ed5f8903a7f37055fcedd69388dcae
F src/utf.c a7004436a6ef2aee012ace93de274dd0f3c7624e
@@ -617,7 +617,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P ce8cbeea51442ea963bcdf5ddc71f021fb996a37
-R d3ffb4267b8bb3f4ad51b066b9b3e92c
+P 732657c6a639bdf71a3341f6747d19298d442ddb
+R a8dbe9c0297be9af2808d9fc7cbb821d
U drh
-Z 7539001bbb09229cb83d06a8b023aae5
+Z c51d96114f2cd9514587cda1bec559ff
diff --git a/manifest.uuid b/manifest.uuid
index d6c704253..ab8e70495 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-732657c6a639bdf71a3341f6747d19298d442ddb \ No newline at end of file
+4cedc641ed39982ae8cbb9200aa1e2f37c878b73 \ No newline at end of file
diff --git a/src/alter.c b/src/alter.c
index ba929bedd..ec315da48 100644
--- a/src/alter.c
+++ b/src/alter.c
@@ -12,7 +12,7 @@
** This file contains C code routines that used to generate VDBE code
** that implements the ALTER TABLE command.
**
-** $Id: alter.c,v 1.47 2008/07/28 19:34:53 drh Exp $
+** $Id: alter.c,v 1.48 2008/08/08 14:19:41 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -74,7 +74,7 @@ static void renameTableFunc(
do {
zCsr += len;
len = sqlite3GetToken(zCsr, &token);
- } while( token==TK_SPACE || token==TK_COMMENT );
+ } while( token==TK_SPACE );
assert( len>0 );
} while( token!=TK_LP && token!=TK_USING );
diff --git a/src/parse.y b/src/parse.y
index b2cbe9bca..8b6d1632e 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -14,7 +14,7 @@
** the parser. Lemon will also generate a header file containing
** numeric codes for all of the tokens.
**
-** @(#) $Id: parse.y,v 1.248 2008/07/31 01:40:42 shane Exp $
+** @(#) $Id: parse.y,v 1.249 2008/08/08 14:19:41 drh Exp $
*/
// All token codes are small integers with #defines that begin with "TK_"
@@ -91,7 +91,6 @@ struct AttachKey { int type; Token key; };
input ::= cmdlist.
cmdlist ::= cmdlist ecmd.
cmdlist ::= ecmd.
-cmdx ::= cmd. { sqlite3FinishCoding(pParse); }
ecmd ::= SEMI.
ecmd ::= explain cmdx SEMI.
explain ::= . { sqlite3BeginParse(pParse, 0); }
@@ -99,6 +98,7 @@ explain ::= . { sqlite3BeginParse(pParse, 0); }
explain ::= EXPLAIN. { sqlite3BeginParse(pParse, 1); }
explain ::= EXPLAIN QUERY PLAN. { sqlite3BeginParse(pParse, 2); }
%endif SQLITE_OMIT_EXPLAIN
+cmdx ::= cmd. { sqlite3FinishCoding(pParse); }
///////////////////// Begin and end transactions. ////////////////////////////
//
@@ -313,7 +313,7 @@ tcons ::= PRIMARY KEY LP idxlist(X) autoinc(I) RP onconf(R).
{sqlite3AddPrimaryKey(pParse,X,R,I,0);}
tcons ::= UNIQUE LP idxlist(X) RP onconf(R).
{sqlite3CreateIndex(pParse,0,0,0,X,R,0,0,0,0);}
-tcons ::= CHECK LP expr(E) RP onconf. {sqlite3AddCheckConstraint(pParse,E);}
+tcons ::= CHECK LP expr(E) RP. {sqlite3AddCheckConstraint(pParse,E);}
tcons ::= FOREIGN KEY LP idxlist(FA) RP
REFERENCES nm(T) idxlist_opt(TA) refargs(R) defer_subclause_opt(D). {
sqlite3CreateForeignKey(pParse, FA, &T, TA, R);
@@ -885,11 +885,10 @@ uniqueflag(A) ::= . {A = OE_None;}
%destructor idxlist {sqlite3ExprListDelete(pParse->db, $$);}
%type idxlist_opt {ExprList*}
%destructor idxlist_opt {sqlite3ExprListDelete(pParse->db, $$);}
-%type idxitem {Token}
idxlist_opt(A) ::= . {A = 0;}
idxlist_opt(A) ::= LP idxlist(X) RP. {A = X;}
-idxlist(A) ::= idxlist(X) COMMA idxitem(Y) collate(C) sortorder(Z). {
+idxlist(A) ::= idxlist(X) COMMA nm(Y) collate(C) sortorder(Z). {
Expr *p = 0;
if( C.n>0 ){
p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0);
@@ -899,7 +898,7 @@ idxlist(A) ::= idxlist(X) COMMA idxitem(Y) collate(C) sortorder(Z). {
sqlite3ExprListCheckLength(pParse, A, "index");
if( A ) A->a[A->nExpr-1].sortOrder = Z;
}
-idxlist(A) ::= idxitem(Y) collate(C) sortorder(Z). {
+idxlist(A) ::= nm(Y) collate(C) sortorder(Z). {
Expr *p = 0;
if( C.n>0 ){
p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0);
@@ -909,7 +908,6 @@ idxlist(A) ::= idxitem(Y) collate(C) sortorder(Z). {
sqlite3ExprListCheckLength(pParse, A, "index");
if( A ) A->a[A->nExpr-1].sortOrder = Z;
}
-idxitem(A) ::= nm(X). {A = X;}
%type collate {Token}
collate(C) ::= . {C.z = 0; C.n = 0;}
diff --git a/src/tokenize.c b/src/tokenize.c
index eaca6b53b..3e5bd9de9 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -15,7 +15,7 @@
** individual tokens and sends those tokens one-by-one over to the
** parser for analysis.
**
-** $Id: tokenize.c,v 1.149 2008/08/07 13:05:36 drh Exp $
+** $Id: tokenize.c,v 1.150 2008/08/08 14:19:41 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -131,7 +131,7 @@ int sqlite3GetToken(const unsigned char *z, int *tokenType){
case '-': {
if( z[1]=='-' ){
for(i=2; (c=z[i])!=0 && c!='\n'; i++){}
- *tokenType = TK_COMMENT;
+ *tokenType = TK_SPACE;
return i;
}
*tokenType = TK_MINUS;
@@ -164,7 +164,7 @@ int sqlite3GetToken(const unsigned char *z, int *tokenType){
}
for(i=3, c=z[2]; (c!='*' || z[i]!='/') && (c=z[i])!=0; i++){}
if( c ) i++;
- *tokenType = TK_COMMENT;
+ *tokenType = TK_SPACE;
return i;
}
case '%': {
@@ -420,8 +420,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
break;
}
switch( tokenType ){
- case TK_SPACE:
- case TK_COMMENT: {
+ case TK_SPACE: {
if( db->u1.isInterrupted ){
pParse->rc = SQLITE_INTERRUPT;
sqlite3SetString(pzErrMsg, db, "interrupt");