From a73086dd9eb4d7a41340920a773e0369ec7db204 Mon Sep 17 00:00:00 2001 From: dan Date: Wed, 24 Feb 2016 16:14:07 +0000 Subject: [PATCH] Fix a problem with handling identifiers that start with "x" if SQLITE_OMIT_BLOB_LITERAL is defined. FossilOrigin-Name: b65217c69c59cbe9cd1494e2eb42ecf22c336399 --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/tokenize.c | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index 15a208ebd8..15bbc7006f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sthe\sSQLITE_BITMASK_TYPE\scompile-time\soption. -D 2016-02-23T16:28:34.108 +C Fix\sa\sproblem\swith\shandling\sidentifiers\sthat\sstart\swith\s"x"\sif\sSQLITE_OMIT_BLOB_LITERAL\sis\sdefined. +D 2016-02-24T16:14:07.366 F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 28fc4ee02333996d31b3602b39eeb8e609a89ce4 @@ -407,7 +407,7 @@ F src/test_windirent.c 8f5fada630348558d5745b334702f301da1ffc61 F src/test_windirent.h b12055cab6227f7be10f5c19296f67c60cc5e2a5 F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9 F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c -F src/tokenize.c c4c1d360fafa3dc458fcbb535691b134798dbb70 +F src/tokenize.c 3d338cdd00d916ce8a05c397001d64ed58e6fe1c F src/treeview.c dc39ccf04e9331237388b9cb73289c9d87ea050b F src/trigger.c e14840ee0c3e549e758ec9bf3e4146e166002280 F src/update.c a7eeeaffad59c6506f01303a071dac11de8269ca @@ -1429,7 +1429,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh a98af506df552f3b3c0d904f94e4cdc4e1a6d598 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P aa9f4c622af191edbeb6a535942944f8c91f5c37 -R 4a575c5637747e2b18640a9618428d3e -U drh -Z c4c6cb390dd2f5f6f2bb80636719a5f7 +P 0064a8c77b2b048c71277d1cfd1ba3975b513b70 +R 87ae274ca20c267f6abd45bb9b52594d +U dan +Z 138a68927e813b46e7cc6cf9848edebe diff --git a/manifest.uuid b/manifest.uuid index 561abfe587..db93997260 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0064a8c77b2b048c71277d1cfd1ba3975b513b70 \ No newline at end of file +b65217c69c59cbe9cd1494e2eb42ecf22c336399 \ No newline at end of file diff --git a/src/tokenize.c b/src/tokenize.c index 60af259cab..19a5ddf04d 100644 --- a/src/tokenize.c +++ b/src/tokenize.c @@ -435,8 +435,8 @@ int sqlite3GetToken(const unsigned char *z, int *tokenType){ *tokenType = TK_ID; return keywordCode((char*)z, i, tokenType); } -#ifndef SQLITE_OMIT_BLOB_LITERAL case CC_X: { +#ifndef SQLITE_OMIT_BLOB_LITERAL testcase( z[0]=='x' ); testcase( z[0]=='X' ); if( z[1]=='\'' ){ *tokenType = TK_BLOB; @@ -448,10 +448,10 @@ int sqlite3GetToken(const unsigned char *z, int *tokenType){ if( z[i] ) i++; return i; } +#endif /* If it is not a BLOB literal, then it must be an ID, since no ** SQL keywords start with the letter 'x'. Fall through */ } -#endif case CC_ID: { i = 1; break; -- 2.47.2