]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improved clarity of presentation in the tokenizer. (CVS 5545)
authordrh <drh@noemail.net>
Thu, 7 Aug 2008 13:05:34 +0000 (13:05 +0000)
committerdrh <drh@noemail.net>
Thu, 7 Aug 2008 13:05:34 +0000 (13:05 +0000)
FossilOrigin-Name: 732657c6a639bdf71a3341f6747d19298d442ddb

manifest
manifest.uuid
src/expr.c
src/tokenize.c

index 6f80c1ac24b0e005e36fa7119764ccf41266a0d6..d3372aa7becaa255715111af349ce5b25167d22f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\scompilation\swith\sSQLITE_OMIT_FOREIGN_KEY\sdefined.\sTicket\s#3273.\s(CVS\s5544)
-D 2008-08-06T13:47:41
+C Improved\sclarity\sof\spresentation\sin\sthe\stokenizer.\s(CVS\s5545)
+D 2008-08-07T13:05:35
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 2713ea64947be3b35f35d9a3158bb8299c90b019
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -104,7 +104,7 @@ F src/callback.c c9f75a4c403f166af3761df47d78a806587d63af
 F src/complete.c cb14e06dbe79dee031031f0d9e686ff306afe07c
 F src/date.c 52a54811218a76da6235420f532ece841159a96d
 F src/delete.c 0d115c173863b3c688c3083ef7857c7f2e9f7a18
-F src/expr.c 4f5221197384d923525fdfd117298eab073e9539
+F src/expr.c 278d3950f55e04a2486e7b8dede3713a2ed6c0e1
 F src/fault.c 3638519d1e0b82bccfafcb9f5ff491918b28f8e1
 F src/func.c 54efe220cc1ef3859a4b738011621b63a0d697c5
 F src/global.c b9c96ee2317a6e1391763c7db1098a6473a91863
@@ -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 bfdc945527a4645bf54c8bf34d1f18c019b37117
+F src/tokenize.c 0b8f3e1dc928cef15857fd59a61e76afcf7a39b4
 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 18030631e82c70e0d4d6093cd43fb0c0fa6d53c8
-R a954fc13cc336434d5e272a361cdb24e
-U danielk1977
-Z 3569290c6359f5abc9d03dcdea8e12bf
+P ce8cbeea51442ea963bcdf5ddc71f021fb996a37
+R d3ffb4267b8bb3f4ad51b066b9b3e92c
+U drh
+Z 7539001bbb09229cb83d06a8b023aae5
index 91762d6dee3d0830eb138a3e68f6fc998bb61c72..d6c704253ae2301e255474918b58c782004e6645 100644 (file)
@@ -1 +1 @@
-ce8cbeea51442ea963bcdf5ddc71f021fb996a37
\ No newline at end of file
+732657c6a639bdf71a3341f6747d19298d442ddb
\ No newline at end of file
index e8d8a1e9933053bd1be30feeeaf6875352137040..074e3649cc36d652468108745ce134c96147d395 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains routines used for analyzing expressions and
 ** for generating VDBE code that evaluates expressions in SQLite.
 **
-** $Id: expr.c,v 1.387 2008/07/28 19:34:53 drh Exp $
+** $Id: expr.c,v 1.388 2008/08/07 13:05:35 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -1306,6 +1306,7 @@ static int lookupName(
   */
   if( cnt==0 && zTab==0 && pColumnToken->z[0]=='"' ){
     sqlite3DbFree(db, zCol);
+    pExpr->op = TK_STRING;
     return 0;
   }
 
@@ -1405,14 +1406,6 @@ static int nameResolverStep(void *pArg, Expr *pExpr){
   }
 #endif
   switch( pExpr->op ){
-    /* Double-quoted strings (ex: "abc") are used as identifiers if
-    ** possible.  Otherwise they remain as strings.  Single-quoted
-    ** strings (ex: 'abc') are always string literals.
-    */
-    case TK_STRING: {
-      if( pExpr->token.z[0]=='\'' ) break;
-      /* Fall thru into the TK_ID case if this is a double-quoted string */
-    }
     /* A lone identifier is the name of a column.
     */
     case TK_ID: {
index bea8d5eba4d98a8c193d250a27a59cf10fdc01fc..eaca6b53b733e3bd2aebb3aebec389aca1ccc3bf 100644 (file)
@@ -15,7 +15,7 @@
 ** individual tokens and sends those tokens one-by-one over to the
 ** parser for analysis.
 **
-** $Id: tokenize.c,v 1.148 2008/07/28 19:34:54 drh Exp $
+** $Id: tokenize.c,v 1.149 2008/08/07 13:05:36 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -245,9 +245,12 @@ int sqlite3GetToken(const unsigned char *z, int *tokenType){
           }
         }
       }
-      if( c ){
+      if( c=='\'' ){
         *tokenType = TK_STRING;
         return i+1;
+      }else if( c!=0 ){
+        *tokenType = TK_ID;
+        return i+1;
       }else{
         *tokenType = TK_ILLEGAL;
         return i;