Re: BUG #18708: regex problem: (?:[^\d\D]){0} asserts with "lp->nouts == 0 && rp->nins == 0"

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: dhyan@nataraj.su
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-11-14T15:25:48Z
Lists: pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> If you run 
> SELECT '' ~ '(?:[^\d\D]){0}'; 
> it will assert with  "lp->nouts == 0 && rp->nins == 0"
> This behavior have been introduced in 2a0af7fe460 commit.

Thanks for the report --- I'll dig into this later.

			regards, tom lane



Commits

  1. Fix recently-exposed portability issue in regex optimization.

  2. Avoid assertion due to disconnected NFA sub-graphs in regex parsing.

  3. Fix recovery conflict SIGUSR1 handling.

  4. Redesign interrupt/cancel API for regex engine.

  5. Use MemoryContext API for regex memory management.

  6. Invent "rainbow" arcs within the regex engine.