Re: Command Triggers

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Dimitri Fontaine <dimitri@2ndquadrant.fr>
Date: 2012-02-27T23:26:05Z
Lists: pgsql-hackers
On Sunday, December 04, 2011 02:09:08 AM Andres Freund wrote:
> First, does anybody think it would be worth getting rid of the duplication 
> from OpenIntoRel (formerly from execMain.c) in regard to DefineRelation()?
> I noticed that there already is some diversion between both. E.g. CREATE
> TABLE  frak TABLESPACE pg_global AS SELECT 1; is possible while it would
> be forbidden via a plain CREATE TABLE. (I will send a fix for this
> separately).
Sorry for letting this slide.

Is it worth adding this bit to OpenIntoRel? Not sure if there is danger in 
allowing anyone to create shared tables

	/* In all cases disallow placing user relations in pg_global */
	if (tablespaceId == GLOBALTABLESPACE_OID)
		ereport(ERROR,
				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
				 errmsg("only shared relations can be placed in pg_global 
tablespace")));


Andres