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 1p8Og2-0005iH-Kc for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Dec 2022 16:44:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p8Ofz-0006My-NS for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Dec 2022 16:44:11 +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 1p8Ofz-0006Jm-E7 for pgsql-hackers@lists.postgresql.org; Thu, 22 Dec 2022 16:44:11 +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 1p8Ofw-0006Bj-I5 for pgsql-hackers@lists.postgresql.org; Thu, 22 Dec 2022 16:44:10 +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 2BMGi0OH1964969; Thu, 22 Dec 2022 11:44:00 -0500 From: Tom Lane To: Andrew Dunstan cc: Amul Sul , 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: References: <4009543.1670422833@sss.pgh.pa.us> <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> <1805344.1670779451@sss.pgh.pa.us> <1863335.1670783397@sss.pgh.pa.us> <2687377.1671033604@sss.pgh.pa.us> <2966981.1671057469@sss.pgh.pa.us> Comments: In-reply-to Andrew Dunstan message dated "Sun, 18 Dec 2022 09:42:39 -0500" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1964967.1671727440.1@sss.pgh.pa.us> Date: Thu, 22 Dec 2022 11:44:00 -0500 Message-ID: <1964968.1671727440@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Andrew Dunstan writes: > Yeah, I started there, but it's substantially more complex - unlike cube > the jsonpath scanner calls the error routines as well as the parser. > Anyway, here's a patch. I looked through this and it seems generally OK. A minor nitpick is that we usually write "(Datum) 0" not "(Datum) NULL" for dont-care Datum values. A slightly bigger issue is that makeItemLikeRegex still allows an error to be thrown from RE_compile_and_cache if a bogus regex is presented. But that could be dealt with later. (I wonder why this is using RE_compile_and_cache at all, really, rather than some other API. There doesn't seem to be value in forcing the regex into the cache at this point.) regards, tom lane