postgresql/src/backend/commands
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
..
Makefile DDL support for collations 2011-02-12 15:55:18 +02:00
aggregatecmds.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
alter.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
analyze.c Teach ANALYZE to clear pg_class.relhassubclass when appropriate. 2011-09-02 14:29:31 -04:00
async.c Preserve caller's memory context in ProcessCompletedNotifies(). 2011-05-27 12:10:32 -04:00
cluster.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
collationcmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
comment.c Remove rel.h from objectaddress.h; only relcache.h is necessary. 2011-06-28 17:08:29 -04:00
constraint.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
conversioncmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
copy.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
dbcommands.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
define.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
discard.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
explain.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
extension.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
foreigncmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
functioncmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
indexcmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
lockcmds.c Try to acquire relation locks in RangeVarGetRelid. 2011-07-08 22:19:30 -04:00
opclasscmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
operatorcmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
portalcmds.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
prepare.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
proclang.c Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:39 -04:00
schemacmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
seclabel.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
sequence.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
tablecmds.c Teach ANALYZE to clear pg_class.relhassubclass when appropriate. 2011-09-02 14:29:31 -04:00
tablespace.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
trigger.c Fix trigger WHEN conditions when both BEFORE and AFTER triggers exist. 2011-08-21 18:15:55 -04:00
tsearchcmds.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
typecmds.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
user.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
vacuum.c Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
vacuumlazy.c Fix a missed case in code for "moving average" estimate of reltuples. 2011-08-30 14:51:38 -04:00
variable.c Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
view.c Fix bugs in relpersistence handling during table creation. 2011-07-03 17:34:47 -04:00