mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-22 05:31:41 +08:00
In order to keep the number of supported PG versions more managable remove support for PG13.
50 lines
1.7 KiB
PL/PgSQL
50 lines
1.7 KiB
PL/PgSQL
-- 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.
|
|
|
|
\o /dev/null
|
|
\ir include/insert_two_partitions.sql
|
|
\o
|
|
|
|
SELECT * FROM "two_Partitions" ORDER BY "timeCustom", device_id, series_0, series_1;
|
|
|
|
DELETE FROM "two_Partitions" WHERE series_0 = 1.5;
|
|
DELETE FROM "two_Partitions" WHERE series_0 = 100;
|
|
SELECT * FROM "two_Partitions" ORDER BY "timeCustom", device_id, series_0, series_1;
|
|
|
|
-- Make sure DELETE isn't optimized if it includes Append plans
|
|
-- Need to turn of nestloop to make append appear the same on PG96 and PG10
|
|
set enable_nestloop = 'off';
|
|
|
|
CREATE OR REPLACE FUNCTION series_val()
|
|
RETURNS integer LANGUAGE PLPGSQL STABLE AS
|
|
$BODY$
|
|
BEGIN
|
|
RETURN 5;
|
|
END;
|
|
$BODY$;
|
|
|
|
-- ConstraintAwareAppend applied for SELECT
|
|
EXPLAIN (costs off)
|
|
SELECT FROM "two_Partitions"
|
|
WHERE series_1 IN (SELECT series_1 FROM "two_Partitions" WHERE series_1 > series_val());
|
|
|
|
-- ConstraintAwareAppend NOT applied for DELETE
|
|
EXPLAIN (costs off)
|
|
DELETE FROM "two_Partitions"
|
|
WHERE series_1 IN (SELECT series_1 FROM "two_Partitions" WHERE series_1 > series_val());
|
|
|
|
|
|
SELECT * FROM "two_Partitions" ORDER BY "timeCustom", device_id, series_0, series_1;
|
|
BEGIN;
|
|
DELETE FROM "two_Partitions"
|
|
WHERE series_1 IN (SELECT series_1 FROM "two_Partitions" WHERE series_1 > series_val());
|
|
SELECT * FROM "two_Partitions" ORDER BY "timeCustom", device_id, series_0, series_1;
|
|
ROLLBACK;
|
|
|
|
BEGIN;
|
|
DELETE FROM "two_Partitions"
|
|
WHERE series_1 IN (SELECT series_1 FROM "two_Partitions" WHERE series_1 > series_val()) RETURNING "timeCustom";
|
|
SELECT * FROM "two_Partitions" ORDER BY "timeCustom", device_id, series_0, series_1;
|
|
ROLLBACK;
|