Re: [E] Regexp_replace bug / does not terminate on long strings

2021-08-20 Thread Mark Dilger
> On Aug 20, 2021, at 12:51 PM, Miles Elam wrote: > > Unbounded ranges seem like a problem. Seems so. The problem appears to be in regcomp.c's repeat() function which handles {1,SOME} differently than {1,INF} > Seems worth trying a range from 1 to N where you play around with N to find >

Re: [E] Regexp_replace bug / does not terminate on long strings

2021-08-20 Thread Miles Elam
On Fri, Aug 20, 2021 at 12:32 PM Mark Dilger wrote: > > The following queries take radically different time to run: > Unbounded ranges seem like a problem. Seems worth trying a range from 1 to N where you play around with N to find your optimum performance/functionality tradeoff. {1,20} is like

Re: [E] Regexp_replace bug / does not terminate on long strings

2021-08-20 Thread Mark Dilger
> On Aug 20, 2021, at 9:52 AM, Tom Lane wrote: > > "a*" is easy. "(a*)\1" is less easy --- if you let the a* consume the > whole string, you will not get a match, even though one is possible. > In general, backrefs create a mess in what would otherwise be a pretty > straightforward concept :-