pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Amul Sul <sulamul@gmail.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: David G. Johnston <david.g.johnston@gmail.com>
Cc: Corey Huinker <corey.huinker@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Joe Conway <mail@joeconway.com>
Cc: Nikita Glukhov <n.gluhov@postgrespro.ru>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: Error-safe user functions
Date: Thu, 22 Dec 2022 11:44:00 -0500
Message-ID: <1964968.1671727440@sss.pgh.pa.us> (raw)
In-Reply-To: <a8dc5700-c341-3ba8-0507-cc09881e6200@dunslane.net>
References: <4009543.1670422833@sss.pgh.pa.us>
	<186288.1670517119@sss.pgh.pa.us>
	<CA+TgmoZOhQ8FfWH9_r58tLtb=AwBn=7ugO2PHh6moR8jhYviUA@mail.gmail.com>
	<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>
	<b54e97be-7316-2cab-6969-bfac6ec88ca6@dunslane.net>
	<1863335.1670783397@sss.pgh.pa.us>
	<CAAJ_b951-kZ=FzWpU31A_Lb! j6foJmy852T3YeCT6sAqRbqLPWQ@mail.gmail.com>
	<CAAJ_b97KeDWUdpTKGOaFYPv0OicjOu6EW+QYWj-Ywrgj_aEy1g@mail.gmail.com>
	<2687377.1671033604@sss.pgh.pa.us>
	<be2bb! 2c4-d246-3cad-b969-7eba4c08336a@dunslane.net>
	<2966981.1671057469@sss.pgh.pa.us>
	<a! 8dc5700-c341-3ba8-0507-cc09881e6200@dunslane.net>

Andrew Dunstan <andrew@dunslane.net> 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





view thread (175+ messages)  latest in thread

Message-ID: <1964968.1671727440@sss.pgh.pa.us>
Permalink:  ../1964968.1671727440@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/1964968.1671727440@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, andrew@dunslane.net, sulamul@gmail.com, andres@anarazel.de, aekorotkov@gmail.com, robertmhaas@gmail.com, david.g.johnston@gmail.com, corey.huinker@gmail.com, alvherre@alvh.no-ip.org, mail@joeconway.com, n.gluhov@postgrespro.ru, pgsql-hackers@lists.postgresql.org
  Subject: Re: Error-safe user functions
  In-Reply-To: <1964968.1671727440@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox