mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-17 02:53:51 +08:00
Change the prefix for continuous aggregate tests from continuous_aggs_ to cagg_. This is similar to commit 6a8c2b66 which did this adjustment for isolation tests because we were running into length limitations for the spec name. This patch adjusts the remaining tests to be consistent with the naming used in isolation tests.
98 lines
2.9 KiB
SQL
98 lines
2.9 KiB
SQL
-- This file and its contents are licensed under the Timescale License.
|
|
-- Please see the included NOTICE for copyright information and
|
|
-- LICENSE-TIMESCALE for a copy of the license.
|
|
|
|
SELECT
|
|
format('include/%s_setup.sql', :'TEST_BASE_NAME') as "TEST_SETUP_NAME",
|
|
format('include/%s_query.sql', :'TEST_BASE_NAME') as "TEST_QUERY_NAME",
|
|
format('%s/shared/results/%s_results_source.out', :'TEST_OUTPUT_DIR', :'TEST_BASE_NAME') as "TEST_RESULTS_SOURCE",
|
|
format('%s/shared/results/%s_results_target.out', :'TEST_OUTPUT_DIR', :'TEST_BASE_NAME') as "TEST_RESULTS_TARGET"
|
|
\gset
|
|
SELECT format('\! diff -u --label "Source results" --label "Target results" %s %s', :'TEST_RESULTS_SOURCE', :'TEST_RESULTS_TARGET') as "DIFF_CMD"
|
|
\gset
|
|
|
|
-- Setup
|
|
\ir :TEST_SETUP_NAME
|
|
|
|
\o :TEST_RESULTS_SOURCE
|
|
\set TEST_TABLE1 'metrics_compressed_summary'
|
|
\set TEST_TABLE2 'devices'
|
|
\ir :TEST_QUERY_NAME
|
|
|
|
\set TEST_TABLE1 'metrics_compressed_summary'
|
|
\set TEST_TABLE2 'all_devices'
|
|
\ir :TEST_QUERY_NAME
|
|
\o
|
|
|
|
\o :TEST_RESULTS_TARGET
|
|
\set TEST_TABLE1 'metrics_summary'
|
|
\set TEST_TABLE2 'devices'
|
|
\ir :TEST_QUERY_NAME
|
|
|
|
\set TEST_TABLE1 'metrics_summary'
|
|
\set TEST_TABLE2 'all_devices'
|
|
\ir :TEST_QUERY_NAME
|
|
\o
|
|
|
|
-- Compare results of CAgg over Compressed and Uncompressed hypertables
|
|
:DIFF_CMD
|
|
|
|
\o :TEST_RESULTS_SOURCE
|
|
\set TEST_TABLE1 'metrics_compressed_summary'
|
|
\set TEST_TABLE2 'devices'
|
|
\ir :TEST_QUERY_NAME
|
|
|
|
\set TEST_TABLE1 'metrics_compressed_summary'
|
|
\set TEST_TABLE2 'all_devices'
|
|
\ir :TEST_QUERY_NAME
|
|
\o
|
|
|
|
\o :TEST_RESULTS_TARGET
|
|
\set TEST_TABLE1 '(SELECT device_id, time_bucket(INTERVAL $$1 week$$, time) AS bucket, AVG(v2), MIN(v2), MAX(v2) FROM metrics_compressed GROUP BY device_id, bucket)'
|
|
\set TEST_TABLE2 'devices'
|
|
\ir :TEST_QUERY_NAME
|
|
|
|
\set TEST_TABLE1 '(SELECT device_id, time_bucket(INTERVAL $$1 week$$, time) AS bucket, AVG(v2), MIN(v2), MAX(v2) FROM metrics_compressed GROUP BY device_id, bucket)'
|
|
\set TEST_TABLE2 'all_devices'
|
|
\ir :TEST_QUERY_NAME
|
|
\o
|
|
|
|
-- Compare results between CAggs and Original View (to check PG and TSDB machinery)
|
|
:DIFF_CMD
|
|
|
|
-- Decompres 1 chunk from cagg
|
|
SELECT CASE WHEN res is NULL THEN NULL
|
|
ELSE 'decompress'
|
|
END as dec
|
|
FROM ( SELECT decompress_chunk(ch) res FROM show_chunks('metrics_compressed_summary') ch ORDER BY ch LIMIT 1) q;
|
|
|
|
-- Run tests and compare results
|
|
\o :TEST_RESULTS_SOURCE
|
|
\set TEST_TABLE1 'metrics_compressed_summary'
|
|
\set TEST_TABLE2 'devices'
|
|
\ir :TEST_QUERY_NAME
|
|
|
|
\set TEST_TABLE1 'metrics_compressed_summary'
|
|
\set TEST_TABLE2 'all_devices'
|
|
\ir :TEST_QUERY_NAME
|
|
\o
|
|
|
|
\o :TEST_RESULTS_TARGET
|
|
\set TEST_TABLE1 'metrics_summary'
|
|
\set TEST_TABLE2 'devices'
|
|
\ir :TEST_QUERY_NAME
|
|
|
|
\set TEST_TABLE1 'metrics_summary'
|
|
\set TEST_TABLE2 'all_devices'
|
|
\ir :TEST_QUERY_NAME
|
|
\o
|
|
|
|
-- Compare results of CAgg (partial compressed) over Compressed hypertables
|
|
:DIFF_CMD
|
|
|
|
-- Teardown
|
|
DROP MATERIALIZED VIEW metrics_compressed_summary;
|
|
DROP MATERIALIZED VIEW metrics_summary;
|
|
DROP VIEW all_devices;
|
|
DROP TABLE extra_devices;
|