Skip site navigation (1) Skip section navigation (2)

pgsql: Change regexp engine's ccondissect/crevdissect routines to

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Change regexp engine's ccondissect/crevdissect routines to
Date: 2010-02-01 02:46:08
Message-ID: 20100201024608.E62CB7541BA@cvs.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committers
Log Message:
-----------
Change regexp engine's ccondissect/crevdissect routines to perform DFA
matching before recursing instead of after.  The DFA match eliminates
unworkable midpoint choices a lot faster than the recursive check, in most
cases, so doing it first can speed things up; particularly in pathological
cases such as recently exhibited by Michael Glaesemann.

In addition, apply some cosmetic changes that were applied upstream (in the
Tcl project) at the same time, in order to sync with upstream version 1.15
of regexec.c.

Upstream apparently intends to backpatch this, so I will too.  The
pathological behavior could be unpleasant if encountered in the field,
which seems to justify any risk of introducing new bugs.

Tom Lane, reviewed by Donal K. Fellows of Tcl project

Tags:
----
REL7_4_STABLE

Modified Files:
--------------
    pgsql/src/backend/regex:
        regexec.c (r1.23 -> r1.23.4.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/regex/regexec.c?r1=1.23&r2=1.23.4.1)

pgsql-committers by date

Next:From: Takahiro ItagakiDate: 2010-02-01 03:14:45
Subject: pgsql: Add string_agg aggregate functions.
Previous:From: Tom LaneDate: 2010-02-01 02:46:01
Subject: pgsql: Change regexp engine's ccondissect/crevdissect routines to

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group