A ref change was pushed to the repository containing the project "Postgres-XC: write-scalable synchronous multi-master PostgreSQL cluster".
The branch, master has been updated
via 8326f6191831f73d8ee5cae845bc29c879f8ffb3 (commit)
from fd209fa492b16386f6a00b32dd1d9bf1353a172f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8326f6191831f73d8ee5cae845bc29c879f8ffb3
Author: Mason S <mas...@ma...>
Date: Thu May 13 14:21:44 2010 -0400
Added support for basic aggregate handling.
Aggregates with GROUP BY are not supported, nor are expressions of aggregates
like "2 * COUNT(*)". Such support will be added in the future.
PostgreSQL aggregates have two steps, a transition step, then a finalizer step.
Postgres-XC introduces a collection step. The Coordinator accepts the results
from the Data Node after the transition step, combines and applies the
finalizer step on the Coordinator.
This required extending the pg_aggregate table to handle the collector
functions with new columns:
aggcollectfn â the collection function. Column type is regproc, nulls are not allowed
aggcollecttype â the collection data type. Column type is oid, nulls are not allowed
agginitcollect â initial value for the collection function. Column type is text, nulls are allowed.
Below is the list of aggregate functions supported by Postgres-XC:
avg
sum
max
min
count
var_pop
var_samp
variance
stddev_pop
stddev_samp
stddev
regr_count
regr_sxx
regr_syy
regr_sxy
regr_avgx
regr_avgy
regr_r2
regr_slope
regr_intercept
covar_pop
covar_samp
corr
bool_and
bool_or
every
bit_and
bit_or
xmlagg
We are continuing to use blocks of #ifdef PGXC code for XC changes.
the genbki.sh script in src/backend/catalog was changed so that the
header files can be processed with or without PGXC defined.
Designed and written by Andrei Martsinchyk, with small modifications by me.
-----------------------------------------------------------------------
Summary of changes:
src/backend/catalog/genbki.sh | 19 ++
src/backend/catalog/pg_aggregate.c | 73 +++++++-
src/backend/commands/aggregatecmds.c | 49 +++++
src/backend/executor/nodeAgg.c | 5 +
src/backend/executor/nodeWindowAgg.c | 3 +-
src/backend/parser/parse_agg.c | 32 +++-
src/backend/pgxc/plan/planner.c | 233 ++++++++++++++++++----
src/backend/pgxc/pool/combiner.c | 356 +++++++++++++++++++++++-----------
src/backend/utils/adt/float.c | 130 ++++++++++++
src/backend/utils/adt/numeric.c | 117 +++++++++++-
src/backend/utils/adt/timestamp.c | 62 ++++++-
src/include/catalog/catversion.h | 4 +
src/include/catalog/duplicate_oids | 2 +-
src/include/catalog/pg_aggregate.h | 213 ++++++++++++++++++++
src/include/catalog/pg_proc.h | 14 ++
src/include/catalog/unused_oids | 2 +-
src/include/pgxc/combiner.h | 5 +
src/include/pgxc/planner.h | 54 +++++-
src/include/utils/builtins.h | 15 ++
src/include/utils/timestamp.h | 3 +
20 files changed, 1227 insertions(+), 164 deletions(-)
hooks/post-receive
--
Postgres-XC: write-scalable synchronous multi-master PostgreSQL cluster
|