@@ -1657,7 +1657,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt > '2010-12-15';
16571657CREATE TABLE test.tmp (id INTEGER NOT NULL, value INTEGER NOT NULL);
16581658INSERT INTO test.tmp VALUES (1, 1), (2, 2);
16591659/* Test UPDATE and DELETE */
1660- EXPLAIN (COSTS OFF) UPDATE test.range_rel SET value = 111 WHERE dt = '2010-06-15';
1660+ EXPLAIN (COSTS OFF) UPDATE test.range_rel SET value = 111 WHERE dt = '2010-06-15'; /* have partitions for this 'dt' */
16611661 QUERY PLAN
16621662--------------------------------------------------------------------------------
16631663 Update on range_rel_6
@@ -1672,7 +1672,7 @@ SELECT * FROM test.range_rel WHERE dt = '2010-06-15';
16721672 166 | Tue Jun 15 00:00:00 2010 | 111
16731673(1 row)
16741674
1675- EXPLAIN (COSTS OFF) DELETE FROM test.range_rel WHERE dt = '2010-06-15';
1675+ EXPLAIN (COSTS OFF) DELETE FROM test.range_rel WHERE dt = '2010-06-15'; /* have partitions for this 'dt' */
16761676 QUERY PLAN
16771677--------------------------------------------------------------------------------
16781678 Delete on range_rel_6
@@ -1686,6 +1686,34 @@ SELECT * FROM test.range_rel WHERE dt = '2010-06-15';
16861686----+----+-------
16871687(0 rows)
16881688
1689+ EXPLAIN (COSTS OFF) UPDATE test.range_rel SET value = 222 WHERE dt = '1990-01-01'; /* no partitions for this 'dt' */
1690+ QUERY PLAN
1691+ --------------------------------------------------------------------------------
1692+ Update on range_rel
1693+ -> Seq Scan on range_rel
1694+ Filter: (dt = 'Mon Jan 01 00:00:00 1990'::timestamp without time zone)
1695+ (3 rows)
1696+
1697+ UPDATE test.range_rel SET value = 111 WHERE dt = '1990-01-01';
1698+ SELECT * FROM test.range_rel WHERE dt = '1990-01-01';
1699+ id | dt | value
1700+ ----+----+-------
1701+ (0 rows)
1702+
1703+ EXPLAIN (COSTS OFF) DELETE FROM test.range_rel WHERE dt < '1990-01-01'; /* no partitions for this 'dt' */
1704+ QUERY PLAN
1705+ --------------------------------------------------------------------------------
1706+ Delete on range_rel
1707+ -> Seq Scan on range_rel
1708+ Filter: (dt < 'Mon Jan 01 00:00:00 1990'::timestamp without time zone)
1709+ (3 rows)
1710+
1711+ DELETE FROM test.range_rel WHERE dt < '1990-01-01';
1712+ SELECT * FROM test.range_rel WHERE dt < '1990-01-01';
1713+ id | dt | value
1714+ ----+----+-------
1715+ (0 rows)
1716+
16891717EXPLAIN (COSTS OFF) UPDATE test.range_rel r SET value = t.value FROM test.tmp t WHERE r.dt = '2010-01-01' AND r.id = t.id;
16901718 QUERY PLAN
16911719--------------------------------------------------------------------------------------------
0 commit comments