diff --git a/src/query/src/query_engine/state.rs b/src/query/src/query_engine/state.rs index ab63c6491a..54c6b85c7a 100644 --- a/src/query/src/query_engine/state.rs +++ b/src/query/src/query_engine/state.rs @@ -90,7 +90,15 @@ impl QueryEngineState { plugins: Plugins, ) -> Self { let runtime_env = Arc::new(RuntimeEnv::default()); - let session_config = SessionConfig::new().with_create_default_catalog_and_schema(false); + let mut session_config = SessionConfig::new().with_create_default_catalog_and_schema(false); + + // todo(hl): This serves as a workaround for https://github.com/GreptimeTeam/greptimedb/issues/5659 + // and we can add that check back once we upgrade datafusion. + session_config + .options_mut() + .execution + .skip_physical_aggregate_schema_check = true; + // Apply extension rules let mut extension_rules = Vec::new(); diff --git a/tests/cases/standalone/common/cte/cte.result b/tests/cases/standalone/common/cte/cte.result index c63ae6735f..48b0dfd4f1 100644 --- a/tests/cases/standalone/common/cte/cte.result +++ b/tests/cases/standalone/common/cte/cte.result @@ -130,3 +130,42 @@ drop table a; Affected Rows: 0 +CREATE TABLE grpc_latencies +( + ts TIMESTAMP TIME INDEX, + host VARCHAR(255), + latency FLOAT, + PRIMARY KEY (host), +); + +Affected Rows: 0 + +INSERT INTO grpc_latencies +VALUES ('2023-10-01 10:00:00', 'host1', 120), + ('2023-10-01 10:00:00', 'host2', 150), + ('2023-10-01 10:00:05', 'host1', 130); + +Affected Rows: 3 + +WITH latencies AS (SELECT ts, + host, + AVG(latency) RANGE '2s' AS avg_latency + FROM grpc_latencies ALIGN '2s' BY (host) FILL PREV + ) +SELECT latencies.ts, + AVG(latencies.avg_latency) +FROM latencies +GROUP BY latencies.ts ORDER BY latencies.ts; + ++---------------------+----------------------------+ +| ts | avg(latencies.avg_latency) | ++---------------------+----------------------------+ +| 2023-10-01T10:00:00 | 135.0 | +| 2023-10-01T10:00:02 | 120.0 | +| 2023-10-01T10:00:04 | 130.0 | ++---------------------+----------------------------+ + +DROP TABLE grpc_latencies; + +Affected Rows: 0 + diff --git a/tests/cases/standalone/common/cte/cte.sql b/tests/cases/standalone/common/cte/cte.sql index 0b190df11f..b3eda58fb5 100644 --- a/tests/cases/standalone/common/cte/cte.sql +++ b/tests/cases/standalone/common/cte/cte.sql @@ -49,3 +49,30 @@ from cte where alias2 > 0; drop table a; + + +CREATE TABLE grpc_latencies +( + ts TIMESTAMP TIME INDEX, + host VARCHAR(255), + latency FLOAT, + PRIMARY KEY (host), +); + +INSERT INTO grpc_latencies +VALUES ('2023-10-01 10:00:00', 'host1', 120), + ('2023-10-01 10:00:00', 'host2', 150), + ('2023-10-01 10:00:05', 'host1', 130); + + +WITH latencies AS (SELECT ts, + host, + AVG(latency) RANGE '2s' AS avg_latency + FROM grpc_latencies ALIGN '2s' BY (host) FILL PREV + ) +SELECT latencies.ts, + AVG(latencies.avg_latency) +FROM latencies +GROUP BY latencies.ts ORDER BY latencies.ts; + +DROP TABLE grpc_latencies;