| From: | "Wang, Chaoyong" <Chaoyong(dot)Wang(at)emc(dot)com> | 
|---|---|
| To: | <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | problem when optimizing the window aggregation | 
| Date: | 2012-08-22 01:12:06 | 
| Message-ID: | 95FA8B25DB5E2D4E889EB9BEB6A6406F3CADFF@CORPUSMX30B.corp.emc.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Hi,
I'm trying to reduce the re-computing of window aggregation. Here the
AVG function for example.
The original window aggregation's transition value(transValue) of AVG is
an ArrayType, that contains two main values(sum, count). 
Now, I'm using a temporary transition value (tempTransValue), and I need
to copy tempTransValue to transValue.
I used the function datumCopy as following:
peraggstate->transValue = datumCopy(peraggstate->tempTransValue,
peraggstate->transtypeByVal, peraggstate->transtypeLen);
But when the copied transValue is passed to the invoke function, here is
int4_avg_accum, the ArrayType returned from PG_GETARG_ARRAYTYPE_P(0) is
null.
Which means the copy action is failed.
Anybody know why? Or give me some suggestions? Thanks very much.
Best Regards
Chaoyong Wang
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tatsuo Ishii | 2012-08-22 01:13:43 | Re: multi-master pgbench? | 
| Previous Message | Tatsuo Ishii | 2012-08-22 00:41:22 | Re: multi-master pgbench? |