On 2022-12-24 Sa 10:42, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> 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