Is there a TODO here? ---------------------------------------------------------------------------
Tom Lane wrote: > elein <[EMAIL PROTECTED]> writes: > > This is the repro with the sql file below. > > I looked into this, and the answer is you're doing it to yourself; > you shouldn't be explicitly re-specifying the defaults for the child > columns. > > > create table answer_numeric ( > > avalue numeric > > ) inherits (answer_values) ; > > alter table answer_numeric alter column avid set default > > nextval('answer_values_avid_seq'); > > It's unnecessary to have that "alter column set default" command, > because avid will have inherited the default expression from the parent > anyway. The reason that setting it changes pg_dump's output is that > what you are setting is not quite right: the actual default expression > in the parent is > nextval('public.answer_values_avid_seq') > Since that's different, pg_dump concludes that the child's default is > non-inherited and emits a redefinition of the column. > > The reason I didn't see the same behavior in CVS tip is that now that > we use regclass literals for nextval() arguments, the changed default > still lists out the same way as the parent's default, and so pg_dump > thinks it's an inherited default. > > It strikes me that there is still a risk here, which is that because > listing of regclass values is search-path-sensitive, pg_dump could > come to the wrong conclusion about the inheritance of a default when > the child is in a different schema than the parent. We could probably > fix that by comparing adbin strings instead of the reverse-compiled > expressions to decide if a child default matches its parent or not. > > Alternatively, maybe we should add explicit inheritance information > to pg_attrdef. There's already a proposal to do that for constraints... > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will ignore your desire to > choose an index scan if your joining column's datatypes do not > match > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster