> On Aug 8, 2021, at 9:31 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> I realized that the earlier patch is actually a bad idea
Applying only your <fix-backref-corner-case-1.patch> to master, the following which did not crash begins to crash:
select regexp_split_to_array('rjgykkkk', '(?:(.))((\1\1.))');
It also changes the results for another one:
select regexp_split_to_array('jdpveoarcnsarcnsarcnszieqbqbqbqbiufdlywphbnrxtdoboouuzcqiqmenj', '()((.)){1}?\3?',
'itx');
- regexp_split_to_array
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
{"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""}
+ regexp_split_to_array
+------------------------------------------------------------------
+ {jdpveoarcnsarcnsarcnszieqbqbqbqbiufdlywphbnrxtdoboouuzcqiqmenj}
I'm not sure what *should* be returned here, only that it is a behavioral change.
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company