mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-18 00:54:19 +01:00
Support external aggregate functions wrapped in expressions
Handled in the same way as in `prepare_one_select_plan` for bare function calls. In `prepare_one_select_plan`, however, resolving external scalar functions is performed unnecessarily twice.
This commit is contained in:
@@ -153,6 +153,11 @@ def test_aggregates():
|
||||
validate_median,
|
||||
"median agg function works",
|
||||
)
|
||||
limbo.run_test_fn(
|
||||
"select CASE WHEN median(value) > 0 THEN median(value) ELSE 0 END from numbers;",
|
||||
validate_median,
|
||||
"median agg function wrapped in expression works",
|
||||
)
|
||||
limbo.execute_dot("INSERT INTO numbers (value) VALUES (8.0);\n")
|
||||
limbo.run_test_fn(
|
||||
"select median(value) from numbers;",
|
||||
@@ -184,6 +189,11 @@ def test_grouped_aggregates():
|
||||
lambda res: "2.0\n5.5" == res,
|
||||
"median aggregate function works",
|
||||
)
|
||||
limbo.run_test_fn(
|
||||
"select CASE WHEN median(value) > 0 THEN median(value) ELSE 0 END from numbers GROUP BY category;",
|
||||
lambda res: "2.0\n5.5" == res,
|
||||
"median aggregate function wrapped in expression works",
|
||||
)
|
||||
limbo.run_test_fn(
|
||||
"SELECT percentile(value, percent) FROM test GROUP BY category;",
|
||||
lambda res: "12.5\n30.0\n45.0\n70.0" == res,
|
||||
|
||||
Reference in New Issue
Block a user