Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Wiki Markup
--DDL
CREATE TABLE T (
    pk STRING PRIMARY KEY NOT ENFOCED,
    sum_field1 BIGINT,
    max_field1 BIGINT,
    default_field BIGINT ) 
WITH ( 
'merge-engine' = 'aggregation',
'fields.sum_field1.function'='sum',
'fields.max_field1.function'='max'
 'aggregate-function' = '\{
    sum_field1:sum,
    max_field1:max
  \}'   \-\- sum up all sum_field1 with same pk; get max value of all max_field1 with same pk
);

-- DML
INSERT INTO T VALUES ('pk1', 1, 1, 1);
INSERT INTO T VALUES ('pk1', 1, 1, NULL);
-- verify
SELECT * FROM T;
=> output 'pk1', 2, 2, NULL

...

The aggregate functions we propose to implement include sum, max/min, count, replacelast_ifnon_notnull_nullvalue, replacelast_value,   concatenatelistagg, bool_or/bool_and. These functions support different data types.

...