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 1u2tUv-007QT9-H5 for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Apr 2025 15:07:21 +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 1u2tUt-00CsOG-SG for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Apr 2025 15:07:20 +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 1u2tUt-00CsO8-JK for pgsql-hackers@lists.postgresql.org; Thu, 10 Apr 2025 15:07:19 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u2tUr-0044nU-05 for pgsql-hackers@postgresql.org; Thu, 10 Apr 2025 15:07:19 +0000 Received: from [192.168.11.5] (p1696134-ipoe.ipoe.ocn.ne.jp [118.0.93.133]) by oss.nttdata.com (Postfix) with ESMTPSA id F167560127; Fri, 11 Apr 2025 00:07:11 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com Content-Type: multipart/mixed; boundary="------------plZL0BpXoyD4iaPZlXLeqZnh" Message-ID: Date: Fri, 11 Apr 2025 00:07:11 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: tab complete for COPY populated materialized view TO Content-Language: en-US To: Kirill Reshke Cc: jian he , PostgreSQL-development References: <433a4165-7091-4afc-bcb9-1c1f7a5af5e0@oss.nttdata.com> From: Fujii Masao In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------plZL0BpXoyD4iaPZlXLeqZnh Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025/04/09 19:24, Kirill Reshke wrote: > On Wed, 9 Apr 2025 at 14:45, Fujii Masao wrote: >> >> >> >> On 2025/04/09 18:25, Kirill Reshke wrote: >>> On Wed, 9 Apr 2025 at 13:23, jian he wrote: >>>> >>>> hi. >>>> >>>> we allow the "COPY table TO" command to copy rows from materialized >>>> views in [1]. >>>> The attached patch is to add a tab complete for it. >>>> >>>> [1] https://git.postgresql.org/cgit/postgresql.git/commit/?id=534874fac0b34535c9a5ab9257d6574f78423578 >>> >>> Hi! >>> Patch works good for me, but I noticed that psql COPY suggests >>> partitioned relation both with and without this patch. Maybe that's >>> not a big problem, if [0] will be pushed. >> >> Is the partitioned table currently tab-completed for the COPY FROM case? > > If I'm not mistaken, yes. I double checked. > >> INSTEAD OF INSERT triggers - though maybe that's overkill? > > That's wild to me, psql tab completions feature designed to support > postgresql not fully, but in frequent cases. So maybe we should keep > it stupud. I agree that it's reasonable to exclude such rarely used objects from tab-completion. How about including just tables, partitioned tables, foreign tables, and materialized views? I've attached a patch for that. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --------------plZL0BpXoyD4iaPZlXLeqZnh Content-Type: text/plain; charset=UTF-8; name="v2-0001-psql-Improve-tab-completion-for-COPY-command.patch" Content-Disposition: attachment; filename*0="v2-0001-psql-Improve-tab-completion-for-COPY-command.patch" Content-Transfer-Encoding: base64 RnJvbSA3ZjE0YmYxMjI0MjdhMzBmNjJlOThhZDY1ZDQ4NTY0NTU1NzhjZmMzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IFdlZCwgOSBBcHIgMjAyNSAxODoyMToxOCArMDkwMApTdWJqZWN0OiBbUEFU Q0ggdjJdIHBzcWw6IEltcHJvdmUgdGFiIGNvbXBsZXRpb24gZm9yIENPUFkgY29tbWFuZC4K ClByZXZpb3VzbHksIHRhYiBjb21wbGV0aW9uIGZvciBDT1BZIG9ubHkgc3VnZ2VzdGVkIHBs YWluIHRhYmxlcwphbmQgcGFydGl0aW9uZWQgdGFibGVzLCBldmVuIHRob3VnaCBtYXRlcmlh bGl6ZWQgdmlld3MgYXJlIGFsc28KdmFsaWQgZm9yIENPUFkgVE8gKHNpbmNlIGNvbW1pdCA1 MzQ4NzRmYWMwYiksIGFuZCBmb3JlaWduIHRhYmxlcwphcmUgdmFsaWQgZm9yIENPUFkgRlJP TS4KClRoaXMgY29tbWl0IGVuaGFuY2VzIHRhYiBjb21wbGV0aW9uIGZvciBDT1BZIHRvIGFs c28gaW5jbHVkZQptYXRlcmlhbGl6ZWQgdmlld3MgYW5kIGZvcmVpZ24gdGFibGVzLgoKVmll d3Mgd2l0aCBJTlNURUFEIE9GIElOU0VSVCB0cmlnZ2VycyBhcmUgc3VwcG9ydGVkIHdpdGgK Q09QWSBGUk9NIGJ1dCByYXJlbHkgdXNlZCwgc28gcGxhaW4gdmlld3MgYXJlIGludGVudGlv bmFsbHkKZXhjbHVkZWQgZnJvbSBjb21wbGV0aW9uLgotLS0KIHNyYy9iaW4vcHNxbC90YWIt Y29tcGxldGUuaW4uYyB8IDEwICsrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvdGFi LWNvbXBsZXRlLmluLmMgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKaW5kZXgg YzkxNmI5Mjk5YTguLjk4NDZiMDg2ZWYyIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvdGFi LWNvbXBsZXRlLmluLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCkBA IC04ODksNiArODg5LDE0IEBAIHN0YXRpYyBjb25zdCBTY2hlbWFRdWVyeSBRdWVyeV9mb3Jf bGlzdF9vZl9hbmFseXphYmxlcyA9IHsKIAkucmVzdWx0ID0gImMucmVsbmFtZSIsCiB9Owog CisvKgorICogUmVsYXRpb25zIHN1cHBvcnRpbmcgQ09QWSBUTy9GUk9NIGFyZSBjdXJyZW50 bHkgYWxtb3N0IHRoZSBzYW1lIGFzCisgKiB0aG9zZSBzdXBwb3J0aW5nIEFOQUxZWkUuIEFs dGhvdWdoIHZpZXdzIHdpdGggSU5TVEVBRCBPRiBJTlNFUlQgdHJpZ2dlcnMKKyAqIGNhbiBi ZSB1c2VkIHdpdGggQ09QWSBGUk9NLCB0aGV5IGFyZSByYXJlbHkgdXNlZCBmb3IgdGhpcyBw dXJwb3NlLAorICogc28gcGxhaW4gdmlld3MgYXJlIGludGVudGlvbmFsbHkgZXhjbHVkZWQg ZnJvbSB0aGlzIHRhYiBjb21wbGV0aW9uLgorICovCisjZGVmaW5lIFF1ZXJ5X2Zvcl9saXN0 X29mX3RhYmxlc19mb3JfY29weSBRdWVyeV9mb3JfbGlzdF9vZl9hbmFseXphYmxlcworCiAv KiBSZWxhdGlvbnMgc3VwcG9ydGluZyBpbmRleCBjcmVhdGlvbiAqLwogc3RhdGljIGNvbnN0 IFNjaGVtYVF1ZXJ5IFF1ZXJ5X2Zvcl9saXN0X29mX2luZGV4YWJsZXMgPSB7CiAJLmNhdG5h bWUgPSAicGdfY2F0YWxvZy5wZ19jbGFzcyBjIiwKQEAgLTMyNDksNyArMzI1Nyw3IEBAIG1h dGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCSAqIGJhY2tzbGFzaCBjb21t YW5kKS4KIAkgKi8KIAllbHNlIGlmIChNYXRjaGVzKCJDT1BZfFxcY29weSIpKQotCQlDT01Q TEVURV9XSVRIX1NDSEVNQV9RVUVSWV9QTFVTKFF1ZXJ5X2Zvcl9saXN0X29mX3RhYmxlcywg IigiKTsKKwkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVFUllfUExVUyhRdWVyeV9mb3JfbGlz dF9vZl90YWJsZXNfZm9yX2NvcHksICIoIik7CiAJLyogQ29tcGxldGUgQ09QWSAoIHdpdGgg bGVnYWwgcXVlcnkgY29tbWFuZHMgKi8KIAllbHNlIGlmIChNYXRjaGVzKCJDT1BZfFxcY29w eSIsICIoIikpCiAJCUNPTVBMRVRFX1dJVEgoIlNFTEVDVCIsICJUQUJMRSIsICJWQUxVRVMi LCAiSU5TRVJUIElOVE8iLCAiVVBEQVRFIiwgIkRFTEVURSBGUk9NIiwgIk1FUkdFIElOVE8i LCAiV0lUSCIpOwotLSAKMi40OS4wCgo= --------------plZL0BpXoyD4iaPZlXLeqZnh--