mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-14 17:43:34 +08:00
This commit introduces a function `hypertable_osm_range_update` in the _timescaledb_functions schema. This function is meant to serve as an API call for the OSM extension to update the time range of a hypertable's OSM chunk with the min and max values present in the contiguous time range its tiered chunks span. If the range is not contiguous, then it must be set to the invalid range an OSM chunk is assigned upon creation. A new status field is also introduced in the hypertable catalog table to keep track of whether the ranges covered by tiered and non-tiered chunks overlap. When there is no overlap detected then it is possible to apply the Ordered Append optimization in the presence of OSM chunks.
15 lines
752 B
SQL
15 lines
752 B
SQL
-- This file and its contents are licensed under the Apache License 2.0.
|
|
-- Please see the included NOTICE for copyright information and
|
|
-- LICENSE-APACHE for a copy of the license.
|
|
|
|
-- This function updates the dimension slice range stored in the catalog with the min and max
|
|
-- values that the OSM chunk contains. Since there is only one OSM chunk per hypertable with
|
|
-- only a time dimension, the hypertable is used to determine the corresponding slice
|
|
CREATE OR REPLACE FUNCTION _timescaledb_functions.hypertable_osm_range_update(
|
|
hypertable REGCLASS,
|
|
range_start ANYELEMENT = NULL::bigint,
|
|
range_end ANYELEMENT = NULL,
|
|
empty BOOL = false
|
|
) RETURNS BOOL AS '@MODULE_PATHNAME@',
|
|
'ts_hypertable_osm_range_update' LANGUAGE C VOLATILE;
|