Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oXdKO-0006nj-AG for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Sep 2022 06:53:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oXdKN-0007so-6A for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Sep 2022 06:53:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oXdKM-0007sf-Sf for pgsql-hackers@lists.postgresql.org; Mon, 12 Sep 2022 06:53:54 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oXdKJ-0004v0-WB for pgsql-hackers@postgresql.org; Mon, 12 Sep 2022 06:53:54 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 89F2E609DE; Mon, 12 Sep 2022 15:53:46 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.7 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_6e200e1c4038db7f9c1dd5ebd5787744" Content-Transfer-Encoding: 7bit Date: Mon, 12 Sep 2022 15:53:46 +0900 From: bt22kawamotok To: Shinya Kato Cc: pgsql-hackers@postgresql.org Subject: Re: [PATCH]Feature improvement for MERGE tab completion In-Reply-To: <359a46c295eae938d84552c11818ab62@oss.nttdata.com> References: <9f1ad2a87a58cd5e7d64f3993130958d@oss.nttdata.com> <359a46c295eae938d84552c11818ab62@oss.nttdata.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: bt22kawamotok@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_6e200e1c4038db7f9c1dd5ebd5787744 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed > else if (TailMatches("USING", MatchAny, "ON", MatchAny, "WHEN")) > COMPLETE_WITH("MATCHED", "NOT MATCHED"); > else if (TailMatches("USING", MatchAny, "AS", MatchAny, "ON", > MatchAny, "WHEN")) > COMPLETE_WITH("MATCHED", "NOT MATCHED"); > else if (TailMatches("USING", MatchAny, MatchAny, "ON", MatchAny, > "WHEN")) > COMPLETE_WITH("MATCHED", "NOT MATCHED"); > > I thought it would be better to describe this section as follows, > summarizing the conditions > > else if (TailMatches("USING", MatchAny, "ON", MatchAny, "WHEN") || > TailMatches("USING", MatchAny, "AS", MatchAny, "ON", MatchAny, > "WHEN") || > TailMatches("USING", MatchAny, MatchAny, "ON", MatchAny, "WHEN")) > COMPLETE_WITH("MATCHED", "NOT MATCHED"); > > There are similar redundancies in the tab completion of MERGE > statement, so why not fix that as well? Thanks for your review. A new patch has been created to reflect the changes you indicated. I also found a problem that "DO NOTHING" is not completed when type "WHEN MATCHED ", so I fixed it as well. Regards, Kotaro Kawamoto --=_6e200e1c4038db7f9c1dd5ebd5787744 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=fix_tab_completion_merge_v2.patch Content-Disposition: attachment; filename=fix_tab_completion_merge_v2.patch; size=1595 ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYyBiL3NyYy9iaW4vcHNxbC90 YWItY29tcGxldGUuYwppbmRleCA2MmEzOTc3OWI5Li5jMDViNTJlNDlhIDEwMDY0NAotLS0gYS9z cmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0 ZS5jCkBAIC00MDY4LDcgKzQwNjgsNyBAQCBwc3FsX2NvbXBsZXRpb24oY29uc3QgY2hhciAqdGV4 dCwgaW50IHN0YXJ0LCBpbnQgZW5kKQogCS8qIHdpdGggW0FTXSBhbGlhcyAqLwogCWVsc2UgaWYg KFRhaWxNYXRjaGVzKCJNRVJHRSIsICJJTlRPIiwgTWF0Y2hBbnksICJBUyIsIE1hdGNoQW55KSkK IAkJQ09NUExFVEVfV0lUSCgiVVNJTkciKTsKLQllbHNlIGlmIChUYWlsTWF0Y2hlcygiTUVSR0Ui LCAiSU5UTyIsIE1hdGNoQW55LCBNYXRjaEFueSkpCisJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIk1F UkdFIiwgIklOVE8iLCBNYXRjaEFueSwgTWF0Y2hBbnkpICYmICFUYWlsTWF0Y2hlcygiQVMiKSkK IAkJQ09NUExFVEVfV0lUSCgiVVNJTkciKTsKIAllbHNlIGlmIChUYWlsTWF0Y2hlcygiTUVSR0Ui LCAiSU5UTyIsIE1hdGNoQW55LCAiQVMiLCBNYXRjaEFueSwgIlVTSU5HIikpCiAJCUNPTVBMRVRF X1dJVEhfU0NIRU1BX1FVRVJZKFF1ZXJ5X2Zvcl9saXN0X29mX3RhYmxlcyk7CkBAIC00MDk1LDEy ICs0MDk1LDE2IEBAIHBzcWxfY29tcGxldGlvbihjb25zdCBjaGFyICp0ZXh0LCBpbnQgc3RhcnQs IGludCBlbmQpCiAJCUNPTVBMRVRFX1dJVEgoIldIRU4gTUFUQ0hFRCIsICJXSEVOIE5PVCBNQVRD SEVEIik7CiAJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIlVTSU5HIiwgTWF0Y2hBbnksIE1hdGNoQW55 LCAiT04iLCBNYXRjaEFueSkpCiAJCUNPTVBMRVRFX1dJVEgoIldIRU4gTUFUQ0hFRCIsICJXSEVO IE5PVCBNQVRDSEVEIik7CisJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIlVTSU5HIiwgTWF0Y2hBbnks ICJPTiIsIE1hdGNoQW55LCAiV0hFTiIpKSB8fAorCQkJKFRhaWxNYXRjaGVzKCJVU0lORyIsIE1h dGNoQW55LCAiQVMiLCBNYXRjaEFueSwgIk9OIiwgTWF0Y2hBbnksICJXSEVOIikpIHx8CisJCQko VGFpbE1hdGNoZXMoIlVTSU5HIiwgTWF0Y2hBbnksIE1hdGNoQW55LCAiT04iLCBNYXRjaEFueSwg IldIRU4iKSkKKwkJQ09NUExFVEVfV0lUSCgiTUFUQ0hFRCIsICJOT1QgTUFUQ0hFRCIpOwogCWVs c2UgaWYgKFRhaWxNYXRjaGVzKCJXSEVOIiwgIk1BVENIRUQiKSkKIAkJQ09NUExFVEVfV0lUSCgi VEhFTiIsICJBTkQiKTsKIAllbHNlIGlmIChUYWlsTWF0Y2hlcygiV0hFTiIsICJOT1QiLCAiTUFU Q0hFRCIpKQogCQlDT01QTEVURV9XSVRIKCJUSEVOIiwgIkFORCIpOwogCWVsc2UgaWYgKFRhaWxN YXRjaGVzKCJXSEVOIiwgIk1BVENIRUQiLCAiVEhFTiIpKQotCQlDT01QTEVURV9XSVRIKCJVUERB VEUiLCAiREVMRVRFIik7CisJCUNPTVBMRVRFX1dJVEgoIlVQREFURSIsICJERUxFVEUiLCAiRE8g Tk9USElORyIpOwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJXSEVOIiwgIk5PVCIsICJNQVRDSEVE IiwgIlRIRU4iKSkKIAkJQ09NUExFVEVfV0lUSCgiSU5TRVJUIiwgIkRPIE5PVEhJTkciKTsKIAo= --=_6e200e1c4038db7f9c1dd5ebd5787744--