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 1uk1oy-00EqJW-JL for pgsql-general@arkaria.postgresql.org; Thu, 07 Aug 2025 14:42:20 +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 1uk1ox-005IDc-4l for pgsql-general@arkaria.postgresql.org; Thu, 07 Aug 2025 14:42:19 +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 1uk1ow-005IDP-Py for pgsql-general@lists.postgresql.org; Thu, 07 Aug 2025 14:42:18 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uk1ou-001Eex-0E for pgsql-general@lists.postgresql.org; Thu, 07 Aug 2025 14:42:17 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 577EgFIa1569526; Thu, 7 Aug 2025 10:42:15 -0400 From: Tom Lane To: Dominique Devienne cc: "David G. Johnston" , Pavel Stehule , "pgsql-general@lists.postgresql.org" Subject: Re: CALL and named parameters In-reply-to: References: <1566947.1754576491@sss.pgh.pa.us> Comments: In-reply-to Dominique Devienne message dated "Thu, 07 Aug 2025 16:26:34 +0200" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1569524.1754577735.1@sss.pgh.pa.us> Date: Thu, 07 Aug 2025 10:42:15 -0400 Message-ID: <1569525.1754577735@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Dominique Devienne writes: > But still, arg names are not part of the signature. > So they should be checked after the fact. No, that's not how it works. David's comment about signature reflects the fact that the primary key of pg_proc is name + schema + input argument types. Arg names are independent of that and actually have to be checked before we consider argument type matching, because they help determine which input argument is which. (There was considerable debate when we added output arguments and argument names about whether pg_proc's primary key should be extended. We ended up not, but it was a judgment call.) regards, tom lane