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 1uDKEr-009FWN-AC for pgsql-hackers@arkaria.postgresql.org; Fri, 09 May 2025 09:41:53 +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 1uDKEq-009vCM-5b for pgsql-hackers@arkaria.postgresql.org; Fri, 09 May 2025 09:41:52 +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 1uDKEp-009vCE-S0 for pgsql-hackers@lists.postgresql.org; Fri, 09 May 2025 09:41:51 +0000 Received: from mail.clear-code.com ([2401:2500:102:3037:153:126:203:179]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uDKEm-000vlq-2i for pgsql-hackers@postgresql.org; Fri, 09 May 2025 09:41:50 +0000 Received: from localhost (unknown [IPv6:2404:7a80:9f01:f500:1788:74de:dc85:ea72]) by mail.clear-code.com (Postfix) with ESMTPSA id 2CB396259A9; Fri, 9 May 2025 18:41:40 +0900 (JST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.clear-code.com 2CB396259A9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=clear-code.com; s=default; t=1746783700; bh=SUtVzacr9otAnAGPaDxWje4MFUnNHBSxK2AhhW+Cgmc=; h=Date:To:Cc:Subject:From:In-Reply-To:References:From; b=o5M2pUu4dzPZNBlk+y7don55QiBkI0Ke4xl6wbWtNJ0s5gEfEaCcee+fb5LfEu4pn UmG2JRGVubq+wWD0+ehW3Wotu2V4phrwXdwO2/+toFx/KOZx1fFZrDQ5ZmIOrAxRow 38uRge4jnl9m8teXMIF2Nw3y8PWtO++A2HQRBALs= Date: Fri, 09 May 2025 18:41:37 +0900 (JST) Message-Id: <20250509.184137.254173769823586829.kou@clear-code.com> To: david.g.johnston@gmail.com Cc: sawada.mshk@gmail.com, tgl@sss.pgh.pa.us, zhjwpku@gmail.com, michael@paquier.xyz, pgsql-hackers@postgresql.org Subject: Re: Make COPY format extendable: Extract COPY TO format implementations From: Sutou Kouhei In-Reply-To: References: X-Mailer: Mew version 6.8 on Emacs 30.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=utf-8 Content-Transfer-Encoding: base64 X-Rspamd-Server: mail.clear-code.com X-Rspamd-Queue-Id: 2CB396259A9 X-Rspamd-Action: no action X-Spamd-Result: default: False [3.00 / 999.00]; SUSPICIOUS_RECIPS(1.50)[]; MID_CONTAINS_FROM(1.00)[]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; MIME_BASE64_TEXT(0.10)[]; RCVD_COUNT_ZERO(0.00)[0]; TAGGED_RCPT(0.00)[]; ASN(0.00)[asn:2518, ipnet:2404:7a80::/29, country:JP]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_TO(0.00)[gmail.com]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,sss.pgh.pa.us,paquier.xyz,postgresql.org]; FROM_EQ_ENVFROM(0.00)[]; TO_DN_NONE(0.00)[]; RCPT_COUNT_FIVE(0.00)[6] List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SGksDQoNCkluIDxDQUtGUXV3YVJEWEFOYUwrUWNUNkxaUkFlbTRyd2tTd3Y5dit2aXZfbWNSK1Jl eDNxdUFAbWFpbC5nbWFpbC5jb20+DQogICJSZTogTWFrZSBDT1BZIGZvcm1hdCBleHRlbmRhYmxl OiBFeHRyYWN0IENPUFkgVE8gZm9ybWF0IGltcGxlbWVudGF0aW9ucyIgb24gU2F0LCAzIE1heSAy MDI1IDIyOjI3OjM2IC0wNzAwLA0KICAiRGF2aWQgRy4gSm9obnN0b24iIDxkYXZpZC5nLmpvaG5z dG9uQGdtYWlsLmNvbT4gd3JvdGU6DQoNCj4gSW4gYW55IGNhc2UsIEnigJltIGRvdWJ0ZnVsIGVp dGhlciBvZiB1cyBjYW4gbWFrZSBhIGNvbnZpbmNpbmcgZW5vdWdoDQo+IGFyZ3VtZW50IHRvIHN3 YXkgdGhlIG90aGVyIGZ1bGx5LiAgQm90aCBvcHRpb25zIGFyZSBwbGF1c2libGUsIElNTy4gIE90 aGVycw0KPiBuZWVkIHRvIGNoaW1lIGluLg0KDQpJIG1heSBtaXN1bmRlcnN0YW5kIGJ1dCBoZXJl IGlzIHRoZSBjdXJyZW50IHN1bW1hcnksIHJpZ2h0Pw0KDQpQcm9wb3NlZCBhcHByb2FjaGVzIHRv IHJlZ2lzdGVyIGN1c3RvbSBDT1BZIGZvcm1hdHM6DQphLiBDcmVhdGUgYSBmdW5jdGlvbiB0aGF0 IGhhcyB0aGUgc2FtZSBuYW1lIG9mIGN1c3RvbSBDT1BZDQogICBmb3JtYXQNCmIuIENhbGwgYSBy ZWdpc3RlciBmdW5jdGlvbiBmcm9tIF9QR19pbml0KCkNCg0KRllJOiBJIHByb3Bvc2VkIGMuIGFw cHJvYWNoIHRoYXQgdXNlcyBhLiBidXQgaXQgYWx3YXlzDQpyZXF1aXJlcyBzY2hlbWEgbmFtZSBm b3IgZm9ybWF0IG5hbWUgaW4gb3RoZXIgZS1tYWlsLg0KDQoNClVzZXJzIGNhbiByZWdpc3RlciB0 aGUgc2FtZSBmb3JtYXQgbmFtZToNCmEuIFllcw0KICAgKiBVc2VycyBjYW4gZGlzdGluY3QgdGhl IHNhbWUgZm9ybWF0IG5hbWUgYnkgc2NoZW1hIG5hbWUNCiAgICogSWYgZm9ybWF0IG5hbWUgZG9l c24ndCBoYXZlIHNjaGVtYSBuYW1lLCB0aGUgdXNlZA0KICAgICBmb3JtYXQgZGVwZW5kcyBvbiBz ZWFyY2hfcGF0aA0KICAgICAqIFByb3M6DQogICAgICAgKiBVc2luZyBzY2hlbWEgZm9yIGl0IGlz IGNvbnNpc3RlbnQgd2l0aCBvdGhlcg0KICAgICAgICAgUG9zdGdyZVNRTCBtZWNoYW5pc21zDQog ICAgICAgKiBDdXN0b20gZm9ybWF0IG5ldmVyIGNvbmZsaWN0IHdpdGggYnVpbHQtaW4NCiAgICAg ICAgIGZvcm1hdC4gRm9yIGV4YW1wbGUsIGFuIGV4dGVuc2lvbiByZWdpc3RlciAieG1sIiBhbmQN CiAgICAgICAgIFBvc3RncmVTUUwgYWRkcyAieG1sIiBsYXRlciwgdGhleSBhcmUgbmV2ZXINCiAg ICAgICAgIGNvbmZsaWN0ZWQgYmVjYXVzZSBQb3N0Z3JlU1FMJ3MgInhtbCIgaXMgcmVnaXN0ZXJl ZA0KICAgICAgICAgdG8gcGdfY2F0YWxvZy4NCiAgICAgKiBDb25zOiBEaWZmZXJlbnQgZm9ybWF0 IG1heSBiZSB1c2VkIHdpdGggdGhlIHNhbWUNCiAgICAgICBpbnB1dC4gRm9yIGV4YW1wbGUsICJq c29ubGluZXMiIG1heSBjaG9vc2UNCiAgICAgICAianNvbmxpbmVzIiBpbXBsZW1lbnRlZCBieSBl eHRlbnNpb24gWCBvciBpbXBsZW1lbnRlZA0KICAgICAgIGJ5IGV4dGVuc2lvbiBZIHdoZW4gc2Vh cmNoX3BhdGggaXMgZGlmZmVyZW50Lg0KYi4gTm8NCiAgICogVXNlcnMgY2FuIHVzZSAiJHtzY2hl bWF9LiR7bmFtZX0iIGZvciBmb3JtYXQgbmFtZQ0KICAgICB0aGF0IG1pbWljcyBQb3N0Z3JlU1FM J3MgYnVpbHRpbiBzY2hlbWEgKGJ1dCBpdCdzIGp1c3QNCiAgICAgYSBzdHJpbmcpDQoNCg0KQnVp bHQtaW4gZm9ybWF0cyAodGV4dC9jc3YvYmluYXJ5KSBzaG91bGQgYmUgYWJsZSB0bw0Kb3Zlcndy aXR0ZW4gYnkgZXh0ZW5zaW9uczoNCmEuIChUaGUgY3VycmVudCBwYXRjaCBpcyBubyBidXQgRGF2 aWQncyBhbnN3ZXIgaXMpIFllcw0KICAgKiBQcm9zOiBVc2VycyBjYW4gdXNlIGRyb3AtaW4gcmVw bGFjZW1lbnQgZmFzdGVyDQogICAgIGltcGxlbWVudGF0aW9uIHdpdGhvdXQgY2hhbmdpbmcgaW5w dXQNCiAgICogQ29uczogVXNlcnMgbWF5IG92ZXJ3cml0ZSB0aGVtIGFjY2lkZW50YWxseS4NCiAg ICAgSXQgbWF5IGJyZWFrIHBnX2R1bXAgcmVzdWx0Lg0KICAgICAoVGhpcyBpcyBjYWxsZWQgYXMg ImJhY2t3YXJkIGluY29tcGF0aWJpbGl0eS4iKQ0KYi4gTm8NCg0KDQpBcmUgdGhlcmUgYW55IG1p c3Npbmcgb3Igd3JvbmcgaXRlbXM/IElmIHdlIGNhbiBzdW1tYXJpemUNCnRoZSBjdXJyZW50IGRp c2N1c3Npb24gaGVyZSBjb3JyZWN0bHksIG90aGVycyB3aWxsIGJlIGFibGUNCnRvIGNoaW1lIGlu IHRoaXMgZGlzY3Vzc2lvbi4gKEF0IGxlYXN0IEkgY2FuIGRvIGl0LikNCg0KDQpUaGFua3MsDQot LSANCmtvdQ0K