timescaledb/test/sql/histogram_test.sql.in
Fabrízio de Royes Mello a409065285 PG16: Prohibit use of multi-node
Since multi-node is not supported on PG16, add errors to multi-node
functions when run on this PostgreSQL version.
2023-10-18 11:45:06 -03:00

79 lines
2.8 KiB
MySQL

-- 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.
-- table 1
CREATE TABLE "hitest1"(key real, val varchar(40));
-- insertions
INSERT INTO "hitest1" VALUES(0, 'hi');
INSERT INTO "hitest1" VALUES(1, 'sup');
INSERT INTO "hitest1" VALUES(2, 'hello');
INSERT INTO "hitest1" VALUES(3, 'yo');
INSERT INTO "hitest1" VALUES(4, 'howdy');
INSERT INTO "hitest1" VALUES(5, 'hola');
INSERT INTO "hitest1" VALUES(6, 'ya');
INSERT INTO "hitest1" VALUES(1, 'sup');
INSERT INTO "hitest1" VALUES(2, 'hello');
INSERT INTO "hitest1" VALUES(1, 'sup');
-- table 2
CREATE TABLE "hitest2"(name varchar(30), score integer, qualify boolean);
-- insertions
INSERT INTO "hitest2" VALUES('Tom', 6, TRUE);
INSERT INTO "hitest2" VALUES('Mary', 4, FALSE);
INSERT INTO "hitest2" VALUES('Jaq', 3, FALSE);
INSERT INTO "hitest2" VALUES('Jane', 10, TRUE);
-- standard 2 bucket
SELECT histogram(key, 0, 9, 2) FROM hitest1;
-- standard multi-bucket
SELECT histogram(key, 0, 9, 5) FROM hitest1;
-- standard 3 bucket
SELECT val, histogram(key, 0, 7, 3) FROM hitest1 GROUP BY val ORDER BY val;
-- standard element beneath lb
SELECT histogram(key, 1, 7, 3) FROM hitest1;
-- standard element above ub
SELECT histogram(key, 0, 3, 3) FROM hitest1;
-- standard element beneath and above lb and ub, respectively
SELECT histogram(key, 1, 3, 2) FROM hitest1;
-- standard 1 bucket
SELECT histogram(key, 1, 3, 1) FROM hitest1;
-- standard 2 bucket
SELECT qualify, histogram(score, 0, 10, 2) FROM hitest2 GROUP BY qualify ORDER BY qualify;
-- standard multi-bucket
SELECT qualify, histogram(score, 0, 10, 5) FROM hitest2 GROUP BY qualify ORDER BY qualify;
-- check number of buckets is constant
\set ON_ERROR_STOP 0
select histogram(i,10,90,case when i=1 then 1 else 1000000 end) FROM generate_series(1,100) i;
\set ON_ERROR_STOP 1
CREATE TABLE weather (
time TIMESTAMPTZ NOT NULL,
city TEXT,
temperature FLOAT,
PRIMARY KEY(time, city)
);
-- There is a bug in width_bucket() causing a NaN as a result, so we
-- check that it is not causing a crash in histogram().
SELECT * FROM create_hypertable('weather', 'time', 'city', 3);
INSERT INTO weather VALUES
('2023-02-10 09:16:51.133584+00','city1',10.4),
('2023-02-10 11:16:51.611618+00','city1',10.3),
('2023-02-10 06:58:59.999999+00','city1',10.3),
('2023-02-10 01:58:59.999999+00','city1',10.3),
('2023-02-09 01:58:59.999999+00','city1',10.3),
('2023-02-10 08:58:59.999999+00','city1',10.3),
('2023-03-23 06:12:02.73765+00 ','city1', 9.7),
('2023-03-23 06:12:06.990998+00','city1',11.7);
-- This will currently generate an error on PG15 and prior versions
\set ON_ERROR_STOP 0
SELECT histogram(temperature, -1.79769e+308, 1.79769e+308,10) FROM weather GROUP BY city;
\set ON_ERROR_STOP 1