Re: Assert triggered during RE_compile_and_cache
Mark Dilger <mark.dilger@enterprisedb.com>
From: Mark Dilger <mark.dilger@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-08-08T17:28:55Z
Lists: pgsql-hackers
> On Aug 8, 2021, at 10:15 AM, Mark Dilger <mark.dilger@enterprisedb.com> wrote:
>
> But these next two look to me correct before the patch and wrong after:
>
> select regexp_matches('ircecpbgyiggvtruqgxzigxzigxzisdbkuhbkuhrvl', '(((.)))(?:(\3))[^\f]');
> regexp_matches
> ----------------
> -(0 rows)
> + {g,g,g,g}
> +(1 row)
>
> select regexp_matches('fhgxnvbvjaej', '(((.)).)((\3)((.)))', 'csx');
> - regexp_matches
> -----------------
> -(0 rows)
> + regexp_matches
> +-------------------
> + {vb,v,v,vj,v,j,j}
> +(1 row)
Scratch that. On further thought, these also look correct. I wasn't doing the capturing in my head correctly. So I think the patch is working! I'll test a bit longer.
Is this patch (alternate-backref-corner-case-fix-1.patch) the current state of your patch set? I'd like to be sure I'm testing your latest work. Thanks.
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Commits
-
Check the size in COPY_POINTER_FIELD
- c1132aae336c 15.0 cited
-
Rethink regexp engine's backref-related compilation state.
- 5227d9989672 14.0 landed
- 00116dee5ad4 15.0 landed
-
Fix use-after-free issue in regexp engine.
- f42ea8350db2 14.0 landed
- cc1868799c83 15.0 landed
-
Make regexp engine's backref-related compilation state more bulletproof.
- cb76fbd7ec87 15.0 landed
- 5e6ad63c6db7 14.0 landed
-
Really fix the ambiguity in REFRESH MATERIALIZED VIEW CONCURRENTLY.
- ba9f665a4413 13.4 cited
-
Avoid generating extra subre tree nodes for capturing parentheses.
- ea1268f6301c 14.0 cited