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.96) (envelope-from ) id 1wx4oe-002P8y-12 for pgsql-committers@arkaria.postgresql.org; Thu, 20 Aug 2026 15:36:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wx4od-009Pux-0l for pgsql-committers@arkaria.postgresql.org; Thu, 20 Aug 2026 15:36:27 +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.96) (envelope-from ) id 1wx4od-009Pup-02 for pgsql-committers@lists.postgresql.org; Thu, 20 Aug 2026 15:36:27 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wx4ob-00000001a2e-1ciJ for pgsql-committers@lists.postgresql.org; Thu, 20 Aug 2026 15:36:26 +0000 Received: from gemulon.postgresql.org ([2001:4800:3e1:1::198]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wx4ob-004nEj-0T for pgsql-committers@lists.postgresql.org; Thu, 20 Aug 2026 15:36:25 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1wx4oZ-00000001NUK-3isn for pgsql-committers@lists.postgresql.org; Thu, 20 Aug 2026 15:36:24 +0000 Content-Type: multipart/mixed; boundary="===============8126919748480162744==" MIME-Version: 1.0 From: Tom Lane To: pgsql-committers@lists.postgresql.org Subject: pgsql: Rewrite tsqueryout() to use StringInfo to build the output strin X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Thu, 20 Aug 2026 15:36:24 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============8126919748480162744== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 UmV3cml0ZSB0c3F1ZXJ5b3V0KCkgdG8gdXNlIFN0cmluZ0luZm8gdG8gYnVpbGQgdGhlIG91dHB1 dCBzdHJpbmcuCgpUaGlzIHBhdGNoIHN0YXJ0ZWQgd2l0aCBub3RpY2luZyB0aGF0IHRzcXVlcnku YydzIGluZml4KCkgZnVuY3Rpb24KdXNlbGVzc2x5IG11bHRpcGxpZXMgdGhlIGxlbmd0aCBvZiBl YWNoIG9wZXJhbmQgc3RyaW5nIGJ5CnBnX2RhdGFiYXNlX2VuY29kaW5nX21heF9sZW5ndGgoKSAr IDEsIHdoZXJlIG11bHRpcGx5aW5nIGJ5IDIKd291bGQgYmUgc3VmZmljaWVudC4gIFVubGlrZSB0 aGUgcmVsYXRlZCB0aGlua28gaW4gdHN2ZWN0b3JvdXQoKSwKdGhpcyBkb2Vzbid0IHNlZW0gdG8g cmlzayBpbnRlZ2VyIG92ZXJmbG93LCBzaW5jZSB3ZSdyZSBtdWx0aXBseWluZwpvbmx5IGEgcmF0 aGVyIHNob3J0IHBlci1vcGVyYW5kIGxlbmd0aC4gIFN0aWxsLCBpdCdzIGluY29ycmVjdCBhbmQK bWlzbGVhZGluZy4KCkhvd2V2ZXIsIEkgdGhlbiBzdGFydGVkIHRvIHF1ZXN0aW9uIHdoeSB0c3F1 ZXJ5b3V0KCkgaXMgdXNpbmcgYQpoYW5kLXJvbGxlZCBpbXBsZW1lbnRhdGlvbiBvZiBhbiBleHBh bnNpYmxlIHN0cmluZyBidWZmZXIgaW4gdGhlCmZpcnN0IHBsYWNlLiAgUmVwbGFjaW5nIHRoYXQg YnkgdXNpbmcgdGhlIFN0cmluZ0luZm8gaW5mcmFzdHJ1Y3R1cmUKd291bGQgbWFrZSB0aGUgY29k ZSBub3RpY2VhYmx5IHNob3J0ZXIgYW5kIGVsaW1pbmF0ZSBub3Qgb25seSB0aGlzCm1pc3Rha2Ug YnV0IGEgYnVuY2ggb2Ygb3RoZXIgbWlzdGFrZS1wcm9uZSBhcml0aG1ldGljLiAgSXQgbWlnaHQK ZXZlbiBiZSBmYXN0ZXIsIGdpdmVuIHRoYXQgd2UndmUgc3BlbnQgZWZmb3J0IG9uIG1pY3JvLW9w dGltaXppbmcKU3RyaW5nSW5mb3M7IGJ1dCBldmVuIGlmIGl0J3Mgc2xvd2VyLCBpdCdzIGhhcmQg dG8gdmlzdWFsaXplIGEKd29ya2xvYWQgd2hlcmUgdHNxdWVyeW91dCgpIGlzIGEgcGVyZm9ybWFu Y2UgYm90dGxlbmVjay4gIFNvCnRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcy4KCkkgYWxzbyBn b3QgcmlkIG9mIHRoZSBvdmVybHktY3JlYXRpdmUgYXBwcm9hY2ggb2YgZGVwYXJzaW5nIGEKYmlu YXJ5IG9wZXJhdG9yJ3MgcmlnaHQgb3BlcmFuZCBpbnRvIGEgc2VwYXJhdGUgYnVmZmVyLCB0aGVu CmRlcGFyc2luZyB0aGUgbGVmdCBvcGVyYW5kIGludG8gdGhlIG1haW4gb3V0cHV0IGJ1ZmZlciwg dGhlbgpjb3B5aW5nIHRoZSByaWdodCBvcGVyYW5kJ3MgdGV4dCBiYWNrIHRvIHRoZSBtYWluIGJ1 ZmZlci4KKFdoeSB0aGUgb3BlcmFuZHMgYXJlIHN0b3JlZCBpbiByZXZlcnNlIG9yZGVyIGluIHRo ZSBmaXJzdCBwbGFjZQpzZWVtcyBsb3N0IGluIHRoZSBtaXN0cyBvZiB0aW1lLCBidXQgSSBzdXBw b3NlIHdlJ3JlIHN0dWNrIHdpdGgKdGhhdCBjaG9pY2UuKSAgV2UgY2FuIGVhc2lseSBlbWl0IHRo ZSBkZXNpcmVkIHRleHQgaW4tb3JkZXIgYnkKbW92aW5nIHRoZSAiY3VycG9sIiBuZXh0LWl0ZW0g cG9pbnRlciBhcm91bmQuCgpBdXRob3I6IFRvbSBMYW5lIDx0Z2xAc3NzLnBnaC5wYS51cz4KUmV2 aWV3ZWQtYnk6IEF5dXNoIFRpd2FyaSA8YXl1c2h0aXdhcmkuc2xnMDFAZ21haWwuY29tPgpEaXNj dXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tLzM0Mjg3NzEuMTc4NjYzNTk2N0Bzc3MucGdoLnBh LnVzCgpCcmFuY2gKLS0tLS0tCm1hc3RlcgoKRGV0YWlscwotLS0tLS0tCmh0dHBzOi8vZ2l0LnBv c3RncmVzcWwub3JnL3BnL2NvbW1pdGRpZmYvMmVjYmM1ZTAyMWJlMmNhZDE0ZjgzNzUzOWIxNjYx ZGQwYzg3MGMwNwoKTW9kaWZpZWQgRmlsZXMKLS0tLS0tLS0tLS0tLS0Kc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3RzcXVlcnkuYyB8IDE1MSArKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCjEgZmlsZSBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAxMDYgZGVsZXRpb25zKC0p Cgo= --===============8126919748480162744==--