Re: ALTER command reworks
От | Kohei KaiGai |
---|---|
Тема | Re: ALTER command reworks |
Дата | |
Msg-id | CADyhKSVScSr7wg1oGcyVX_pfcwt9wQq5DZ+4Geag4NwEdP5-6w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: ALTER command reworks (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: ALTER command reworks
|
Список | pgsql-hackers |
The attached patch is the revised version of ALTER RENAME TO consolidation. According to the previous suggestion, it uses a common logic to check object-naming duplication at check_duplicate_objectname(). At the code path on AlterObjectNamespace_internal, it lost ObjectType information to the supplied object, so I also added get_object_type() function at objectaddress.c for inverse translation from a couple of classId/objectId to OBJECT_* label. Rest of parts are unchanged since the previous versions. Thanks, 2012/10/17 Alvaro Herrera <alvherre@2ndquadrant.com>: > 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 -- KaiGai Kohei <kaigai@kaigai.gr.jp>
Вложения
В списке pgsql-hackers по дате отправления: