I need to do some OLAP stuff, and I asked previously if there were a way to pass multiple parameters to an aggrigate function. i.e.: select mycube(value1, value2, value3) from table group by value1; I looked through the code and it is non-trivial to do, one would have to alter the grammar to include a number of parameters, I guess something like this: create aggregate (sfunc = myfunct, sfuncnargs=3, stype = int4, basetype1 = int4, basetype2 = int4, ....); Then change the catalog, and the execution, arrg! (God I wish I could spend the time I want on PostgreSQL! ) Anyway, short of that.... If I do this: select mycube(value1) as d1, dimention(value2) as d2, dimention(value3) as d3 group by value1; Can I safely assume the following: (1) mycube() will be called first (2) Assuming dimention() has no final func, that final func of mycube() will be called last. ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster