Re: Function valid only for one table

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Function valid only for one table
Дата
Msg-id 18520.1084987999@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Function valid only for one table  (Martin Knipper <knipper@mk-os.de>)
Ответы Re: Function valid only for one table  (Martin Knipper <knipper@mk-os.de>)
Список pgsql-sql
Martin Knipper <knipper@mk-os.de> writes:
> I thought about a mixture of object orientation and a normal table
> for a relational database.
> someFunction() is a method for the object/table someTable.

Perhaps you could do what you want with functions accepting table
rowtypes.
create function someFunction(someTable) returns ...
select someFunction(t.*) from someTable t where ...-- works
select someFunction(t.*) from anotherTable t where ...-- fails
create function someFunction(anotherTable) returns ...
select someFunction(t.*) from someTable t where ...-- still works
select someFunction(t.*) from anotherTable t where ...-- now calls the second someFunction()

As of existing releases this doesn't scale well to large tables, because
passing a whole table row to a function leaks memory intraquery.  That
is fixed for 7.5 though.
        regards, tom lane


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

Предыдущее
От: Martin Knipper
Дата:
Сообщение: Re: Function valid only for one table
Следующее
От: "Jie Liang"
Дата:
Сообщение: rules