@@ -1973,9 +1973,61 @@ ERROR: conflicting key value violates exclusion constraint "concur_reindex_tab3
19731973DETAIL: Key (c2)=([2,5)) conflicts with existing key (c2)=([1,3)).
19741974-- Check materialized views
19751975CREATE MATERIALIZED VIEW concur_reindex_matview AS SELECT * FROM concur_reindex_tab;
1976+ -- Dependency lookup before and after the follow-up REINDEX commands.
1977+ -- These should remain consistent.
1978+ SELECT pg_describe_object(classid, objid, objsubid) as obj,
1979+ pg_describe_object(refclassid,refobjid,refobjsubid) as objref,
1980+ deptype
1981+ FROM pg_depend
1982+ WHERE classid = 'pg_class'::regclass AND
1983+ objid in ('concur_reindex_tab'::regclass,
1984+ 'concur_reindex_ind1'::regclass,
1985+ 'concur_reindex_ind2'::regclass,
1986+ 'concur_reindex_ind3'::regclass,
1987+ 'concur_reindex_ind4'::regclass,
1988+ 'concur_reindex_matview'::regclass)
1989+ ORDER BY 1, 2;
1990+ obj | objref | deptype
1991+ ------------------------------------------+------------------------------------------------------------+---------
1992+ index concur_reindex_ind1 | constraint concur_reindex_ind1 on table concur_reindex_tab | i
1993+ index concur_reindex_ind2 | column c2 of table concur_reindex_tab | a
1994+ index concur_reindex_ind3 | column c1 of table concur_reindex_tab | a
1995+ index concur_reindex_ind3 | table concur_reindex_tab | a
1996+ index concur_reindex_ind4 | column c1 of table concur_reindex_tab | a
1997+ index concur_reindex_ind4 | column c1 of table concur_reindex_tab | a
1998+ index concur_reindex_ind4 | column c2 of table concur_reindex_tab | a
1999+ materialized view concur_reindex_matview | schema public | n
2000+ table concur_reindex_tab | schema public | n
2001+ (9 rows)
2002+
19762003REINDEX INDEX CONCURRENTLY concur_reindex_ind1;
19772004REINDEX TABLE CONCURRENTLY concur_reindex_tab;
19782005REINDEX TABLE CONCURRENTLY concur_reindex_matview;
2006+ SELECT pg_describe_object(classid, objid, objsubid) as obj,
2007+ pg_describe_object(refclassid,refobjid,refobjsubid) as objref,
2008+ deptype
2009+ FROM pg_depend
2010+ WHERE classid = 'pg_class'::regclass AND
2011+ objid in ('concur_reindex_tab'::regclass,
2012+ 'concur_reindex_ind1'::regclass,
2013+ 'concur_reindex_ind2'::regclass,
2014+ 'concur_reindex_ind3'::regclass,
2015+ 'concur_reindex_ind4'::regclass,
2016+ 'concur_reindex_matview'::regclass)
2017+ ORDER BY 1, 2;
2018+ obj | objref | deptype
2019+ ------------------------------------------+------------------------------------------------------------+---------
2020+ index concur_reindex_ind1 | constraint concur_reindex_ind1 on table concur_reindex_tab | i
2021+ index concur_reindex_ind2 | column c2 of table concur_reindex_tab | a
2022+ index concur_reindex_ind3 | column c1 of table concur_reindex_tab | a
2023+ index concur_reindex_ind3 | table concur_reindex_tab | a
2024+ index concur_reindex_ind4 | column c1 of table concur_reindex_tab | a
2025+ index concur_reindex_ind4 | column c1 of table concur_reindex_tab | a
2026+ index concur_reindex_ind4 | column c2 of table concur_reindex_tab | a
2027+ materialized view concur_reindex_matview | schema public | n
2028+ table concur_reindex_tab | schema public | n
2029+ (9 rows)
2030+
19792031-- Check that comments are preserved
19802032CREATE TABLE testcomment (i int);
19812033CREATE INDEX testcomment_idx1 ON testcomment (i);
@@ -2059,6 +2111,43 @@ SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_ind
20592111(5 rows)
20602112
20612113-- REINDEX should preserve dependencies of partition tree.
2114+ SELECT pg_describe_object(classid, objid, objsubid) as obj,
2115+ pg_describe_object(refclassid,refobjid,refobjsubid) as objref,
2116+ deptype
2117+ FROM pg_depend
2118+ WHERE classid = 'pg_class'::regclass AND
2119+ objid in ('concur_reindex_part'::regclass,
2120+ 'concur_reindex_part_0'::regclass,
2121+ 'concur_reindex_part_0_1'::regclass,
2122+ 'concur_reindex_part_0_2'::regclass,
2123+ 'concur_reindex_part_index'::regclass,
2124+ 'concur_reindex_part_index_0'::regclass,
2125+ 'concur_reindex_part_index_0_1'::regclass,
2126+ 'concur_reindex_part_index_0_2'::regclass)
2127+ ORDER BY 1, 2;
2128+ obj | objref | deptype
2129+ ------------------------------------------+--------------------------------------------+---------
2130+ column c1 of table concur_reindex_part | table concur_reindex_part | i
2131+ column c2 of table concur_reindex_part_0 | table concur_reindex_part_0 | i
2132+ index concur_reindex_part_index | column c1 of table concur_reindex_part | a
2133+ index concur_reindex_part_index_0 | column c1 of table concur_reindex_part_0 | a
2134+ index concur_reindex_part_index_0 | index concur_reindex_part_index | P
2135+ index concur_reindex_part_index_0 | table concur_reindex_part_0 | S
2136+ index concur_reindex_part_index_0_1 | column c1 of table concur_reindex_part_0_1 | a
2137+ index concur_reindex_part_index_0_1 | index concur_reindex_part_index_0 | P
2138+ index concur_reindex_part_index_0_1 | table concur_reindex_part_0_1 | S
2139+ index concur_reindex_part_index_0_2 | column c1 of table concur_reindex_part_0_2 | a
2140+ index concur_reindex_part_index_0_2 | index concur_reindex_part_index_0 | P
2141+ index concur_reindex_part_index_0_2 | table concur_reindex_part_0_2 | S
2142+ table concur_reindex_part | schema public | n
2143+ table concur_reindex_part_0 | schema public | n
2144+ table concur_reindex_part_0 | table concur_reindex_part | a
2145+ table concur_reindex_part_0_1 | schema public | n
2146+ table concur_reindex_part_0_1 | table concur_reindex_part_0 | a
2147+ table concur_reindex_part_0_2 | schema public | n
2148+ table concur_reindex_part_0_2 | table concur_reindex_part_0 | a
2149+ (19 rows)
2150+
20622151REINDEX INDEX CONCURRENTLY concur_reindex_part_index_0_1;
20632152REINDEX INDEX CONCURRENTLY concur_reindex_part_index_0_2;
20642153SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index')
@@ -2074,6 +2163,43 @@ SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_ind
20742163
20752164REINDEX TABLE CONCURRENTLY concur_reindex_part_0_1;
20762165REINDEX TABLE CONCURRENTLY concur_reindex_part_0_2;
2166+ SELECT pg_describe_object(classid, objid, objsubid) as obj,
2167+ pg_describe_object(refclassid,refobjid,refobjsubid) as objref,
2168+ deptype
2169+ FROM pg_depend
2170+ WHERE classid = 'pg_class'::regclass AND
2171+ objid in ('concur_reindex_part'::regclass,
2172+ 'concur_reindex_part_0'::regclass,
2173+ 'concur_reindex_part_0_1'::regclass,
2174+ 'concur_reindex_part_0_2'::regclass,
2175+ 'concur_reindex_part_index'::regclass,
2176+ 'concur_reindex_part_index_0'::regclass,
2177+ 'concur_reindex_part_index_0_1'::regclass,
2178+ 'concur_reindex_part_index_0_2'::regclass)
2179+ ORDER BY 1, 2;
2180+ obj | objref | deptype
2181+ ------------------------------------------+--------------------------------------------+---------
2182+ column c1 of table concur_reindex_part | table concur_reindex_part | i
2183+ column c2 of table concur_reindex_part_0 | table concur_reindex_part_0 | i
2184+ index concur_reindex_part_index | column c1 of table concur_reindex_part | a
2185+ index concur_reindex_part_index_0 | column c1 of table concur_reindex_part_0 | a
2186+ index concur_reindex_part_index_0 | index concur_reindex_part_index | P
2187+ index concur_reindex_part_index_0 | table concur_reindex_part_0 | S
2188+ index concur_reindex_part_index_0_1 | column c1 of table concur_reindex_part_0_1 | a
2189+ index concur_reindex_part_index_0_1 | index concur_reindex_part_index_0 | P
2190+ index concur_reindex_part_index_0_1 | table concur_reindex_part_0_1 | S
2191+ index concur_reindex_part_index_0_2 | column c1 of table concur_reindex_part_0_2 | a
2192+ index concur_reindex_part_index_0_2 | index concur_reindex_part_index_0 | P
2193+ index concur_reindex_part_index_0_2 | table concur_reindex_part_0_2 | S
2194+ table concur_reindex_part | schema public | n
2195+ table concur_reindex_part_0 | schema public | n
2196+ table concur_reindex_part_0 | table concur_reindex_part | a
2197+ table concur_reindex_part_0_1 | schema public | n
2198+ table concur_reindex_part_0_1 | table concur_reindex_part_0 | a
2199+ table concur_reindex_part_0_2 | schema public | n
2200+ table concur_reindex_part_0_2 | table concur_reindex_part_0 | a
2201+ (19 rows)
2202+
20772203SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index')
20782204 ORDER BY relid, level;
20792205 relid | parentrelid | level
0 commit comments