Miscellaneous cleanup of regular-expression compiler.
Revert our previous addition of "all" flags to copyins() and copyouts();
they're no longer needed, and were never anything but an unsightly hack.
Improve a couple of infelicities in the REG_DEBUG code for dumping
the NFA data structure, including adding code to count the total
number of states and arcs.
Add a couple of missed error checks.
Add some more documentation in the README file, and some regression tests
illustrating cases that exceeded the state-count limit and/or took
unreasonable amounts of time before this set of patches.
Back-patch to all supported branches.
Branch
------
REL9_4_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/f189747d4692bddc2f07c622d7d83b1bcbf48fbf
Modified Files
--------------
src/backend/regex/README | 95 +++++++++++++++++++++++++++++++----
src/backend/regex/regc_nfa.c | 55 +++++++-------------
src/backend/regex/regcomp.c | 11 ++--
src/test/regress/expected/regex.out | 35 +++++++++++++
src/test/regress/sql/regex.sql | 11 ++++
5 files changed, 153 insertions(+), 54 deletions(-)