Re: Inspection of row types in pl/pgsql and pl/sql

Поиск
Список
Период
Сортировка
От Florian G. Pflug
Тема Re: Inspection of row types in pl/pgsql and pl/sql
Дата
Msg-id 4AFEF768.80207@phlo.org
обсуждение исходный текст
Ответ на Re: Inspection of row types in pl/pgsql and pl/sql  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Inspection of row types in pl/pgsql and pl/sql
Список pgsql-hackers
Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>> Yes, and I have used it, but it really would be nicer to have some 
>> introspection facilities built in, especially for use in triggers.
> 
> Maybe, but the proposal at hand is spectacularly ugly --- in particular
> it seems designed around the assumption that a given trigger will only
> care about handling a predetermined set of datatypes, which hardly
> fits with PG's normal goals for datatype extensibility.  If the argument
> is that you don't like hstore or other PLs because they'll smash
> everything to text, then I think you have to do better than this.

While I agree that handling arbitrary datatypes at runtime would be 
nice, I really don't see how that could ever be done from within a 
plpgsql procedure, unless plpgsql somehow morphs into a dynamically 
typed language. Plus, the set of datatypes an application deals with is 
usually much smaller than the set of tables, and less likely to change 
over time.

I'd also argue that this restriction does not conflict with PG's goal of 
datatype extensibility at all. Datatype extensibility in PG's boils down 
to being able to create new datatypes without modifying postgres itself 
- but it still expects that you do so while designing your application. 
Which also is when trigger functions that use record_value() or a 
similar function would be written.

Plus, fully generic handling of data of arbitrary type is a somewhat 
strange notion anyway, because it leaves you with very few operations 
guaranteed to be defined for those values. In the case of PG, you'd be 
pretty much limited to casting those values from and to text.

best regards,
Florian Pflug



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

Предыдущее
От: "Florian G. Pflug"
Дата:
Сообщение: Re: Inspection of row types in pl/pgsql and pl/sql
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Unicode UTF-8 table formatting for psql text output