From: | "Hitoshi Harada" <umi(dot)tanuki(at)gmail(dot)com> |
---|---|
To: | "Greg Stark" <greg(dot)stark(at)enterprisedb(dot)com> |
Cc: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Gregory Stark" <stark(at)enterprisedb(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Window-functions patch handling of aggregates |
Date: | 2008-12-25 10:49:37 |
Message-ID: | e08cc0400812250249n325d26c1m399f1c7bf34cd5f7@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2008/12/25 Greg Stark <greg(dot)stark(at)enterprisedb(dot)com>:
> Yeah, it seems like adding a flag like iswindowable to aggregate functions
> is the safest option.
>
> It would be nice if it represented an abstract property of the state
> function or final function rather than just "works with the implementation
> of window functions". I'm not sure what that property is though -
> isidempotent? isreentrant? Maybe just a vague isrepeatable?
No, I meant wrinting such like:
Datum
some_trans_fn(PG_FUNCTION_ARGS)
{
if (fcinfo->context && IsA(fcinfo->context, WindowAggState))
elog(ERROR, "some_agg does not support window aggregate");
...
}
rather than adding column to catalog. To add flag you must add new
syntax for CREATE AGGREGATE, which is slightly more painful.
Regards,
--
Hitoshi Harada
From | Date | Subject | |
---|---|---|---|
Next Message | KaiGai Kohei | 2008-12-25 11:34:48 | Updates of SE-PostgreSQL 8.4devel patches (r1348) |
Previous Message | Greg Stark | 2008-12-25 09:08:29 | Re: Window-functions patch handling of aggregates |