API provides interfaces to write assembly-style code programs for aggregation queries.
API pushes the program with a scan request to RonDB data nodes.
Data nodes scan the rows from a specific table, for each row it gets, executing the pushed down program to generate the aggregation results locally.
when the scan is done on data nodes, they send the local result back to API.
API gathers and merges the results to get the final aggregation results.
Current abilities:
a.Supported column type:
TINYINT
TINYINT UNSIGNED
SMALLINT
SMALLINT UNSIGNED
MEDIUMINT
MEDIUMINT UNSIGNED
INT
INT UNSIGNED
BIGINT
BIGINT UNSIGNED
FLOAT
DOUBLE
DECIMAL(Partially supported. Pushdown interpreter can load and parse DECIMAL column and try to convert it to BIGINT/BIGINT UNSIGNED/DOUBLE dynamically)
b.Supported arithmetic operator:
Addition
Subtraction
Multiplication
Division (DIV operator is supported. TODO: support / operator)
Modulus
c. Support group by operation
d. Support working with pushdown filter
e. Support working with table-scan, index-scan( and range-scan).
Description:
Current abilities: a.Supported column type:
b.Supported arithmetic operator:
c. Support group by operation
d. Support working with pushdown filter
e. Support working with table-scan, index-scan( and range-scan).