Re: functions returning records
От | Karel Zak |
---|---|
Тема | Re: functions returning records |
Дата | |
Msg-id | 20010627091051.H10253@ara.zf.jcu.cz обсуждение исходный текст |
Ответ на | functions returning records (Alex Pilosov <alex@pilosoft.com>) |
Ответы |
Re: functions returning records
Re: functions returning records |
Список | pgsql-hackers |
On Tue, Jun 26, 2001 at 05:11:47PM -0400, Alex Pilosov wrote: > I started thinking about Tom's idea to implement functions as table > source. > > To me, it seems that a very few changes are necessary: > a) parser must be changed to allow functioncall to be a table_ref > (easy) > > b) when a Query node is generated out of such a call "select * from foo()" > it should be almost identical to one generated out of "select * from > (select * from foo)" with one distinction: list of query attributes should > be completed based on return type of foo(). For the result from foo() you must somewhere define attributes (names). Where? In CREATE FUNCTION statement? Possible must be: select name1, name2 from foo() where name1 > 10; What returns foo()? ...the pointer to HeapTuple or something like this or pointer to some temp table? > c) executor should support execution of such Query node, properly > extracting things out of function's return value and placing them into > result attributes. d) changes in fmgr e) SPI support for table building/filling inside foo() IMHO very cool and nice feature, but not easy for imlementation. Karel -- Karel Zak <zakkr@zf.jcu.cz>http://home.zf.jcu.cz/~zakkr/C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
В списке pgsql-hackers по дате отправления: