mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-09-26 15:15:34 +00:00
* feat!: upgrade DataFusion dependencies to 55 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * refactor: migrate DataFusion 55 APIs Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: preserve table function planning behavior Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: preserve PostgreSQL query compatibility Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: preserve distributed execution plan behavior Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: cover DataFusion 55 behavior regressions Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: update DataFusion 55 SQLness expectations Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: complete DataFusion 55 test API migration Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: address DataFusion 55 CI regressions Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: address remaining DataFusion 55 regressions Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: adapt latest base code to DataFusion 55 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: normalize environment-specific DataFusion 55 plans Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: align final DataFusion 55 expectations Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: isolate DataFusion 55 regression cases Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: preserve empty result schema in timestamp widening Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: preserve JSON source column order Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * chore: use released DataFusion 55 integrations Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: adapt latest execution plan mock to DataFusion 55 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: pin DataFusion recursive schema and date repairs Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix(promql): align dictionary temporality match keys Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: retain Greptime DataFusion fork behaviors on version 55 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: restore ordinary function error expectations Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: refresh distributed count compatibility plan Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix(query): adapt last-row cast hint to DataFusion 55 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: refresh instant last-row empty results for Arrow 59 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * style: simplify DataFusion expression visitor imports Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: restore sorting and PostgreSQL column-order assertions Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix(function): restore primitive numeric coercion signatures Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * refactor(function): share geo integer signature types Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: cover timestamp widening overflow boundaries Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: fix decimal coercion regression imports Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix(function): preserve scalar count_hash NULL state semantics Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: simplify decimal clamp case type inference Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: retain historical count_hash wrapper result Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: restore timestamp widening equality and IN pruning Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: carry upstream aggregate dynamic filter correctness fix Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: carry upstream null and predicate simplification fixes Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: restore baseline JSON ordering expectations Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: restore histogram JSON ordering expectations Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: refresh empty PromQL range result schemas Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: align native timestamp plan with DF55 decimal display Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: refresh native timestamp SQLness results for DF55 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: regenerate NULL sample empty result headers for DF55 Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: use DF55 child replacement API in timestamp regressions Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: expose pushed scan dynamic filters to DF55 producers Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: encode string-backed PostgreSQL OID aliases in binary results Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: verify REGPROC binary and text over PostgreSQL protocol Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: register real PostgreSQL catalogs in server fixtures Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: complete DF55 expression inventories for custom query plans Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: correct RangeSelect expression fixture and column identities Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * ci: wait for Kafka WAL helper deployment rollout Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * test: update custom storage empty result headers Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: require exact row counts in scan statistics Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> * fix: suppress deprecated partition_statistics warning in test Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> --------- Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> Co-authored-by: Ning Sun <sunng@protonmail.com>
81 lines
2.1 KiB
SQL
81 lines
2.1 KiB
SQL
CREATE TABLE view_metrics (
|
|
host STRING,
|
|
"region" STRING,
|
|
"value" INT,
|
|
event_ts TIMESTAMP TIME INDEX,
|
|
PRIMARY KEY (host)
|
|
);
|
|
|
|
INSERT INTO view_metrics VALUES
|
|
('alpha', 'east', 10, '2024-01-01 00:00:00'),
|
|
('beta', 'east', NULL, '2024-01-01 00:01:00'),
|
|
('gamma', 'west', 30, '2024-01-01 00:02:00'),
|
|
('delta', 'west', 5, '2024-01-01 00:03:00');
|
|
|
|
CREATE TABLE view_labels (
|
|
host STRING,
|
|
label STRING,
|
|
enabled BOOLEAN,
|
|
label_ts TIMESTAMP TIME INDEX,
|
|
PRIMARY KEY (host)
|
|
);
|
|
|
|
INSERT INTO view_labels VALUES
|
|
('alpha', 'production', TRUE, '2024-01-01 00:00:00'),
|
|
('beta', 'staging', NULL, '2024-01-01 00:01:00'),
|
|
('gamma', NULL, FALSE, '2024-01-01 00:02:00'),
|
|
('orphan', 'unused', TRUE, '2024-01-01 00:03:00');
|
|
|
|
CREATE VIEW persisted_scan_filter AS
|
|
SELECT
|
|
host AS host_name,
|
|
value AS metric_value,
|
|
CAST(event_ts AS TIMESTAMP(3)) AS event_time
|
|
FROM view_metrics
|
|
WHERE value IS NOT NULL AND value >= 10;
|
|
|
|
CREATE VIEW persisted_grouped_aggregate AS
|
|
SELECT
|
|
"region" AS region_name,
|
|
COUNT(*) AS row_count,
|
|
SUM(value) AS value_sum,
|
|
AVG(value) AS value_avg
|
|
FROM view_metrics
|
|
GROUP BY "region";
|
|
|
|
CREATE VIEW persisted_union AS
|
|
SELECT host AS host_name, "region" AS region_name
|
|
FROM view_metrics
|
|
WHERE "region" = 'east'
|
|
UNION
|
|
SELECT host AS host_name, "region" AS region_name
|
|
FROM view_metrics
|
|
WHERE host = 'beta'
|
|
UNION ALL
|
|
SELECT host AS host_name, "region" AS region_name
|
|
FROM view_metrics
|
|
WHERE host = 'beta';
|
|
|
|
CREATE VIEW persisted_inner_join AS
|
|
SELECT
|
|
metrics.host AS host_name,
|
|
metrics.value AS metric_value,
|
|
labels.label AS label_name
|
|
FROM view_metrics AS metrics
|
|
INNER JOIN view_labels AS labels ON metrics.host = labels.host
|
|
WHERE metrics.value IS NOT NULL OR labels.enabled IS NULL;
|
|
|
|
CREATE VIEW persisted_window AS
|
|
SELECT
|
|
"region" AS region_name,
|
|
host AS host_name,
|
|
event_ts AS event_time,
|
|
ROW_NUMBER() OVER (PARTITION BY "region" ORDER BY event_ts) AS row_num
|
|
FROM view_metrics;
|
|
|
|
CREATE VIEW persisted_date_format AS
|
|
SELECT
|
|
host AS host_name,
|
|
date_format(event_ts, '%Y-%m-%d') AS event_day
|
|
FROM view_metrics;
|