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 1thuOc-008NLN-HG for pgsql-committers@arkaria.postgresql.org; Tue, 11 Feb 2025 17:50:06 +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 1thuOb-00DbbK-7q for pgsql-committers@arkaria.postgresql.org; Tue, 11 Feb 2025 17:50:05 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1thuON-00DZdo-M3 for pgsql-committers@lists.postgresql.org; Tue, 11 Feb 2025 17:49:51 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1thuOK-000HmB-0I for pgsql-committers@lists.postgresql.org; Tue, 11 Feb 2025 17:49:51 +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.94.2) (envelope-from ) id 1thuOJ-001wgZ-2N for pgsql-committers@lists.postgresql.org; Tue, 11 Feb 2025 17:49:47 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1thuOI-006aam-1w for pgsql-committers@lists.postgresql.org; Tue, 11 Feb 2025 17:49:46 +0000 Content-Type: multipart/mixed; boundary="===============2366671753477992911==" MIME-Version: 1.0 From: Tom Lane To: pgsql-committers@lists.postgresql.org Subject: pgsql: Detect whether plpgsql assignment targets are "local" variables. X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Tue, 11 Feb 2025 17:49:46 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============2366671753477992911== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 RGV0ZWN0IHdoZXRoZXIgcGxwZ3NxbCBhc3NpZ25tZW50IHRhcmdldHMgYXJlICJsb2NhbCIgdmFy aWFibGVzLgoKTWFyayB3aGV0aGVyIHRoZSB0YXJnZXQgb2YgYSBwb3RlbnRpYWxseSBvcHRpbWl6 YWJsZSBhc3NpZ25tZW50CmlzICJsb2NhbCIsIGluIHRoZSBzZW5zZSBvZiBiZWluZyBkZWNsYXJl ZCBpbnNpZGUgYW55IGV4Y2VwdGlvbgpibG9jayB0aGF0IGNvdWxkIHRyYXAgYW4gZXJyb3IgdGhy b3duIGZyb20gdGhlIGFzc2lnbm1lbnQuCihUaGlzIGltcGxpZXMgdGhhdCB3ZSBuZWVkbid0IHBy ZXNlcnZlIHRoZSB2YXJpYWJsZSdzIHZhbHVlCmluIGNhc2Ugb2YgYW4gZXJyb3IuICBUaGlzIHBh dGNoIGRvZXNuJ3QgZG8gYW55dGhpbmcgd2l0aCB0aGUKa25vd2xlZGdlLCBidXQgdGhlIG5leHQg b25lIHdpbGwuKQoKTm9ybWFsbHksIHRoaXMgcmVxdWlyZXMgYSBwb3N0LXBhcnNpbmcgc2NhbiBv ZiB0aGUgZnVuY3Rpb24ncwpwYXJzZSB0cmVlLCBzaW5jZSB3ZSBkb24ndCBrbm93IHdoaWxlIHBh cnNpbmcgYSBCRUdJTiAuLi4KY29uc3RydWN0IHdoZXRoZXIgd2Ugd2lsbCBmaW5kIEVYQ0VQVElP TiBhdCBpdHMgZW5kLiAgSG93ZXZlciwKaWYgdGhlcmUgYXJlIG5vIEJFR0lOIC4uLiBFWENFUFRJ T04gYmxvY2tzIGluIHRoZSBmdW5jdGlvbiBhdAphbGwsIHRoZW4gYWxsIGFzc2lnbm1lbnRzIGFy ZSBsb2NhbCwgZXZlbiB0aG9zZSB0byB2YXJpYWJsZXMKcmVwcmVzZW50aW5nIGZ1bmN0aW9uIGFy Z3VtZW50cy4gIFdlIG9wdGltaXplIHRoYXQgY29tbW9uIGNhc2UKYnkgaW5pdGlhbGl6aW5nIHRo ZSB0YXJnZXRfaXNfbG9jYWwgZmxhZ3MgdG8gInRydWUiLCBhbmQgZml4aW5nCnRoZW0gdXAgd2l0 aCBhIHBvc3Qtc2NhbiBvbmx5IGlmIHdlIGZvdW5kIEVYQ0VQVElPTi4KCk5vdGUgdGhhdCB2YXJp YWJsZXMnIGRlZmF1bHQtdmFsdWUgZXhwcmVzc2lvbnMgYXJlIG5ldmVyIGludGVyZXN0aW5nCmZv ciBleHBhbmRlZC12YXJpYWJsZSBvcHRpbWl6YXRpb24sIHNpbmNlIHRoZXkgY291bGRuJ3QgY29u dGFpbiBhCnJlZmVyZW5jZSB0byB0aGUgdGFyZ2V0IHZhcmlhYmxlIGFueXdheS4gIEJ1dCB0aGUg Y29kZSBpcyBzZXQgdXAKdG8gY29tcHV0ZSB0aGVpciB0YXJnZXRfcGFyYW0gYW5kIHRhcmdldF9p c19sb2NhbCBjb3JyZWN0bHkgYW55d2F5LApmb3IgY29uc2lzdGVuY3kgYW5kIGluIGNhc2Ugc29t ZW9uZSB0aGlua3Mgb2YgYSB1c2UgZm9yIHRoYXQgZGF0YS4KCkkgYWRkZWQgYSBiaXQgb2YgcGxw Z3NxbF9kdW1wdHJlZSBzdXBwb3J0IHRvIGhlbHAgdmVyaWZ5IHRoYXQgdGhpcwpjb2RlIHNldHMg dGhlIGZsYWdzIGFzIGV4cGVjdGVkLiAgSSBhbHNvIGFkZGVkIGEgcGxwZ3NxbF9kdW1wdHJlZQpj YWxsIGluIHBscGdzcWxfY29tcGlsZV9pbmxpbmUuICBJdCB3YXMgYXQgYmVzdCBhbiBvdmVyc2ln aHQgdGhhdAoiI29wdGlvbiBkdW1wIiBkaWRuJ3Qgd29yayBpbiBhIERPIGJsb2NrOyBub3cgaXQg ZG9lcy4KCkF1dGhvcjogVG9tIExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPgpSZXZpZXdlZC1ieTog QW5kcmV5IEJvcm9kaW4gPHg0bW1tQHlhbmRleC10ZWFtLnJ1PgpSZXZpZXdlZC1ieTogUGF2ZWwg Qm9yaXNvdiA8cGFzaGtpbi5lbGZlQGdtYWlsLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0 Z3IuZXMvbS9DQUN4dT12SmFLRk5zWXhvb1NuVzF3RWdzQU81dV92MVhZQmFjZlZKMTR3Z0pWX1BZ ZWdAbWFpbC5nbWFpbC5jb20KCkJyYW5jaAotLS0tLS0KbWFzdGVyCgpEZXRhaWxzCi0tLS0tLS0K aHR0cHM6Ly9naXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0ZGlmZi8zNmZiOWVmMjY5YTA5MmEx MjAzYzk0ODJiZGY5YjNlOTYzNzI4ZmQ5CgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpz cmMvcGwvcGxwZ3NxbC9zcmMvcGxfY29tcC5jICB8IDEyICsrKysrKwpzcmMvcGwvcGxwZ3NxbC9z cmMvcGxfZnVuY3MuYyB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKc3JjL3BsL3BscGdzcWwvc3JjL3BsX2dyYW0ueSAgfCAxNSArKysrKysrKwpzcmMvcGwv cGxwZ3NxbC9zcmMvcGxwZ3NxbC5oICB8ICA3ICsrKy0KNCBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK --===============2366671753477992911==--