Re: recent ALTER whatever .. SET SCHEMA refactoring

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Kohei KaiGai <kaigai(at)kaigai(dot)gr(dot)jp>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: recent ALTER whatever .. SET SCHEMA refactoring
Date: 2013-01-15 14:56:08
Message-ID: 20130115145608.GD4146@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Kohei KaiGai escribió:
> 2013/1/15 Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>:
> > Alvaro Herrera escribió:
> >> Kohei KaiGai escribió:
> >>
> >> > I'm probably saying same idea. It just adds invocation of external
> >> > functions to check naming conflicts of functions or collation; that
> >> > takes additional 4-lines for special case handling
> >> > in AlterObjectNamespace_internal().
> >>
> >> Okay, I can agree with this implementation plan.
> >
> > Actually, now that I look again, this is all completely broken, because
> > the "object already exists in schema foo" message is using
> > getObjectDescription infrastructure, which we agree to be completely
> > wrong.
> >
> http://www.postgresql.org/message-id/CADyhKSWVqaA6iF5wVuW5EzLaiYyCYEE2zO9guqNKy8FRdLx5Gw@mail.gmail.com
>
> Does this patch help the trouble?
> It adds ereport_on_namespace_conflict() for error message generation instead of
> getObjectDescription() for ALTER RENAME primarily, but I also noticed it can be
> applied on getObjectDescription() of AlterObjectNamespace_internal.

I was just going to look into that patch, thanks.

Anyway I noticed that the getObjectDescriptionOids() in that path has
been there since 9.1 introduced generic object support for SET SCHEMA in
55109313.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2013-01-15 15:06:12 Re: ALTER command reworks
Previous Message Claudio Freire 2013-01-15 14:55:31 Re: [PATCH] COPY .. COMPRESSED