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 1wbNXD-002V1o-1T for pgsql-committers@arkaria.postgresql.org; Sun, 21 Jun 2026 19:08:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wbNXA-003hRf-1Y for pgsql-committers@arkaria.postgresql.org; Sun, 21 Jun 2026 19:08:44 +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 1wbNXA-003hRV-0q for pgsql-committers@lists.postgresql.org; Sun, 21 Jun 2026 19:08:44 +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 1wbNX3-00000001Toi-2jtm for pgsql-committers@lists.postgresql.org; Sun, 21 Jun 2026 19:08:38 +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 1wbNX1-004Xxl-3C for pgsql-committers@lists.postgresql.org; Sun, 21 Jun 2026 19:08:36 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wbNX0-001JFX-2j for pgsql-committers@lists.postgresql.org; Sun, 21 Jun 2026 19:08:35 +0000 Content-Type: multipart/mixed; boundary="===============5968792099077437839==" MIME-Version: 1.0 From: Tom Lane To: pgsql-committers@lists.postgresql.org Subject: pgsql: plpython: Use funccache.c infrastructure for procedure caching. X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Sun, 21 Jun 2026 19:08:35 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============5968792099077437839== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 cGxweXRob246IFVzZSBmdW5jY2FjaGUuYyBpbmZyYXN0cnVjdHVyZSBmb3IgcHJvY2VkdXJlIGNh Y2hpbmcuCgpQTC9QeXRob24gc2V0LXJldHVybmluZyBmdW5jdGlvbnMgY2FuIGNyYXNoIHdpdGgg YSB1c2UtYWZ0ZXItZnJlZSB3aGVuCkNSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIGlzIGV4ZWN1 dGVkIHdoaWxlIHRoZSBTUkYgaXMgbWlkLWl0ZXJhdGlvbi4KVGhlIGNyYXNoIG9jY3VycyBiZWNh dXNlIHNyZnN0YXRlLT5zYXZlZGFyZ3MgaXMgYWxsb2NhdGVkIGluIHByb2MtPm1jeHQsCndoaWNo IGdldHMgZGVsZXRlZCB3aGVuIHRoZSBwcm9jZWR1cmUgaXMgaW52YWxpZGF0ZWQsIGxlYXZpbmcg YSBkYW5nbGluZwpwb2ludGVyIHRoYXQgUEx5X2Z1bmN0aW9uX3Jlc3RvcmVfYXJncygpIHRoZW4g ZGVyZWZlcmVuY2VzLgoKVGhlIGJlc3QgZml4IGlzIHRvIHVzZSByZWZlcmVuY2UgY291bnRpbmcg dG8gcHJldmVudCBkZXN0cm95aW5nIHRoZQpmdW5jdGlvbiBzdGF0ZSB3aGlsZSBpdCdzIHN0aWxs IGluIHVzZSwgc2ltaWxhciB0byB3aGF0IFBML3BnU1FMIGhhcwpkb25lLiAgUmF0aGVyIHRoYW4g aW52ZW50aW5nIGEgbmV3IHdoZWVsLCB0aGlzIGNvbW1pdCBjb252ZXJ0cwpQTC9QeXRob24gdG8g dXNlIHRoZSBmdW5jY2FjaGUuYyBpbmZyYXN0cnVjdHVyZS4KClRoZSBtYWluIGNoYWxsZW5nZSBp cyB0aGF0IFBML1B5dGhvbiB1c2VzIFNGUk1fVmFsdWVQZXJDYWxsIGZvciBTUkZzLAp3aGVyZSB0 aGUgaGFuZGxlciBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMuICBBIG5haXZlIGltcGxlbWVudGF0 aW9uCndvdWxkIGFsbG93IHRoZSByZWZjb3VudCB0byByZXR1cm4gdG8gemVybyBiZXR3ZWVuIGNh bGxzLCBidXQgd2UgbmVlZAp0byBoYW5nIG9udG8gdGhlIG9yaWdpbmFsIHN0YXRlIGFuZCBmdW5j dGlvbiBib2R5LiAgU1FMLWxhbmd1YWdlCmZ1bmN0aW9ucyBmYWNlIHRoZSBzYW1lIGNoYWxsZW5n ZSwgc28gdGhpcyBjb21taXQgZm9sbG93cyB0aGUgc2FtZQphcHByb2FjaCB1c2VkIGluIGZ1bmN0 aW9ucy5jOiBtYWludGFpbiBhIHBlci1jYWxsLXNpdGUgY2FjaGUgc3RydWN0CihQTHlQcm9jZWR1 cmVDYWNoZSkgaW4gZm5fZXh0cmEgdGhhdCBob2xkcyBib3RoIHRoZSBwb2ludGVyIHRvIHRoZQps b25nLWxpdmVkIFBMeVByb2NlZHVyZSBhbmQgdGhlIFNSRiBleGVjdXRpb24gc3RhdGUuCgpUaGUg dXNlX2NvdW50IGlzIGluY3JlbWVudGVkIHdoZW4gd2UgZmlyc3Qgb2J0YWluIHRoZSBwcm9jZWR1 cmUgYW5kIGlzCmRlY3JlbWVudGVkIHZpYSBhIE1lbW9yeUNvbnRleHRDYWxsYmFjayByZWdpc3Rl cmVkIG9uIGZuX21jeHQsIHdoaWNoIHJ1bnMKZXZlbiBkdXJpbmcgZXJyb3IgYWJvcnRzLiBDbGVh bmluZyB1cCB0aGUgcGVyLWNhbGwgU1JGIHN0YXRlIG5lZWRzIG1vcmUKY2FyZTogYW4gRXhwckNv bnRleHRDYWxsYmFjayBoYW5kbGVzIHRoZSBpbi1xdWVyeSBjYXNlcywgc2luY2UgdGhlCml0ZXJh dG9yIGlzIG5vdCBndWFyYW50ZWVkIHRvIHJ1biB0byBjb21wbGV0aW9uIChmb3IgZXhhbXBsZSBh IExJTUlUIG9yIGEKcmVzY2FuIGNhbiBhYmFuZG9uIGl0IGVhcmx5KS4gQnV0IHVubGlrZSBTUUwg ZnVuY3Rpb25zLCB3aG9zZSByZXNvdXJjZXMKYXJlIHJlbGVhc2VkIGJ5IHRyYW5zYWN0aW9uIGFi b3J0LCBQTC9QeXRob24gaG9sZHMgUHl0aG9uIHJlZmVyZW5jZSBjb3VudHMKb24gdGhlIGl0ZXJh dG9yIGFuZCBzYXZlZCBhcmd1bWVudHMgdGhhdCBhYm9ydCB3aWxsIG5vdCByZWxlYXNlLCBhbmQK RXhwckNvbnRleHRDYWxsYmFja3MgYXJlIG5vdCBpbnZva2VkIGR1cmluZyBhbiBlcnJvciBhYm9y dC4gVGhlCk1lbW9yeUNvbnRleHRDYWxsYmFjayBvbiBmbl9tY3h0IHRoZXJlZm9yZSBkb3VibGVz IGFzIHRoZSBiYWNrc3RvcCB0aGF0CnJlbGVhc2VzIHRob3NlIHJlZmVyZW5jZXMgd2hlbiBhIHF1 ZXJ5IGVycm9ycyBvdXQgbWlkLWl0ZXJhdGlvbi4KClNpbmNlIGZuX2V4dHJhIGlzIG5vdyB1c2Vk IGZvciBQTHlQcm9jZWR1cmVDYWNoZSwgdGhpcyBjb21taXQgcmVtb3Zlcwp1c2Ugb2YgdGhlIGZ1 bmNhcGkuaCBTUkYgaW5mcmFzdHJ1Y3R1cmUgKFNSRl9JU19GSVJTVENBTEwsClNSRl9SRVRVUk5f TkVYVCwgZXRjLikgYW5kIHN3aXRjaGVzIHRvIGRpcmVjdCBpc0RvbmUgc2lnbmFsaW5nIHZpYQpS ZXR1cm5TZXRJbmZvLCBtYXRjaGluZyBob3cgU1FMIGZ1bmN0aW9ucyBoYW5kbGUgVmFsdWVQZXJD YWxsIG1vZGUuCgpUaGlzIGZpeGVzIGEgbG9uZ3N0YW5kaW5nIGJ1Zywgc28gaWRlYWxseSB3ZSdk IGJhY2stcGF0Y2ggaXQuICBCdXQKaXQnZCBiZSBpbXByYWN0aWNhbCB0byBiYWNrLXBhdGNoIGZ1 cnRoZXIgdGhhbiB2MTggd2hlcmUgZnVuY2NhY2hlLmMKY2FtZSBpbi4gIFRoZSBwYXRjaCBpcyBz b21ld2hhdCBpbnZhc2l2ZSwgYW5kIHRoZSBidWcgb25seSBhcmlzZXMgaW4KdmVyeSB1bmNvbW1v biB1c2FnZXMgKHdoaWNoIGlzIHdoeSBpdCBldmFkZWQgZGV0ZWN0aW9uIGZvciBzbyBsb25nKS4K T24gdGhlIHdob2xlLCB0aGUgcmlzay9yZXdhcmQgcmF0aW8gZm9yIHB1dHRpbmcgdGhpcyBpbnRv IHYxOCBkb2Vzbid0CnNlZW0gZ29vZCwgc28gY29tbWl0IHRvIG1hc3RlciBvbmx5LgoKQnVnOiAj MTk0ODAKUmVwb3J0ZWQtYnk6IEFuZHJ6ZWogRG9yb3MgPGFkb3Jvc0BzdGFyZmlzaHN0b3JhZ2Uu Y29tPgpBdXRob3I6IE1hdGhldXMgQWxjYW50YXJhIDxtYXRoZXVzc3NpbHY5N0BnbWFpbC5jb20+ ClJldmlld2VkLWJ5OiBUb20gTGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+CkRpc2N1c3Npb246IGh0 dHBzOi8vcG9zdGdyLmVzL20vMTk0ODAtZjFmOWZkY2UzMDQ2MmZjNEBwb3N0Z3Jlc3FsLm9yZwoK QnJhbmNoCi0tLS0tLQptYXN0ZXIKCkRldGFpbHMKLS0tLS0tLQpodHRwczovL2dpdC5wb3N0Z3Jl c3FsLm9yZy9wZy9jb21taXRkaWZmLzliY2I4YTY5NGIzYjlkNzFlNDJhNjEwN2ZiZDdjYTZhYzU0 MDQwMGEKCk1vZGlmaWVkIEZpbGVzCi0tLS0tLS0tLS0tLS0tCnNyYy9wbC9wbHB5dGhvbi9leHBl Y3RlZC9wbHB5dGhvbl9zZXRvZi5vdXQgfCAgMzggKysrKwpzcmMvcGwvcGxweXRob24vcGxweV9l eGVjLmMgICAgICAgICAgICAgICAgIHwgMjIxICsrKysrKysrKysrKystLS0tLS0tLQpzcmMvcGwv cGxweXRob24vcGxweV9leGVjLmggICAgICAgICAgICAgICAgIHwgICAzICstCnNyYy9wbC9wbHB5 dGhvbi9wbHB5X21haW4uYyAgICAgICAgICAgICAgICAgfCAgOTMgKysrKysrLS0tCnNyYy9wbC9w bHB5dGhvbi9wbHB5X3Byb2NlZHVyZS5jICAgICAgICAgICAgfCAyOTEgKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLQpzcmMvcGwvcGxweXRob24vcGxweV9wcm9jZWR1cmUuaCAgICAgICAgICAg IHwgIDUxICsrKy0tCnNyYy9wbC9wbHB5dGhvbi9zcWwvcGxweXRob25fc2V0b2Yuc3FsICAgICAg fCAgMTcgKysKc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICB8ICAg MyArLQo4IGZpbGVzIGNoYW5nZWQsIDQ3NCBpbnNlcnRpb25zKCspLCAyNDMgZGVsZXRpb25zKC0p Cgo= --===============5968792099077437839==--