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
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 |