Re: ALTER command reworks - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: ALTER command reworks
Date
Msg-id 20121017200924.GK5217@alvh.no-ip.org
Whole thread Raw
In response to Re: ALTER command reworks  (Kohei KaiGai <kaigai@kaigai.gr.jp>)
Responses Re: ALTER command reworks  (Kohei KaiGai <kaigai@kaigai.gr.jp>)
List pgsql-hackers
Kohei KaiGai escribió:
> 2012/10/5 Alvaro Herrera <alvherre@2ndquadrant.com>:

> The attached patch fixes the messaging issue.
> I newly add func_signature_string_oid() that returns compatible function's
> signature, but takes its object-id.
>
> So, the error message is now constructed as:
> +       case OBJECT_AGGREGATE:
> +       case OBJECT_FUNCTION:
> +           errorm = format_elog_string("function %s already exists in
> schema \"%s\"",
> +                                       func_signature_string_oid(objectId),
> +                                       get_namespace_name(namespaceId));
> +            break;

Thanks, yeah, this works for me.

I am now wondering if it would make sense to merge the duplicate-name
error cases in AlterObjectNamespace_internal and
AlterObjectRename_internal.  The former only works when there is a name
catcache for the object type.  Maybe we can create a single function to
which we give the object type, name/args, oid, etc, and it uses a
catcache if available and falls back to get_object_address (with the
IMO ugly name list manipulations) if not.

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



pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Deprecating RULES
Next
From: Josh Berkus
Date:
Subject: Re: Deprecating RULES