Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNUs3-0003w0-QA for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Jun 2017 01:55:51 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dNUs2-0004so-T7 for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Jun 2017 01:55:50 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dNUs2-0004sZ-58; Wed, 21 Jun 2017 01:55:50 +0000 Received: from tama500.ecl.ntt.co.jp ([129.60.39.148]) by magus.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNUru-0002Si-4p; Wed, 21 Jun 2017 01:55:49 +0000 Received: from vc2.ecl.ntt.co.jp (vc2.ecl.ntt.co.jp [129.60.86.154]) by tama500.ecl.ntt.co.jp (8.13.8/8.13.8) with ESMTP id v5L1tecH028690; Wed, 21 Jun 2017 10:55:40 +0900 Received: from vc2.ecl.ntt.co.jp (localhost [127.0.0.1]) by vc2.ecl.ntt.co.jp (Postfix) with ESMTP id 8F6C35F63F; Wed, 21 Jun 2017 10:55:40 +0900 (JST) Received: from jcms-pop21.ecl.ntt.co.jp (jcms-pop21.ecl.ntt.co.jp [129.60.87.134]) by vc2.ecl.ntt.co.jp (Postfix) with ESMTP id 824E75F631; Wed, 21 Jun 2017 10:55:40 +0900 (JST) Received: from [127.0.0.1] (unknown [129.60.241.61]) by jcms-pop21.ecl.ntt.co.jp (Postfix) with ESMTPSA id 74306400BED; Wed, 21 Jun 2017 10:55:40 +0900 (JST) Subject: Re: [BUGS] Beta 10 parser error for CREATE STATISTICS IF NOT EXISTS From: Amit Langote References: <20170621004237.GB8337@wolff.to> <73b2a51a-3cf9-a44c-4cd0-bbc611016eb4@lab.ntt.co.jp> Message-ID: <38b7d52e-387a-0e47-7525-b8b654ca4bfb@lab.ntt.co.jp> Date: Wed, 21 Jun 2017 10:55:28 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <73b2a51a-3cf9-a44c-4cd0-bbc611016eb4@lab.ntt.co.jp> Content-Type: multipart/mixed; boundary="------------F0EF3950CEA15E2E07083E64" Content-Language: en-US To: Bruno Wolff III , pgsql-bugs@postgresql.org Cc: Pg Hackers X-TM-AS-MML: disable List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org This is a multi-part message in MIME format. --------------F0EF3950CEA15E2E07083E64 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 2017/06/21 10:15, Amit Langote wrote: > On 2017/06/21 9:42, Bruno Wolff III wrote: >> I'm not seeing an obvious error in my attempt to use CREATE STATISTICS IF >> NOT EXISTS. Given this is new, maybe there is a bug in the parser. >> >> Sample output: >> psql (10beta1) >> Type "help" for help. >> >> o365logs=# select version(); >> >> version >> -------------------------------------------------------------------------------- >> >> ---------------------------- >> PostgreSQL 10beta1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 >> 20150623 >> (Red Hat 4.8.5-11), 64-bit >> (1 row) >> >> o365logs=# CREATE STATISTICS IF NOT EXISTS logs_corrtest (dependencies) ON >> record_type, operation FROM logs; >> ERROR: syntax error at or near "NOT" >> LINE 1: CREATE STATISTICS IF NOT EXISTS logs_corrtest (dependencies)... > > Looks like a documentation bug if the authors of the feature actually > meant to implement the following syntax: > > CREATE [ IF NOT EXISTS ] STATISTICS > > create if not exists statistics words_stats on a, b from words; > CREATE STATISTICS > > create if not exists statistics words_stats on a, b from words; > NOTICE: statistics object "words_stats" already exists, skipping > CREATE STATISTICS > > If that's really what's intended, it seems a bit inconsistent with most > other commands and with DROP STATISTICS [ IF NOT EXISTS ] itself. Here is a patch, just in case, that changes the grammar to accept the following syntax instead of the current one: CREATE STATISTICS [ IF NOT EXIST ] ... Also added a test. Documentation already displays the above syntax, so no update needed there. Thanks, Amit --------------F0EF3950CEA15E2E07083E64 Content-Type: text/plain; charset=UTF-8; name="0001-Fix-the-syntax-of-IF-NOT-EXISTS-variant-of-CREATE-ST.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Fix-the-syntax-of-IF-NOT-EXISTS-variant-of-CREATE-ST.pa"; filename*1="tch" RnJvbSBhNGQzMzFmMmJlNzRhZDRlMGM5YTMwZjM5ODRjMjk4OGFhNTQxYzNk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBhbWl0IDxhbWl0bGFu Z290ZTA5QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMSBKdW4gMjAxNyAxMDo0 NzowNiArMDkwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0aGUgc3ludGF4IG9m IElGIE5PVCBFWElTVFMgdmFyaWFudCBvZiBDUkVBVEUgU1RBVElTVElDUwoK VGhlIG5vcm0gc2VlbXMgdG8gYmUgQ1JFQVRFIDxvYmplY3Q+IElGIE5PVCBF WElTVFMsIG5vdApDUkVBVEUgSUYgTk9UIEVYSVNUUyA8b2JqZWN0Piwgd2hp Y2ggdGhlIG9yaWdpbmFsIGNvZGUgaW1wbGVtZW50ZWQuCi0tLQogc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgIHwgMjMgKysrKysr KysrKysrKysrKystLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv c3RhdHNfZXh0Lm91dCB8ICA1ICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9zdGF0c19leHQuc3FsICAgICAgfCAgNSArKysrKwogMyBmaWxlcyBjaGFu Z2VkLCAyNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvZ3JhbS55CmluZGV4IGFkYTk1ZTViYzMuLjM0ZTA3Yzg3YTIg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIv c3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMzg0NiwxNSArMzg0Niwy NiBAQCBFeGlzdGluZ0luZGV4OiAgIFVTSU5HIElOREVYIGluZGV4X25hbWUJ CQkJeyAkJCA9ICQzOyB9CiAgKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiovCiAKIENyZWF0ZVN0YXRzU3RtdDoKLQkJCUNSRUFURSBvcHRfaWZf bm90X2V4aXN0cyBTVEFUSVNUSUNTIGFueV9uYW1lCisJCQlDUkVBVEUgU1RB VElTVElDUyBhbnlfbmFtZQogCQkJb3B0X25hbWVfbGlzdCBPTiBleHByX2xp c3QgRlJPTSBmcm9tX2xpc3QKIAkJCQl7CiAJCQkJCUNyZWF0ZVN0YXRzU3Rt dCAqbiA9IG1ha2VOb2RlKENyZWF0ZVN0YXRzU3RtdCk7Ci0JCQkJCW4tPmRl Zm5hbWVzID0gJDQ7Ci0JCQkJCW4tPnN0YXRfdHlwZXMgPSAkNTsKLQkJCQkJ bi0+ZXhwcnMgPSAkNzsKLQkJCQkJbi0+cmVsYXRpb25zID0gJDk7Ci0JCQkJ CW4tPmlmX25vdF9leGlzdHMgPSAkMjsKKwkJCQkJbi0+ZGVmbmFtZXMgPSAk MzsKKwkJCQkJbi0+c3RhdF90eXBlcyA9ICQ0OworCQkJCQluLT5leHBycyA9 ICQ2OworCQkJCQluLT5yZWxhdGlvbnMgPSAkODsKKwkJCQkJbi0+aWZfbm90 X2V4aXN0cyA9IGZhbHNlOworCQkJCQkkJCA9IChOb2RlICopbjsKKwkJCQl9 CisJCQl8IENSRUFURSBTVEFUSVNUSUNTIElGX1AgTk9UIEVYSVNUUyBhbnlf bmFtZQorCQkJICBvcHRfbmFtZV9saXN0IE9OIGV4cHJfbGlzdCBGUk9NIGZy b21fbGlzdAorCQkJCXsKKwkJCQkJQ3JlYXRlU3RhdHNTdG10ICpuID0gbWFr ZU5vZGUoQ3JlYXRlU3RhdHNTdG10KTsKKwkJCQkJbi0+ZGVmbmFtZXMgPSAk NjsKKwkJCQkJbi0+c3RhdF90eXBlcyA9ICQ3OworCQkJCQluLT5leHBycyA9 ICQ5OworCQkJCQluLT5yZWxhdGlvbnMgPSAkMTE7CisJCQkJCW4tPmlmX25v dF9leGlzdHMgPSB0cnVlOwogCQkJCQkkJCA9IChOb2RlICopbjsKIAkJCQl9 CiAJCQk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3N0YXRzX2V4dC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0 YXRzX2V4dC5vdXQKaW5kZXggNWZkMTI0NGJjYi4uOTc1NTFlOWRmNiAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdGF0c19leHQu b3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHNfZXh0 Lm91dApAQCAtMzQsNiArMzQsMTEgQEAgRVJST1I6ICB1bnJlY29nbml6ZWQg c3RhdGlzdGljIHR5cGUgInVucmVjb2duaXplZCIKIENSRUFURSBUQUJMRSBh YjEgKGEgSU5URUdFUiwgYiBJTlRFR0VSLCBjIElOVEVHRVIpOwogQ1JFQVRF IFNUQVRJU1RJQ1MgYWIxX2FfYl9zdGF0cyBPTiBhLCBiIEZST00gYWIxOwog RFJPUCBTVEFUSVNUSUNTIGFiMV9hX2Jfc3RhdHM7CistLSBDaGVjayB0aGUg SUYgTk9UIEVYSVNUUyBzeW50YXgKK0NSRUFURSBTVEFUSVNUSUNTIElGIE5P VCBFWElTVFMgYWIxX2FfYl9zdGF0cyBPTiBhLCBiIEZST00gYWIxOworQ1JF QVRFIFNUQVRJU1RJQ1MgSUYgTk9UIEVYSVNUUyBhYjFfYV9iX3N0YXRzIE9O IGEsIGIgRlJPTSBhYjE7CitOT1RJQ0U6ICBzdGF0aXN0aWNzIG9iamVjdCAi YWIxX2FfYl9zdGF0cyIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nCitEUk9Q IFNUQVRJU1RJQ1MgYWIxX2FfYl9zdGF0czsKIENSRUFURSBTQ0hFTUEgcmVn cmVzc19zY2hlbWFfMjsKIENSRUFURSBTVEFUSVNUSUNTIHJlZ3Jlc3Nfc2No ZW1hXzIuYWIxX2FfYl9zdGF0cyBPTiBhLCBiIEZST00gYWIxOwogLS0gTGV0 J3MgYWxzbyB2ZXJpZnkgdGhlIHBnX2dldF9zdGF0aXN0aWNzb2JqZGVmIG91 dHB1dCBsb29rcyBzYW5lLgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc3RhdHNfZXh0LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N0 YXRzX2V4dC5zcWwKaW5kZXggNGMyZjUxNGI5My4uOGVjZmQ5YTBmOSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3RhdHNfZXh0LnNxbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdGF0c19leHQuc3FsCkBAIC0y Myw2ICsyMywxMSBAQCBDUkVBVEUgVEFCTEUgYWIxIChhIElOVEVHRVIsIGIg SU5URUdFUiwgYyBJTlRFR0VSKTsKIENSRUFURSBTVEFUSVNUSUNTIGFiMV9h X2Jfc3RhdHMgT04gYSwgYiBGUk9NIGFiMTsKIERST1AgU1RBVElTVElDUyBh YjFfYV9iX3N0YXRzOwogCistLSBDaGVjayB0aGUgSUYgTk9UIEVYSVNUUyBz eW50YXgKK0NSRUFURSBTVEFUSVNUSUNTIElGIE5PVCBFWElTVFMgYWIxX2Ff Yl9zdGF0cyBPTiBhLCBiIEZST00gYWIxOworQ1JFQVRFIFNUQVRJU1RJQ1Mg SUYgTk9UIEVYSVNUUyBhYjFfYV9iX3N0YXRzIE9OIGEsIGIgRlJPTSBhYjE7 CitEUk9QIFNUQVRJU1RJQ1MgYWIxX2FfYl9zdGF0czsKKwogQ1JFQVRFIFND SEVNQSByZWdyZXNzX3NjaGVtYV8yOwogQ1JFQVRFIFNUQVRJU1RJQ1MgcmVn cmVzc19zY2hlbWFfMi5hYjFfYV9iX3N0YXRzIE9OIGEsIGIgRlJPTSBhYjE7 CiAKLS0gCjIuMTEuMAoK --------------F0EF3950CEA15E2E07083E64 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --------------F0EF3950CEA15E2E07083E64--