postgresql/src/backend
Tom Lane 677e64cb80 Improve performance of fixempties() pass in regular-expression compiler.
The previous coding took something like O(N^4) time to fully process a
chain of N EMPTY arcs.  We can't really do much better than O(N^2) because
we have to insert about that many arcs, but we can do lots better than
what's there now.  The win comes partly from using mergeins() to amortize
de-duplication of arcs across multiple source states, and partly from
exploiting knowledge of the ordering of arcs for each state to avoid
looking at arcs we don't need to consider during the scan.  We do have
to be a bit careful of the possible reordering of arcs introduced by
the sort-merge coding of the previous commit, but that's not hard to
deal with.

Back-patch to all supported branches.
2015-10-16 14:58:11 -04:00
..
access Re-Align *_freeze_max_age reloption limits with corresponding GUC limits. 2015-10-05 11:57:11 +02:00
bootstrap Protect against multixact members wraparound 2015-04-28 11:32:53 -03:00
catalog Rename pg_shdepend.c's typedef "objectType" to SharedDependencyObjectType. 2015-05-24 13:03:45 -04:00
commands Improve LISTEN startup time when there are many unread notifications. 2015-09-30 23:32:23 -04:00
executor Further twiddling of nodeHash.c hashtable sizing calculation. 2015-10-04 15:55:07 -04:00
foreign Arrange to cache FdwRoutine structs in foreign tables' relcache entries. 2013-03-06 23:48:09 -05:00
lib Misc comment typo fixes. 2014-12-16 16:39:33 +02:00
libpq Fix incorrect order of lock file removal and failure to close() sockets. 2015-08-02 14:54:44 -04:00
main Report more information if pg_perm_setlocale() fails at startup. 2015-06-09 13:37:08 -04:00
nodes Fix planner's cost estimation for SEMI/ANTI joins with inner indexscans. 2015-06-03 11:58:47 -04:00
optimizer Fix documentation error in commit 8703059c6b. 2015-10-01 10:32:14 -04:00
parser Remove spurious semicolons. 2015-03-31 15:15:04 +03:00
po Translation updates 2015-10-05 11:01:00 -04:00
port On Windows, ensure shared memory handle gets closed if not being used. 2015-10-13 11:21:33 -04:00
postmaster On Windows, ensure shared memory handle gets closed if not being used. 2015-10-13 11:21:33 -04:00
regex Improve performance of fixempties() pass in regular-expression compiler. 2015-10-16 14:58:11 -04:00
replication Remove duplicated words in comments. 2015-04-12 10:49:34 +03:00
rewrite Lock all relations referred to in updatable views 2015-09-08 17:02:59 -04:00
snowball Fix ancient encoding error in hungarian.stop. 2014-06-10 22:48:39 -04:00
storage Be more wary about partially-valid LOCALLOCK data in RemoveLocalLock(). 2015-09-20 16:48:44 -04:00
tcop Add recursion depth protections to regular expression matching. 2015-10-02 14:51:58 -04:00
tsearch Cope with more than 64K phrases in a thesaurus dictionary. 2014-11-06 20:52:52 -05:00
utils Perform an immediate shutdown if the postmaster.pid file is removed. 2015-10-06 17:15:27 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Call check_keywords.pl in maintainer-check 2012-02-27 13:53:12 +02:00
Makefile AIX: Link the postgres executable with -Wl,-brtllib. 2015-07-15 21:00:30 -04:00
nls.mk xlogreader.c: Fix report_invalid_record translatability flag 2015-01-09 12:34:24 -03:00