From 2424aa723b6b208b0b53d6f7408555d04b04e14a Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 11 Apr 2018 17:10:54 +0000 Subject: [PATCH] Help the parser run faster by avoiding the "explain ::= ." production. FossilOrigin-Name: d7ec7b5970df9e542401f8299e098a5039d1875e2e3383dad06a0ec998589b6e --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/parse.y | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 8ec777c56f..d6f09a69bf 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Prohibit\sbound\sparameters\sin\sthe\sarguments\sto\stable-valued\sfunctions\swithin\na\strigger.\s\sProblem\sdiscovered\sby\sOSSFuzz. -D 2018-04-11T16:04:01.145 +C Help\sthe\sparser\srun\sfaster\sby\savoiding\sthe\s"explain\s::=\s."\sproduction. +D 2018-04-11T17:10:54.632 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 7016fc56c6b9bfe5daac4f34be8be38d8c0b5fab79ccbfb764d3b23bf1c6fff3 @@ -480,7 +480,7 @@ F src/os_win.c eb03c6d52f893bcd7fdd4c6006674c13c1b5e49543fec98d605201af2997171c F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a F src/pager.c 1bb6a57fa0465296a4d6109a1a64610a0e7adde1f3acf3ef539a9d972908ce8f F src/pager.h c571b064df842ec8f2e90855dead9acf4cbe0d1b2c05afe0ef0d0145f7fd0388 -F src/parse.y 22ca6e5bb34bbf94e4f91bb1cae6fefad7c03c2e0f29fe9b14b4192e8421f234 +F src/parse.y e3c4116efb7d693df412bd42a96c88c6463704d31a29342c2fa671f6e91ecb26 F src/pcache.c 135ef0bc6fb2e3b7178d49ab5c9176254c8a691832c1bceb1156b2fbdd0869bd F src/pcache.h 072f94d29281cffd99e46c1539849f248c4b56ae7684c1f36626797fee375170 F src/pcache1.c 716975564c15eb6679e97f734cec1bfd6c16ac3d4010f05f1f8e509fc7d19880 @@ -1717,7 +1717,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 f32cdb41ca213cfcfe0bb5bfe56930d43e55525fa5640274b00f1ccce7f69634 -R 7c8229c67bab778254c73d883b02f8cd +P b7178209152452e82f5908513385018524472640d67547927d6b4c0aa0c15a46 +R 12b886afc6216ee0a5a2b22cc4bff5a5 U drh -Z d47d1a7f91fccc9da7ff7a7b98373d3d +Z 93376c77c8408e036fdadd56852c955d diff --git a/manifest.uuid b/manifest.uuid index ad5c4d6fa3..c807fee2e0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b7178209152452e82f5908513385018524472640d67547927d6b4c0aa0c15a46 \ No newline at end of file +d7ec7b5970df9e542401f8299e098a5039d1875e2e3383dad06a0ec998589b6e \ No newline at end of file diff --git a/src/parse.y b/src/parse.y index c82177a86f..26dde6ee24 100644 --- a/src/parse.y +++ b/src/parse.y @@ -114,9 +114,9 @@ input ::= cmdlist. cmdlist ::= cmdlist ecmd. cmdlist ::= ecmd. ecmd ::= SEMI. -ecmd ::= explain cmdx SEMI. -explain ::= . +ecmd ::= cmdx SEMI. %ifndef SQLITE_OMIT_EXPLAIN +ecmd ::= explain cmdx. explain ::= EXPLAIN. { pParse->explain = 1; } explain ::= EXPLAIN QUERY PLAN. { pParse->explain = 2; } %endif SQLITE_OMIT_EXPLAIN