@@ -1653,114 +1653,13 @@ EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt > '2010-12-15';
16531653 -> Seq Scan on range_rel_14
16541654(4 rows)
16551655
1656- /* Temporary table for JOINs */
1657- CREATE TABLE test.tmp (id INTEGER NOT NULL, value INTEGER NOT NULL);
1658- INSERT INTO test.tmp VALUES (1, 1), (2, 2);
1659- /* Test UPDATE and DELETE */
1660- EXPLAIN (COSTS OFF) UPDATE test.range_rel SET value = 111 WHERE dt = '2010-06-15'; /* have partitions for this 'dt' */
1661- QUERY PLAN
1662- --------------------------------------------------------------------------------
1663- Update on range_rel_6
1664- -> Seq Scan on range_rel_6
1665- Filter: (dt = 'Tue Jun 15 00:00:00 2010'::timestamp without time zone)
1666- (3 rows)
1667-
1668- UPDATE test.range_rel SET value = 111 WHERE dt = '2010-06-15';
1669- SELECT * FROM test.range_rel WHERE dt = '2010-06-15';
1670- id | dt | value
1671- -----+--------------------------+-------
1672- 166 | Tue Jun 15 00:00:00 2010 | 111
1673- (1 row)
1674-
1675- EXPLAIN (COSTS OFF) DELETE FROM test.range_rel WHERE dt = '2010-06-15'; /* have partitions for this 'dt' */
1676- QUERY PLAN
1677- --------------------------------------------------------------------------------
1678- Delete on range_rel_6
1679- -> Seq Scan on range_rel_6
1680- Filter: (dt = 'Tue Jun 15 00:00:00 2010'::timestamp without time zone)
1681- (3 rows)
1682-
1683- DELETE FROM test.range_rel WHERE dt = '2010-06-15';
1684- SELECT * FROM test.range_rel WHERE dt = '2010-06-15';
1685- id | dt | value
1686- ----+----+-------
1687- (0 rows)
1688-
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-
1717- EXPLAIN (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;
1718- QUERY PLAN
1719- --------------------------------------------------------------------------------------------
1720- Update on range_rel_1 r
1721- -> Hash Join
1722- Hash Cond: (t.id = r.id)
1723- -> Seq Scan on tmp t
1724- -> Hash
1725- -> Index Scan using range_rel_1_pkey on range_rel_1 r
1726- Filter: (dt = 'Fri Jan 01 00:00:00 2010'::timestamp without time zone)
1727- (7 rows)
1728-
1729- UPDATE test.range_rel r SET value = t.value FROM test.tmp t WHERE r.dt = '2010-01-01' AND r.id = t.id;
1730- EXPLAIN (COSTS OFF) DELETE FROM test.range_rel r USING test.tmp t WHERE r.dt = '2010-01-02' AND r.id = t.id;
1731- QUERY PLAN
1732- --------------------------------------------------------------------------------------------
1733- Delete on range_rel_1 r
1734- -> Hash Join
1735- Hash Cond: (t.id = r.id)
1736- -> Seq Scan on tmp t
1737- -> Hash
1738- -> Index Scan using range_rel_1_pkey on range_rel_1 r
1739- Filter: (dt = 'Sat Jan 02 00:00:00 2010'::timestamp without time zone)
1740- (7 rows)
1741-
1742- DELETE FROM test.range_rel r USING test.tmp t WHERE r.dt = '2010-01-02' AND r.id = t.id;
1743- EXPLAIN (COSTS OFF) DELETE FROM test.tmp t USING test.range_rel r WHERE r.dt = '2010-01-02' AND r.id = t.id;
1744- QUERY PLAN
1745- --------------------------------------------------------------------------------------------------
1746- Delete on tmp t
1747- -> Hash Join
1748- Hash Cond: (t.id = r.id)
1749- -> Seq Scan on tmp t
1750- -> Hash
1751- -> Append
1752- -> Index Scan using range_rel_1_pkey on range_rel_1 r
1753- Filter: (dt = 'Sat Jan 02 00:00:00 2010'::timestamp without time zone)
1754- (8 rows)
1755-
1756- DELETE FROM test.tmp t USING test.range_rel r WHERE r.dt = '2010-01-02' AND r.id = t.id;
17571656/* Create range partitions from whole range */
17581657SELECT drop_partitions('test.range_rel');
1759- NOTICE: 44 rows copied from test.range_rel_1
1658+ NOTICE: 45 rows copied from test.range_rel_1
17601659NOTICE: 31 rows copied from test.range_rel_3
17611660NOTICE: 30 rows copied from test.range_rel_4
17621661NOTICE: 31 rows copied from test.range_rel_5
1763- NOTICE: 29 rows copied from test.range_rel_6
1662+ NOTICE: 30 rows copied from test.range_rel_6
17641663NOTICE: 31 rows copied from test.range_rel_7
17651664NOTICE: 31 rows copied from test.range_rel_8
17661665NOTICE: 30 rows copied from test.range_rel_9
@@ -1953,6 +1852,6 @@ ORDER BY partition;
19531852DROP TABLE test.provided_part_names CASCADE;
19541853NOTICE: drop cascades to 2 other objects
19551854DROP SCHEMA test CASCADE;
1956- NOTICE: drop cascades to 29 other objects
1855+ NOTICE: drop cascades to 28 other objects
19571856DROP EXTENSION pg_pathman CASCADE;
19581857DROP SCHEMA pathman CASCADE;
0 commit comments