-
Notifications
You must be signed in to change notification settings - Fork 851
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove explicit schema for time_bucket
`public` schema may not exist or the user may be installing the extension to a different schema other than public, so like the rest of our public API functions it should be left implicit rather than assume `public`.
- Loading branch information
1 parent
04d01ce
commit fb5717f
Showing
2 changed files
with
28 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,70 +1,68 @@ | ||
-- time_bucket returns the left edge of the bucket where ts falls into. | ||
-- time_bucket returns the left edge of the bucket where ts falls into. | ||
-- Buckets span an interval of time equal to the bucket_width and are aligned with the epoch. | ||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INTERVAL, ts TIMESTAMP) RETURNS TIMESTAMP | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INTERVAL, ts TIMESTAMP) RETURNS TIMESTAMP | ||
AS '$libdir/timescaledb', 'timestamp_bucket' LANGUAGE C IMMUTABLE PARALLEL SAFE; | ||
|
||
-- bucketing of timestamptz happens at UTC time | ||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INTERVAL, ts TIMESTAMPTZ) RETURNS TIMESTAMPTZ | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INTERVAL, ts TIMESTAMPTZ) RETURNS TIMESTAMPTZ | ||
AS '$libdir/timescaledb', 'timestamptz_bucket' LANGUAGE C IMMUTABLE PARALLEL SAFE; | ||
|
||
--bucketing on date should not do any timezone conversion | ||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INTERVAL, ts DATE) RETURNS DATE | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INTERVAL, ts DATE) RETURNS DATE | ||
AS '$libdir/timescaledb', 'date_bucket' LANGUAGE C IMMUTABLE PARALLEL SAFE; | ||
|
||
-- If an interval is given as the third argument, the bucket alignment is offset by the interval. | ||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INTERVAL, ts TIMESTAMP, "offset" INTERVAL) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INTERVAL, ts TIMESTAMP, "offset" INTERVAL) | ||
RETURNS TIMESTAMP LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT public.time_bucket(bucket_width, ts-"offset")+"offset"; | ||
SELECT time_bucket(bucket_width, ts-"offset")+"offset"; | ||
$BODY$; | ||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INTERVAL, ts TIMESTAMPTZ, "offset" INTERVAL) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INTERVAL, ts TIMESTAMPTZ, "offset" INTERVAL) | ||
RETURNS TIMESTAMPTZ LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT public.time_bucket(bucket_width, ts-"offset")+"offset"; | ||
SELECT time_bucket(bucket_width, ts-"offset")+"offset"; | ||
$BODY$; | ||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INTERVAL, ts DATE, "offset" INTERVAL) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INTERVAL, ts DATE, "offset" INTERVAL) | ||
RETURNS DATE LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT (public.time_bucket(bucket_width, ts-"offset")+"offset")::date; | ||
SELECT (time_bucket(bucket_width, ts-"offset")+"offset")::date; | ||
$BODY$; | ||
|
||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width BIGINT, ts BIGINT) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width BIGINT, ts BIGINT) | ||
RETURNS BIGINT LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT (ts / bucket_width)*bucket_width; | ||
$BODY$; | ||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INT, ts INT) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INT, ts INT) | ||
RETURNS INT LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT (ts / bucket_width)*bucket_width; | ||
$BODY$; | ||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width SMALLINT, ts SMALLINT) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width SMALLINT, ts SMALLINT) | ||
RETURNS SMALLINT LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT (ts / bucket_width)*bucket_width; | ||
$BODY$; | ||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width BIGINT, ts BIGINT, "offset" BIGINT) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width BIGINT, ts BIGINT, "offset" BIGINT) | ||
RETURNS BIGINT LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT (((ts-"offset") / bucket_width)*bucket_width)+"offset"; | ||
$BODY$; | ||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width INT, ts INT, "offset" INT) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width INT, ts INT, "offset" INT) | ||
RETURNS INT LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT (((ts-"offset") / bucket_width)*bucket_width)+"offset"; | ||
$BODY$; | ||
|
||
CREATE OR REPLACE FUNCTION public.time_bucket(bucket_width SMALLINT, ts SMALLINT, "offset" SMALLINT) | ||
CREATE OR REPLACE FUNCTION time_bucket(bucket_width SMALLINT, ts SMALLINT, "offset" SMALLINT) | ||
RETURNS SMALLINT LANGUAGE SQL IMMUTABLE PARALLEL SAFE AS | ||
$BODY$ | ||
SELECT (((ts-"offset") / bucket_width)*bucket_width)+"offset"; | ||
$BODY$; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
DROP FUNCTION public.time_bucket(INTERVAL, TIMESTAMP); | ||
DROP FUNCTION public.time_bucket(INTERVAL, TIMESTAMPTZ); | ||
DROP FUNCTION public.time_bucket(INTERVAL, DATE); | ||
DROP FUNCTION public.time_bucket(INTERVAL, TIMESTAMP, INTERVAL); | ||
DROP FUNCTION public.time_bucket(INTERVAL, TIMESTAMPTZ, INTERVAL); | ||
DROP FUNCTION public.time_bucket(INTERVAL, DATE, INTERVAL); | ||
DROP FUNCTION public.time_bucket(BIGINT, BIGINT); | ||
DROP FUNCTION public.time_bucket(INT, INT); | ||
DROP FUNCTION public.time_bucket(SMALLINT, SMALLINT); | ||
DROP FUNCTION public.time_bucket(BIGINT, BIGINT, BIGINT); | ||
DROP FUNCTION public.time_bucket(INT, INT, INT); | ||
DROP FUNCTION public.time_bucket(SMALLINT, SMALLINT, SMALLINT); |