Re: proposal: function parse_ident

Поиск
Список
Период
Сортировка
От Corey Huinker
Тема Re: proposal: function parse_ident
Дата
Msg-id CADkLM=fu31ouSNSxA0UGdGp_KD-zTxLZSuBGTtaysZ7RGgLh2g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: proposal: function parse_ident  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: proposal: function parse_ident  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-hackers


On Tue, Sep 8, 2015 at 8:57 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:


2015-09-08 14:06 GMT+02:00 Robert Haas <robertmhaas@gmail.com>:
On Fri, Sep 4, 2015 at 12:24 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> The alghoritm for parsing identifiers is same - the differences are in a
> names of levels, and in ending symbols.
>
> I don't would to write totally generic parser - more without access to
> system catalog or without external hint, you cannot to decide if identifier
> is schema.table or table.column. But the rules for parsing is exactly same.
>
> The function can be redesigned little bit:
>
> FUNCTION parse_ident(OUT level1 text,OUT level2 text,OUT level3 text,OUT
> specific text)
>
> so it can parse function myschema.myfunc(xx int)
>
> level1: NULL
> level2: myschema
> level3: myfunc
> specific: (xx int)
>
> Is it acceptable?

Well, *I* think that would be useful.  I'm not sure it belongs in
core, but useful?  Yeah, definitely.  I would probably make it text[]
rather than level1, level2, level3, though.

Returning a array is a good idea.



+1 

I would have immediate use for this. So often a function is written with a table name as a parameter and it's not immediately clear if the schema is to be parsed out of the string, prescribed, or a separate parameter...in which case the function signature now has a clumsy optional schema parameter somewhere. I've written this bit of code probably five times now, let's make it a solved problem.

text[] return seems most sensible. While I can see the use for a record output, it wouldn't be used as often.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Separating Buffer LWlocks
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Separating Buffer LWlocks