mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
This changes the license text for SQL files to be identical with the license text for C files.
53 lines
2.4 KiB
SQL
53 lines
2.4 KiB
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 file is meant to contain aggregate functions that need to be created only
|
|
-- once and not recreated during updates.
|
|
-- There is no CREATE OR REPLACE AGGREGATE which means that the only way to replace
|
|
-- an aggregate is to DROP then CREATE which is problematic as it will fail
|
|
-- if the previous version of the aggregate has dependencies.
|
|
-- NOTE that WHEN CREATING NEW FUNCTIONS HERE you should also make sure they are
|
|
-- created in an update script so that both new users and people updating from a
|
|
-- previous version get the new function
|
|
|
|
|
|
--This aggregate returns the "first" element of the first argument when ordered by the second argument.
|
|
--Ex. first(temp, time) returns the temp value for the row with the lowest time
|
|
CREATE AGGREGATE first(anyelement, "any") (
|
|
SFUNC = _timescaledb_internal.first_sfunc,
|
|
STYPE = internal,
|
|
COMBINEFUNC = _timescaledb_internal.first_combinefunc,
|
|
SERIALFUNC = _timescaledb_internal.bookend_serializefunc,
|
|
DESERIALFUNC = _timescaledb_internal.bookend_deserializefunc,
|
|
PARALLEL = SAFE,
|
|
FINALFUNC = _timescaledb_internal.bookend_finalfunc,
|
|
FINALFUNC_EXTRA
|
|
);
|
|
|
|
--This aggregate returns the "last" element of the first argument when ordered by the second argument.
|
|
--Ex. last(temp, time) returns the temp value for the row with highest time
|
|
CREATE AGGREGATE last(anyelement, "any") (
|
|
SFUNC = _timescaledb_internal.last_sfunc,
|
|
STYPE = internal,
|
|
COMBINEFUNC = _timescaledb_internal.last_combinefunc,
|
|
SERIALFUNC = _timescaledb_internal.bookend_serializefunc,
|
|
DESERIALFUNC = _timescaledb_internal.bookend_deserializefunc,
|
|
PARALLEL = SAFE,
|
|
FINALFUNC = _timescaledb_internal.bookend_finalfunc,
|
|
FINALFUNC_EXTRA
|
|
);
|
|
|
|
-- This aggregate partitions the dataset into a specified number of buckets (nbuckets) ranging
|
|
-- from the inputted min to max values.
|
|
CREATE AGGREGATE histogram (DOUBLE PRECISION, DOUBLE PRECISION, DOUBLE PRECISION, INTEGER) (
|
|
SFUNC = _timescaledb_internal.hist_sfunc,
|
|
STYPE = INTERNAL,
|
|
COMBINEFUNC = _timescaledb_internal.hist_combinefunc,
|
|
SERIALFUNC = _timescaledb_internal.hist_serializefunc,
|
|
DESERIALFUNC = _timescaledb_internal.hist_deserializefunc,
|
|
PARALLEL = SAFE,
|
|
FINALFUNC = _timescaledb_internal.hist_finalfunc,
|
|
FINALFUNC_EXTRA
|
|
);
|