postgresql/src/backend
Tom Lane 5b562644fe Teach ANALYZE to clear pg_class.relhassubclass when appropriate.
In the past, relhassubclass always remained true if a relation had ever had
child relations, even if the last subclass was long gone.  While this had
only marginal performance implications in most cases, it was annoying, and
I'm now considering some planner changes that would raise the cost of a
false positive.  It was previously impractical to fix this because of race
condition concerns.  However, given the recent change that made tablecmds.c
take ShareExclusiveLock on relations that are gaining a child (commit
fbcf4b92aa), we can now allow ANALYZE to
clear the flag when it's no longer relevant.  There is no additional
locking cost to do so, since ANALYZE takes ShareExclusiveLock anyway.
2011-09-02 14:29:31 -04:00
..
access Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
bootstrap Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
catalog Teach ANALYZE to clear pg_class.relhassubclass when appropriate. 2011-09-02 14:29:31 -04:00
commands Teach ANALYZE to clear pg_class.relhassubclass when appropriate. 2011-09-02 14:29:31 -04:00
executor Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
foreign Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
lib Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
main Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
nodes Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
optimizer Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
parser Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
po Translation updates 2011-08-17 14:07:46 +03:00
port Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
postmaster Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
regex Add markers for skips. 2011-08-26 18:15:13 -04:00
replication Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
rewrite Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
snowball Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
storage Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
tcop Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
tsearch Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
utils Add C comment about needed include. 2011-09-01 12:53:45 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Workaround for recursive make breakage 2011-01-13 09:32:06 +02:00
Makefile Fix symlink for errcodes.h so it works in VPATH builds from tarballs. 2011-06-22 13:08:08 -04:00
nls.mk Add the possibility to pass --flag arguments to xgettext calls 2011-06-27 00:37:21 +03:00