On 2015/06/10 20:18, Robert Haas wrote:
/*
  * ALTER TABLE INHERIT
  *
  * Add a parent to the child's parents. This verifies that all the columns and
  * check constraints of the parent appear in the child and that they have the
  * same data types and expressions.
  */
static void
ATPrepAddInherit(Relation child_rel)
{
     if (child_rel->rd_rel->reloftype)
         ereport(ERROR,
                 (errcode(ERRCODE_WRONG_OBJECT_TYPE),
                  errmsg("cannot change inheritance of typed table")));
}

I agree with you.

Besides that, ISTM taht the error message is a little bit confusing because I think typed tables cannot inherit. Maybe I'm missing something though. Proposed patch attached.

Best regards,
Etsuro Fujita
*** a/src/backend/commands/tablecmds.c
--- b/src/backend/commands/tablecmds.c
***************
*** 9853,9862 **** ATExecEnableDisableRule(Relation rel, char *trigname,
  
  /*
   * ALTER TABLE INHERIT
-  *
-  * Add a parent to the child's parents. This verifies that all the columns and
-  * check constraints of the parent appear in the child and that they have the
-  * same data types and expressions.
   */
  static void
  ATPrepAddInherit(Relation child_rel)
--- 9853,9858 ----
***************
*** 9864,9873 **** ATPrepAddInherit(Relation child_rel)
  	if (child_rel->rd_rel->reloftype)
  		ereport(ERROR,
  				(errcode(ERRCODE_WRONG_OBJECT_TYPE),
! 				 errmsg("cannot change inheritance of typed table")));
  }
  
  /*
   * Return the address of the new parent relation.
   */
  static ObjectAddress
--- 9860,9873 ----
  	if (child_rel->rd_rel->reloftype)
  		ereport(ERROR,
  				(errcode(ERRCODE_WRONG_OBJECT_TYPE),
! 				 errmsg("typed tables cannot inherit")));
  }
  
  /*
+  * Add a parent to the child's parents. This verifies that all the columns and
+  * check constraints of the parent appear in the child and that they have the
+  * same data types and expressions.
+  *
   * Return the address of the new parent relation.
   */
  static ObjectAddress
-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to