On Tue, Apr 8, 2014 at 3:01 AM, Yugo Nagata <nagata@sraoss.co.jp> wrote:
> On Mon, 7 Apr 2014 12:00:49 -0400
> Robert Haas <robertmhaas@gmail.com> wrote:
>> In other words, let's revert the whole refactoring of this file to
>> create reg*_guts functions, and instead just copy the relevant logic
>> for the name lookups into the new functions. For to_regproc(), for
>> example, it would look like this (untested):
>>
>> names = stringToQualifiedNameList(pro_name_or_oid);
>> clist = FuncnameGetCandidates(names, -1, NIL, false, false, false);
>> if (clist == NULL || clist->next != NULL)
>> result = InvalidOid;
>> else
>> result = clist->oid;
>>
>> With that change, this patch will actually get a whole lot smaller,
>> change less already-existing code, and deliver cleaner behavior.
>
> Here is an updated patch. I rewrote regproc.c not to use _guts functions,
> and fixed to_reg* not accept a numeric OID. I also updated the documents
> and some comments. Is this better than the previous one?
Looks good, committed with a bit of further cleanup.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company