Re: regclass and format('%I')

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: regclass and format('%I')
Дата
Msg-id CAKFQuwaJ-h=STiSka6M7Rnk46g_1Tm5Z=BQxEA9iFXF5UQHmOg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: regclass and format('%I')  (Jason Dusek <jason.dusek@gmail.com>)
Ответы Re: regclass and format('%I')  (Jason Dusek <jason.dusek@gmail.com>)
Список pgsql-general
On Saturday, March 14, 2015, Jason Dusek <jason.dusek@gmail.com> wrote:
It honestly seems far more reasonable to me that %s and %I should do
the exact same thing with regclass. My reasoning is as follows:

‘%I’ formats a something such that it is a valid identifier,

regclass is already a valid identifier,

therefore, do nothing.

Another line of reasoning:

If you format with ‘%s’ you are saying: I don’t care whether it’s a
valid identifier or literal or whatever, just put the string there,

but when we sub a regclass into a string, we want it to be a valid identifier,

therefore we should write ‘%I’ when subbing it, so as not to confuse
our readers,

therefore ‘%I’ should do nothing.


I agree with the theory but adding type specific logic to format is going to be difficult.  The first thing the system does is convert all of the inputs to text.  Inside format() everything is text and so it has no way to know that the type was regclass and should not be quoted again.

David J.

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: regclass and format('%I')
Следующее
От: Seref Arikan
Дата:
Сообщение: is there a relationship between indexes and temporary file creation?