Re: TODO items for window functions

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: TODO items for window functions
Дата
Msg-id 8930.1230569991@sss.pgh.pa.us
обсуждение исходный текст
Ответ на TODO items for window functions  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: TODO items for window functions  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Re: TODO items for window functions  (Andrew Dunstan <andrew@dunslane.net>)
Re: TODO items for window functions  ("Jaime Casanova" <jcasanov@systemguards.com.ec>)
Список pgsql-hackers
I wrote:
> * Support creation of user-defined window functions.  I think this is
> a "must have" for 8.4 --- we are not in the habit of building
> nonextensible basic features.  It doesn't seem that hard either.
> I think all we need do is to allow "WINDOW" as an attribute keyword
> in CREATE FUNCTION.  Does anyone have an objection or a better idea?

What I had in mind when I wrote that was something like
create [or replace] function mywindow(...) returns ...    as 'mymodule, 'mywindow'    language c    window;

but on reflection there seems to be a case also for
create [or replace] window function mywindow(...) returns ...    as 'mymodule, 'mywindow'    language c;

The main argument in favor of the latter is that window-ness will need
to be a fixed property of a function that you can't change except by
dropping and recreating it, because any existing views calling the
function will have its window-ness embedded in them in the form of
whether they use a FuncExpr or WindowFunc node to call it.  So it
doesn't feel quite like an optional attribute.

However, if we do that then for consistency we'd have to invent
DROP WINDOW FUNCTION, ALTER WINDOW FUNCTION, RENAME WINDOW FUNCTION,
COMMENT ON WINDOW FUNCTION, yadda yadda, and insist that you refer
to a function properly (with or without WINDOW) in each one of these
commands.  Which would be a real PITA to implement and document,
and I can't see that it's doing anything much for users either.

So I'm still leaning to the first way.  Comments?
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Следующее
От: "Pavel Stehule"
Дата:
Сообщение: Re: plpgsql: numeric assignment to an integer variable errors out