Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p4Q3z-0006PE-Lb for pgsql-hackers@arkaria.postgresql.org; Sun, 11 Dec 2022 17:24:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p4Q3w-00009z-SP for pgsql-hackers@arkaria.postgresql.org; Sun, 11 Dec 2022 17:24:28 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p4Q3w-00009n-Jn for pgsql-hackers@lists.postgresql.org; Sun, 11 Dec 2022 17:24:28 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p4Q3n-0004iw-Ig for pgsql-hackers@lists.postgresql.org; Sun, 11 Dec 2022 17:24:25 +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 2BBHOBsx1805345; Sun, 11 Dec 2022 12:24:11 -0500 From: Tom Lane To: Andrew Dunstan cc: Andres Freund , Alexander Korotkov , Robert Haas , "David G. Johnston" , Corey Huinker , Alvaro Herrera , Joe Conway , Nikita Glukhov , PostgreSQL Hackers Subject: Re: Error-safe user functions In-reply-to: <2b1e7d56-6f37-bad9-9702-053ab55ecf60@dunslane.net> References: <4009543.1670422833@sss.pgh.pa.us> <6acddf68-7cb7-e9e7-a5a7-0abc87b3c55b@dunslane.net> <4111458.1670444176@sss.pgh.pa.us> <3211.1670452341@sss.pgh.pa.us> <20221207233518.sudtaxn6omtvpzvr@awork3.anarazel.de> <186288.1670517119@sss.pgh.pa.us> <20221208215836.3naznqmal2m32hzc@awork3.anarazel.de> <512551.1670540229@sss.pgh.pa.us> <20221209023351.l362yejerfoq3lfp@awork3.anarazel.de> <633426.1670554790@sss.pgh.pa.us> <01ff2051-806d-af2f-4f9e-793f7ba9a3f8@dunslane.net> <778369.1670598993@sss.pgh.pa.us> <5aaf7c66-9df9-21a9-1ff4-02c7848def52@dunslane.net> <3bac9841-fe07-713d-fa42-606c225567d6@dunslane.net> <1436686.1670701118@sss.pgh.pa.us> <2b1e7d56-6f37-bad9-9702-053ab55ecf60@dunslane.net> Comments: In-reply-to Andrew Dunstan message dated "Sat, 10 Dec 2022 18:11:35 -0500" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1805343.1670779451.1@sss.pgh.pa.us> Date: Sun, 11 Dec 2022 12:24:11 -0500 Message-ID: <1805344.1670779451@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Andrew Dunstan writes: > On 2022-12-10 Sa 14:38, Tom Lane wrote: >> I have not done anything here about errors within JsonbValueToJsonb. >> There would need to be another round of API-extension in that area >> if we want to be able to trap its errors. As you say, those are mostly >> about exceeding implementation size limits, so I suppose one could argue >> that they are not so different from palloc failure. It's still annoying. >> If people are good with the changes attached, I might take a look at >> that. > Awesome. I spent some time looking at this, and was discouraged to conclude that the notational mess would probably be substantially out of proportion to the value. The main problem is that we'd have to change the API of pushJsonbValue, which has more than 150 call sites, most of which would need to grow a new test for failure return. Maybe somebody will feel like tackling that at some point, but not me today. regards, tom lane