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 1p9B3f-0007L6-PJ for pgsql-hackers@arkaria.postgresql.org; Sat, 24 Dec 2022 20:23:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p9B3e-0007wc-Kd for pgsql-hackers@arkaria.postgresql.org; Sat, 24 Dec 2022 20:23:50 +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 1p9B3e-0007wS-BS for pgsql-hackers@lists.postgresql.org; Sat, 24 Dec 2022 20:23:50 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p9B3a-00028O-4n for pgsql-hackers@lists.postgresql.org; Sat, 24 Dec 2022 20:23:49 +0000 Received: (Authenticated sender: adsend@dunslane.net) by mail.gandi.net (Postfix) with ESMTPSA id EC66120004; Sat, 24 Dec 2022 20:23:39 +0000 (UTC) Message-ID: Date: Sat, 24 Dec 2022 15:23:38 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: Error-safe user functions Content-Language: en-US To: Tom Lane Cc: Amul Sul , Andres Freund , Alexander Korotkov , Robert Haas , "David G. Johnston" , Corey Huinker , Alvaro Herrera , Joe Conway , Nikita Glukhov , PostgreSQL Hackers References: <4009543.1670422833@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> <1964968.1671727440@sss.pgh.pa.us> <9c8f22f2-7a37-f! c4d-8e9f-3431c0d09c5a@dunslane.net> <2769684.1671821604@sss.pgh.pa.us> <2911749.1671896555@sss.pgh.pa.us> From: Andrew Dunstan In-Reply-To: <2911749.1671896555@sss.pgh.pa.us> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2022-12-24 Sa 10:42, Tom Lane wrote: > Andrew Dunstan writes: >> As I was giving this a final polish I noticed this in jspConvertRegexFlags: >>     /* >>      * We'll never need sub-match details at execution.  While >>      * RE_compile_and_execute would set this flag anyway, force it on here to >>      * ensure that the regex cache entries created by makeItemLikeRegex are >>      * useful. >>      */ >>     cflags |= REG_NOSUB; >> Clearly the comment would no longer be true. I guess I should just >> remove this? > Yeah, we can just drop that I guess. I'm slightly worried that we might > need it again after some future refactoring; but it's not really worth > devising a re-worded comment to justify keeping it. > > Also, I realized that I failed in my reviewerly duty by not noticing > that you'd forgotten to pg_regfree the regex after successful > compilation. Running something like this exposes the memory leak > very quickly: > > select pg_input_is_valid('$ ? (@ like_regex "pattern" flag "smixq")', 'jsonpath') > from generate_series(1,10000000); > > The attached delta patch takes care of it. (Per comment at pg_regcomp, > we don't need this after a failure return.) > > Thanks, pushed with those changes. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com