Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uOoWG-00BlW5-Qr for pgsql-hackers@arkaria.postgresql.org; Tue, 10 Jun 2025 02:15:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uOoWE-00G7MY-BY for pgsql-hackers@arkaria.postgresql.org; Tue, 10 Jun 2025 02:15:19 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uOoWD-00G7LD-UA for pgsql-hackers@lists.postgresql.org; Tue, 10 Jun 2025 02:15:18 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with smtp (Exim 4.96) (envelope-from ) id 1uOoWA-001AjB-3B for pgsql-hackers@postgresql.org; Tue, 10 Jun 2025 02:15:17 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 51A93615C3; Tue, 10 Jun 2025 11:15:10 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_bf96c1c508be0c704540e9b9f3a3aaaa" Date: Tue, 10 Jun 2025 11:15:09 +0900 From: torikoshia To: Yugo Nagata Cc: sawada.mshk@gmail.com, Pgsql Hackers Subject: Re: Improve tab completion for COPY In-Reply-To: <20250603175801.d1fc50eefb178e5ca7312fd1@sraoss.co.jp> References: <079e7a2c801f252ae8d522b772790ed7@oss.nttdata.com> <20250507222318.421a6b6bfc311f4cdf07ebc0@sraoss.co.jp> <20250508085335.77b8c480e96f032b87c2d8c3@sraoss.co.jp> <0988d0a8c87c37ec8cb8d3643d9dc35a@oss.nttdata.com> <20250603175801.d1fc50eefb178e5ca7312fd1@sraoss.co.jp> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: torikoshia@oss.nttdata.com Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_bf96c1c508be0c704540e9b9f3a3aaaa Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 2025-06-03 17:58, Yugo Nagata wrote: > Thank you for updating the patch. > It looks good and I confirmed that this works as expected. Thanks for your review! BTW this is a small patch, but it does two things: (1) adds tab completion support for the REJECT_LIMIT option, which was=20 introduced in v18 (2) splits the tab completion logic between COPY FROM and COPY TO to=20 reflect their different options. While maybe (2) should be postponed to v19 or later, I think it would be=20 better to include (1) in v18. So I=E2=80=99ve split them into separate patches accordingly. -- Atsushi Torikoshi Seconded from NTT DATA GROUP CORPORATION to SRA OSS K.K. --=_bf96c1c508be0c704540e9b9f3a3aaaa Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v3-0002-Improve-tab-completion-for-COPY-options.patch Content-Disposition: attachment; filename=v3-0002-Improve-tab-completion-for-COPY-options.patch; size=3227 RnJvbSA3N2I5NmNlOThjYTU4ZDAxNmZhOTg0ZjJkYmI4OTBjYzg2ODU1ZWJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IFR1ZSwgMTAgSnVuIDIwMjUgMTA6NTU6MjQgKzA5MDAKU3ViamVjdDog W1BBVENIIHYzIDIvMl0gSW1wcm92ZSB0YWIgY29tcGxldGlvbiBmb3IgQ09QWSBvcHRpb25zCgpD dXJyZW50bHksIENPUFkgRlJPTSBhbmQgVE8gc2hhcmUgdGhlIHNhbWUgdGFiIGNvbXBsZXRpb24g cnVsZXMsCmV2ZW4gdGhvdWdoIHNvbWUgb3B0aW9ucyBhcmUgb25seSB2YWxpZCBmb3Igb25lIG9y IHRoZSBvdGhlci4KClRoaXMgcGF0Y2ggc2VwYXJhdGVzIHRoZSB0YWIgY29tcGxldGlvbiBydWxl cyBmb3IgQ09QWSBGUk9NIGFuZApDT1BZIFRPIHRvIHByb3ZpZGUgbW9yZSBhY2N1cmF0ZSBzdWdn ZXN0aW9ucy4KLS0tCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgfCAzMCArKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUu aW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwppbmRleCBjMGJhNTAwMTllLi5h MTcwNzEwMGFjIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKKysr IGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCkBAIC0xMTkwLDYgKzExOTAsMTkgQEAg QWx0ZXJfcHJvY2VkdXJlX29wdGlvbnMsICJDT1NUIiwgIklNTVVUQUJMRSIsICJMRUFLUFJPT0Yi LCAiTk9UIExFQUtQUk9PRiIsIFwKIEFsdGVyX3JvdXRpbmVfb3B0aW9ucywgIkNBTExFRCBPTiBO VUxMIElOUFVUIiwgIlJFVFVSTlMgTlVMTCBPTiBOVUxMIElOUFVUIiwgXAogIlNUUklDVCIsICJT VVBQT1JUIgogCisvKiBDT1BZIG9wdGlvbnMgc2hhcmVkIGJldHdlZW4gRlJPTSBhbmQgVE8gKi8K KyNkZWZpbmUgQ29weV9jb21tb25fb3B0aW9ucyBcCisiREVMSU1JVEVSIiwgIkVOQ09ESU5HIiwg IkVTQ0FQRSIsICJGT1JNQVQiLCAiSEVBREVSIiwgIk5VTEwiLCAiUVVPVEUiCisKKy8qIENPUFkg RlJPTSBvcHRpb25zICovCisjZGVmaW5lIENvcHlfZnJvbV9vcHRpb25zIFwKK0NvcHlfY29tbW9u X29wdGlvbnMsICJERUZBVUxUIiwgIkZPUkNFX05PVF9OVUxMIiwgIkZPUkNFX05VTEwiLCAiRlJF RVpFIiwgXAorIkxPR19WRVJCT1NJVFkiLCAiT05fRVJST1IiLCAiUkVKRUNUX0xJTUlUIgorCisv KiBDT1BZIFRPIG9wdGlvbnMgKi8KKyNkZWZpbmUgQ29weV90b19vcHRpb25zIFwKK0NvcHlfY29t bW9uX29wdGlvbnMsICJGT1JDRV9RVU9URSIKKwogLyoKICAqIFRoZXNlIG9iamVjdCB0eXBlcyB3 ZXJlIGludHJvZHVjZWQgbGF0ZXIgdGhhbiBvdXIgc3VwcG9ydCBjdXRvZmYgb2YKICAqIHNlcnZl ciB2ZXJzaW9uIDkuMi4gIFdlIHVzZSB0aGUgVmVyc2lvbmVkUXVlcnkgaW5mcmFzdHJ1Y3R1cmUg c28gdGhhdApAQCAtMzI4NCwyMyArMzI5NywyNCBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQg cGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJDT1BZfFxcY29weSIsIE1hdGNoQW55LCAi RlJPTSIsIE1hdGNoQW55KSkKIAkJQ09NUExFVEVfV0lUSCgiV0lUSCAoIiwgIldIRVJFIik7CiAK LQkvKiBDb21wbGV0ZSBDT1BZIDxzdGg+IEZST018VE8gZmlsZW5hbWUgV0lUSCAoICovCi0JZWxz ZSBpZiAoTWF0Y2hlcygiQ09QWXxcXGNvcHkiLCBNYXRjaEFueSwgIkZST018VE8iLCBNYXRjaEFu eSwgIldJVEgiLCAiKCIpKQotCQlDT01QTEVURV9XSVRIKCJGT1JNQVQiLCAiRlJFRVpFIiwgIkRF TElNSVRFUiIsICJOVUxMIiwKLQkJCQkJICAiSEVBREVSIiwgIlFVT1RFIiwgIkVTQ0FQRSIsICJG T1JDRV9RVU9URSIsCi0JCQkJCSAgIkZPUkNFX05PVF9OVUxMIiwgIkZPUkNFX05VTEwiLCAiRU5D T0RJTkciLCAiREVGQVVMVCIsCi0JCQkJCSAgIk9OX0VSUk9SIiwgIkxPR19WRVJCT1NJVFkiLCAi UkVKRUNUX0xJTUlUIik7CisJLyogQ29tcGxldGUgQ09QWSA8c3RoPiBGUk9NIGZpbGVuYW1lIFdJ VEggKCAqLworCWVsc2UgaWYgKE1hdGNoZXMoIkNPUFl8XFxjb3B5IiwgTWF0Y2hBbnksICJGUk9N IiwgTWF0Y2hBbnksICJXSVRIIiwgIigiKSkKKwkJQ09NUExFVEVfV0lUSChDb3B5X2Zyb21fb3B0 aW9ucyk7CisKKwkvKiBDb21wbGV0ZSBDT1BZIDxzdGg+IFRPIGZpbGVuYW1lIFdJVEggKCAqLwor CWVsc2UgaWYgKE1hdGNoZXMoIkNPUFl8XFxjb3B5IiwgTWF0Y2hBbnksICJUTyIsIE1hdGNoQW55 LCAiV0lUSCIsICIoIikpCisJCUNPTVBMRVRFX1dJVEgoQ29weV90b19vcHRpb25zKTsKIAogCS8q IENvbXBsZXRlIENPUFkgPHN0aD4gRlJPTXxUTyBmaWxlbmFtZSBXSVRIIChGT1JNQVQgKi8KIAll bHNlIGlmIChNYXRjaGVzKCJDT1BZfFxcY29weSIsIE1hdGNoQW55LCAiRlJPTXxUTyIsIE1hdGNo QW55LCAiV0lUSCIsICIoIiwgIkZPUk1BVCIpKQogCQlDT01QTEVURV9XSVRIKCJiaW5hcnkiLCAi Y3N2IiwgInRleHQiKTsKIAogCS8qIENvbXBsZXRlIENPUFkgPHN0aD4gRlJPTSBmaWxlbmFtZSBX SVRIIChPTl9FUlJPUiAqLwotCWVsc2UgaWYgKE1hdGNoZXMoIkNPUFl8XFxjb3B5IiwgTWF0Y2hB bnksICJGUk9NfFRPIiwgTWF0Y2hBbnksICJXSVRIIiwgIigiLCAiT05fRVJST1IiKSkKKwllbHNl IGlmIChNYXRjaGVzKCJDT1BZfFxcY29weSIsIE1hdGNoQW55LCAiRlJPTSIsIE1hdGNoQW55LCAi V0lUSCIsICIoIiwgIk9OX0VSUk9SIikpCiAJCUNPTVBMRVRFX1dJVEgoInN0b3AiLCAiaWdub3Jl Iik7CiAKIAkvKiBDb21wbGV0ZSBDT1BZIDxzdGg+IEZST00gZmlsZW5hbWUgV0lUSCAoTE9HX1ZF UkJPU0lUWSAqLwotCWVsc2UgaWYgKE1hdGNoZXMoIkNPUFl8XFxjb3B5IiwgTWF0Y2hBbnksICJG Uk9NfFRPIiwgTWF0Y2hBbnksICJXSVRIIiwgIigiLCAiTE9HX1ZFUkJPU0lUWSIpKQorCWVsc2Ug aWYgKE1hdGNoZXMoIkNPUFl8XFxjb3B5IiwgTWF0Y2hBbnksICJGUk9NIiwgTWF0Y2hBbnksICJX SVRIIiwgIigiLCAiTE9HX1ZFUkJPU0lUWSIpKQogCQlDT01QTEVURV9XSVRIKCJzaWxlbnQiLCAi ZGVmYXVsdCIsICJ2ZXJib3NlIik7CiAKIAkvKiBDb21wbGV0ZSBDT1BZIDxzdGg+IEZST00gPHN0 aD4gV0lUSCAoPG9wdGlvbnM+KSAqLwotLSAKMi40My4wCgo= --=_bf96c1c508be0c704540e9b9f3a3aaaa Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v3-0001-Add-tab-completion-for-COPY-REJECT_LIMIT-option.patch Content-Disposition: attachment; filename=v3-0001-Add-tab-completion-for-COPY-REJECT_LIMIT-option.patch; size=1126 RnJvbSBiMWY3MDc2MzE2ZTg1OGExM2Y4YmIxZWFiYzczMjA5MzhjNjEzMzk4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IFR1ZSwgMTAgSnVuIDIwMjUgMTA6NDU6MjggKzA5MDAKU3ViamVjdDog W1BBVENIIHYzIDEvMl0gQWRkIHRhYiBjb21wbGV0aW9uIGZvciBDT1BZIFJFSkVDVF9MSU1JVCBv cHRpb24KClJFSkVDVF9MSU1JVCBpcyBhIHZhbGlkIENPUFkgb3B0aW9uIGJ1dCB3YXMgbWlzc2lu ZyBmcm9tIHRhYgpjb21wbGV0aW9uLgotLS0KIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4u YyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNx bC90YWItY29tcGxldGUuaW4uYwppbmRleCBlYzY1YWI3OWZlLi5jMGJhNTAwMTllIDEwMDY0NAot LS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3Rh Yi1jb21wbGV0ZS5pbi5jCkBAIC0zMjg5LDcgKzMyODksNyBAQCBtYXRjaF9wcmV2aW91c193b3Jk cyhpbnQgcGF0dGVybl9pZCwKIAkJQ09NUExFVEVfV0lUSCgiRk9STUFUIiwgIkZSRUVaRSIsICJE RUxJTUlURVIiLCAiTlVMTCIsCiAJCQkJCSAgIkhFQURFUiIsICJRVU9URSIsICJFU0NBUEUiLCAi Rk9SQ0VfUVVPVEUiLAogCQkJCQkgICJGT1JDRV9OT1RfTlVMTCIsICJGT1JDRV9OVUxMIiwgIkVO Q09ESU5HIiwgIkRFRkFVTFQiLAotCQkJCQkgICJPTl9FUlJPUiIsICJMT0dfVkVSQk9TSVRZIik7 CisJCQkJCSAgIk9OX0VSUk9SIiwgIkxPR19WRVJCT1NJVFkiLCAiUkVKRUNUX0xJTUlUIik7CiAK IAkvKiBDb21wbGV0ZSBDT1BZIDxzdGg+IEZST018VE8gZmlsZW5hbWUgV0lUSCAoRk9STUFUICov CiAJZWxzZSBpZiAoTWF0Y2hlcygiQ09QWXxcXGNvcHkiLCBNYXRjaEFueSwgIkZST018VE8iLCBN YXRjaEFueSwgIldJVEgiLCAiKCIsICJGT1JNQVQiKSkKCmJhc2UtY29tbWl0OiAxNjZiNGY0NTYw ZDY4ZTJiY2YwZjgyZWI4OThhYzVlZTE1MTQ3YjgyCi0tIAoyLjQzLjAKCg== --=_bf96c1c508be0c704540e9b9f3a3aaaa--