postgresql/src/backend/commands
Bruce Momjian 8c092781f4 ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT)
Open items:

There were a few tangentially related issues that have come up that I think
are TODOs. I'm likely to tackle one or two of these next so I'm interested in
hearing feedback on them as well.

. Constraints currently do not know anything about inheritance. Tom suggested
  adding a coninhcount and conislocal like attributes have to track their
  inheritance status.

. Foreign key constraints currently do not get copied to new children (and
  therefore my code doesn't verify them). I don't think it would be hard to
  add them and treat them like CHECK constraints.

. No constraints at all are copied to tables defined with LIKE. That makes it
  hard to use LIKE to define new partitions. The standard defines LIKE and
  specifically says it does not copy constraints. But the standard already has
  an option called INCLUDING DEFAULTS; we could always define a non-standard
  extension LIKE table INCLUDING CONSTRAINTS that gives the user the option to
  request a copy including constraints.

. Personally, I think the whole attislocal thing is bunk. The decision about
  whether to drop a column from children tables or not is something that
  should be up to the user and trying to DWIM based on whether there was ever
  a local definition or the column was acquired purely through inheritance is
  hardly ever going to match up with user expectations.

. And of course there's the whole unique and primary key constraint issue. I
  think to get any traction at all on this you have a prerequisite of a real
  partitioned table implementation where the system knows what the partition
  key is so it can recognize when it's a leading part of an index key.

Greg Stark
2006-07-02 01:58:36 +00:00
..
Makefile Tablespaces. Alternate database locations are dead, long live tablespaces. 2004-06-18 06:14:31 +00:00
aggregatecmds.c Fix a couple of obvious problems in DROP IF EXISTS patch. 2006-06-16 23:50:48 +00:00
alter.c Support the syntax 2006-04-15 17:45:46 +00:00
analyze.c Add error location info to ResTarget parse nodes. Allows error cursor to be supplied 2006-03-23 00:19:30 +00:00
async.c Add GUC update_process_title to control whether 'ps' display is updated 2006-06-27 22:16:44 +00:00
cluster.c Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion. 2006-05-02 22:25:10 +00:00
comment.c Support the syntax 2006-04-15 17:45:46 +00:00
conversioncmds.c Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
copy.c Further hacking on performance of COPY OUT. It seems that fwrite()'s 2006-05-26 22:50:02 +00:00
dbcommands.c Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE. 2006-05-04 16:07:29 +00:00
define.c Improve parser so that we can show an error cursor position for errors 2006-03-14 22:48:25 +00:00
explain.c Fix EXPLAIN so that it can drill down through multiple levels of subplan 2006-04-08 18:49:52 +00:00
functioncmds.c DROP ... IF EXISTS for the following cases: 2006-06-16 20:23:45 +00:00
indexcmds.c Have REINDEX use NOTICE, so it can be suppressed. 2006-06-07 17:20:17 +00:00
lockcmds.c Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
opclasscmds.c DROP ... IF EXISTS for the following cases: 2006-06-16 20:23:45 +00:00
operatorcmds.c DROP ... IF EXISTS for the following cases: 2006-06-16 20:23:45 +00:00
portalcmds.c Create infrastructure for 'MinimalTuple' representation of in-memory 2006-06-27 02:51:40 +00:00
prepare.c Remove redundant gettimeofday() calls to the extent practical without 2006-06-20 22:52:00 +00:00
proclang.c DROP ... IF EXISTS for the following cases: 2006-06-16 20:23:45 +00:00
schemacmds.c Improve parser so that we can show an error cursor position for errors 2006-03-14 22:48:25 +00:00
sequence.c Clean up WAL/buffer interactions as per my recent proposal. Get rid of the 2006-03-31 23:32:07 +00:00
tablecmds.c ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT) 2006-07-02 01:58:36 +00:00
tablespace.c DROP ... IF EXISTS for the following cases: 2006-06-16 20:23:45 +00:00
trigger.c DROP ... IF EXISTS for the following cases: 2006-06-16 20:23:45 +00:00
typecmds.c Eliminate a gratuitously different wording of the 'cannot use aggregate function in check constraint' error message. 2006-06-21 18:09:53 +00:00
user.c Split definitions for md5.c out of crypt.h and into their own header 2006-06-20 19:56:52 +00:00
vacuum.c Clean up code associated with updating pg_class statistics columns 2006-05-10 23:18:39 +00:00
vacuumlazy.c Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion. 2006-05-02 22:25:10 +00:00
variable.c Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
view.c Improve parser so that we can show an error cursor position for errors 2006-03-14 22:48:25 +00:00