From: drh Date: Wed, 12 Jul 2017 17:26:44 +0000 (+0000) Subject: Remove unnecessary EP_Leaf settings on the Expr object. X-Git-Tag: version-3.20.0~65 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=980a89e630dc01043a9e855ffc81e69ca3410f73;p=thirdparty%2Fsqlite.git Remove unnecessary EP_Leaf settings on the Expr object. FossilOrigin-Name: f951c8b71b2369da62a329c792af5e3d3087bbe020f38c68ca1d0a594b904c08 --- diff --git a/manifest b/manifest index bc847efddf..dc1582b064 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C The\sEP_Resolved\sflag\son\sthe\sExpr\sobject\sis\snot\srequired\sfor\scorrectness\snor\nperformance,\sso\sremove\sit. -D 2017-07-12T17:08:24.323 +C Remove\sunnecessary\sEP_Leaf\ssettings\son\sthe\sExpr\sobject. +D 2017-07-12T17:26:44.723 F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 20850e3e8d4d4791e0531955852d768eb06f24138214870d543abb1a47346fba @@ -438,7 +438,7 @@ F src/os_win.c 2a6c73eef01c51a048cc4ddccd57f981afbec18a F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a F src/pager.c 14f6982c470c05b8e85575c69e9c1712010602e20400f8670d8699e21283e0e4 F src/pager.h f2a99646c5533ffe11afa43e9e0bea74054e4efa -F src/parse.y 213fda2ad805126eed9b960f2acc68580776f897f54b0db488b7f1d2f79589a8 +F src/parse.y e384cb73f99e1b074085c974b37f4d830e885359e4b60837e30f7d67c16ba65b F src/pcache.c 62835bed959e2914edd26afadfecce29ece0e870 F src/pcache.h 521bb9610d38ef17a3cc9b5ddafd4546c2ea67fa3d0e464823d73c2a28d50e11 F src/pcache1.c 1195a21fe28e223e024f900b2011e80df53793f0356a24caace4188b098540dc @@ -1631,7 +1631,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 68824a439b76a4cca05609a02de7abdc42bd1d26afbfcd047b90001c610d3c56 -R 7be666c6b54b174db8f6783afda432a3 +P 54f55d3b7973e326541a81bfb2e752a2f6618e4fec9a3631b95f28e12e9c6e34 +R 10e100e27df0df45b8129ca115b68f3d U drh -Z 215d37529409d33306bee9f0e8fb9f75 +Z e95f877e9262c0f435291a075b3e65bf diff --git a/manifest.uuid b/manifest.uuid index 8fa13dc9c2..c8a97e3513 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -54f55d3b7973e326541a81bfb2e752a2f6618e4fec9a3631b95f28e12e9c6e34 \ No newline at end of file +f951c8b71b2369da62a329c792af5e3d3087bbe020f38c68ca1d0a594b904c08 \ No newline at end of file diff --git a/src/parse.y b/src/parse.y index 52bc87f22f..129686ad57 100644 --- a/src/parse.y +++ b/src/parse.y @@ -875,7 +875,6 @@ idlist(A) ::= nm(Y). expr(A) ::= term(A). expr(A) ::= LP(B) expr(X) RP(E). {spanSet(&A,&B,&E); /*A-overwrites-B*/ A.pExpr = X.pExpr;} -term(A) ::= NULL(X). {spanExpr(&A,pParse,@X,X);/*A-overwrites-X*/} expr(A) ::= id(X). {spanExpr(&A,pParse,TK_ID,X); /*A-overwrites-X*/} expr(A) ::= JOIN_KW(X). {spanExpr(&A,pParse,TK_ID,X); /*A-overwrites-X*/} expr(A) ::= nm(X) DOT nm(Y). { @@ -892,13 +891,12 @@ expr(A) ::= nm(X) DOT nm(Y) DOT nm(Z). { spanSet(&A,&X,&Z); /*A-overwrites-X*/ A.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); } -term(A) ::= FLOAT|BLOB(X). {spanExpr(&A,pParse,@X,X);/*A-overwrites-X*/} -term(A) ::= STRING(X). {spanExpr(&A,pParse,@X,X);/*A-overwrites-X*/} +term(A) ::= NULL|FLOAT|BLOB(X). {spanExpr(&A,pParse,@X,X); /*A-overwrites-X*/} +term(A) ::= STRING(X). {spanExpr(&A,pParse,@X,X); /*A-overwrites-X*/} term(A) ::= INTEGER(X). { A.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &X, 1); A.zStart = X.z; A.zEnd = X.z + X.n; - if( A.pExpr ) A.pExpr->flags |= EP_Leaf; } expr(A) ::= VARIABLE(X). { if( !(X.z[0]=='#' && sqlite3Isdigit(X.z[1])) ){