Re: ALTER OBJECT any_name SET SCHEMA name - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: ALTER OBJECT any_name SET SCHEMA name
Date
Msg-id 1288880696-sup-3910@alvh.no-ip.org
Whole thread Raw
In response to Re: ALTER OBJECT any_name SET SCHEMA name  (Dimitri Fontaine <dimitri@2ndQuadrant.fr>)
Responses Re: ALTER OBJECT any_name SET SCHEMA name
List pgsql-hackers
Excerpts from Dimitri Fontaine's message of jue nov 04 11:06:48 -0300 2010:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > FWIW I think you should use getObjectDescription, as in the attached
> > patch.  (Note the patch is incomplete and does not compile because only
> > one caller to CheckSetNamespace has been fixed).
> 
> I had to re-add the object name to the CheckSetNamespace prototype to
> handle this particular check:
> 
>     /* check for duplicate name (more friendly than unique-index failure) */
>     if (SearchSysCacheExists2(TYPENAMENSP,
>                               CStringGetDatum(name),
>                               ObjectIdGetDatum(nspOid)))

Hmm, this check is wrong anyway, because you're looking in the pg_type
syscache for objects from an arbitrary catalog.  That needs to be fixed
somehow, but perhaps it needs to be handled by the callers, not in this
routine.  Otherwise you're going to need to pass the syscache ID, as
well as Datums identifying the object, and the number of Datums.

-- 
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


pgsql-hackers by date:

Previous
From: Thom Brown
Date:
Subject: Re: Alter column to type serial
Next
From: Dimitri Fontaine
Date:
Subject: Re: ALTER OBJECT any_name SET SCHEMA name