From 8679fbabaa23e5315cd9abe767ad96741a09f20a Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 11 Apr 2016 01:43:33 +0000 Subject: [PATCH] Back off of the parser optimization in the previous check-in, slightly, to preserve some backwards compatibility regarding some undocumented behavior in the '#AAA' style query parameter. FossilOrigin-Name: ef1966c2469a0f5dbdb31a0287bd37badb2b8f28 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/parse.y | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index f239120af5..feae043873 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Small\ssize\sreduction\sand\sperformance\simprovement\sin\sthe\sparser. -D 2016-04-11T01:26:31.547 +C Back\soff\sof\sthe\sparser\soptimization\sin\sthe\sprevious\scheck-in,\sslightly,\sto\npreserve\ssome\sbackwards\scompatibility\sregarding\ssome\sundocumented\sbehavior\nin\sthe\s'#AAA'\sstyle\squery\sparameter. +D 2016-04-11T01:43:33.203 F Makefile.in eba680121821b8a60940a81454316f47a341487a F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 1f123a0757f6f04f0341accb46457e116817159a @@ -364,7 +364,7 @@ F src/os_win.c b3ba9573d8d893e70a6a8015bbee572ecf7ffbef F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca F src/pager.c 38718a019ca762ba4f6795425d5a54db70d1790d F src/pager.h e1d38a2f14849e219df0f91f8323504d134c8a56 -F src/parse.y 55670f9b802b65fa7b4c5bee1c3f1df3b7fab17b +F src/parse.y 52cdeb4f37634d0ccd2998aab099b7bbb690b0d3 F src/pcache.c 647bb53a86b7bbcf55ad88089b3ea5a9170b90df F src/pcache.h 4d0ccaad264d360981ec5e6a2b596d6e85242545 F src/pcache1.c c40cdb93586e21b5dd826b5e671240bd91c26b05 @@ -1482,7 +1482,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 6a5cceee486c5e3625556e4c7076ff90e9d8fa43 -R 760d086185281b3360f3c0b7a4fcef9f +P 16df71284bf081c8b3d3aa57c129a07067ddbed3 +R 667818294699cc99ee5b525ba6ac6436 U drh -Z 39bdfd823e1ede2ba92d243629273ed6 +Z c1e211272b38ff3536c2cdaeb19c42fc diff --git a/manifest.uuid b/manifest.uuid index 1409067143..01abafd845 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -16df71284bf081c8b3d3aa57c129a07067ddbed3 \ No newline at end of file +ef1966c2469a0f5dbdb31a0287bd37badb2b8f28 \ No newline at end of file diff --git a/src/parse.y b/src/parse.y index 01a738ff8f..605751fd9e 100644 --- a/src/parse.y +++ b/src/parse.y @@ -871,7 +871,7 @@ expr(A) ::= nm(X) DOT nm(Y) DOT nm(Z). { term(A) ::= INTEGER|FLOAT|BLOB(X). {spanExpr(&A,pParse,@X,X);/*A-overwrites-X*/} term(A) ::= STRING(X). {spanExpr(&A,pParse,@X,X);/*A-overwrites-X*/} expr(A) ::= VARIABLE(X). { - if( X.z[0]!='#' ){ + if( !(X.z[0]=='#' && sqlite3Isdigit(X.z[1])) ){ spanExpr(&A, pParse, TK_VARIABLE, X); sqlite3ExprAssignVarNumber(pParse, A.pExpr); }else{ -- 2.47.2