Skip to content

Commit ac2bf15

Browse files
committed
feat(cubesql): SQL push down for several ANSI SQL functions
1 parent 1b37f23 commit ac2bf15

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

packages/cubejs-schema-compiler/src/adapter/BaseQuery.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2429,6 +2429,10 @@ class BaseQuery {
24292429
COUNT: 'COUNT({{ args_concat }})',
24302430
COUNT_DISTINCT: 'COUNT(DISTINCT {{ args_concat }})',
24312431
AVG: 'AVG({{ args_concat }})',
2432+
STDDEV_POP: 'STDDEV_POP({{ args_concat }})',
2433+
STDDEV_SAMP: 'STDDEV_SAMP({{ args_concat }})',
2434+
VAR_POP: 'VAR_POP({{ args_concat }})',
2435+
VAR_SAMP: 'VAR_SAMP({{ args_concat }})',
24322436

24332437
COALESCE: 'COALESCE({{ args_concat }})',
24342438
CONCAT: 'CONCAT({{ args_concat }})',
@@ -2440,6 +2444,23 @@ class BaseQuery {
24402444
UPPER: 'UPPER({{ args_concat }})',
24412445
LEFT: 'LEFT({{ args_concat }})',
24422446
RIGHT: 'RIGHT({{ args_concat }})',
2447+
SQRT: 'SQRT({{ args_concat }})',
2448+
ABS: 'ABS({{ args_concat }})',
2449+
ACOS: 'ACOS({{ args_concat }})',
2450+
ASIN: 'ASIN({{ args_concat }})',
2451+
ATAN: 'ATAN({{ args_concat }})',
2452+
COS: 'COS({{ args_concat }})',
2453+
EXP: 'EXP({{ args_concat }})',
2454+
LN: 'LN({{ args_concat }})',
2455+
LOG: 'LOG({{ args_concat }})',
2456+
PI: 'PI()',
2457+
POWER: 'POWER({{ args_concat }})',
2458+
SIN: 'SIN({{ args_concat }})',
2459+
TAN: 'TAN({{ args_concat }})',
2460+
REPEAT: 'REPEAT({{ args_concat }})',
2461+
2462+
STDDEV: 'STDDEV_SAMP({{ args_concat }})',
2463+
SUBSTR: 'SUBSTRING({{ args_concat }})',
24432464
},
24442465
statements: {
24452466
select: 'SELECT {{ select_concat | map(attribute=\'aliased\') | join(\', \') }} \n' +

rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,7 @@ impl CubeScanWrapperNode {
10341034
DataType::UInt64 => "INTEGER",
10351035
DataType::Float16 => "FLOAT",
10361036
DataType::Float32 => "FLOAT",
1037-
DataType::Float64 => "DOUBLE",
1037+
DataType::Float64 => "DOUBLE PRECISION",
10381038
DataType::Timestamp(_, _) => "TIMESTAMP",
10391039
DataType::Date32 => "DATE",
10401040
DataType::Date64 => "DATE",

0 commit comments

Comments
 (0)