]> granicus.if.org Git - postgresql/commitdiff
Re-allow user_catalog_table option for materialized views.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 10 Nov 2016 20:00:58 +0000 (15:00 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 10 Nov 2016 20:00:58 +0000 (15:00 -0500)
The reloptions stuff allows this option to be set on a matview.
While it's questionable whether that is useful or was really intended,
it does work, and we shouldn't change that in minor releases.  Commit
e3e66d8a9 disabled the option since I didn't realize that it was
possible for it to be set on a matview.  Tweak the test to re-allow it.

Discussion: <19749.1478711862@sss.pgh.pa.us>

src/include/utils/rel.h

index c867ebb233dc3acd1a847d3bfd933a8b494f2de0..fa15f28468d5fb363ba1f9acef096f6cfb1b11a5 100644 (file)
@@ -270,8 +270,9 @@ typedef struct StdRdOptions
  *             from the pov of logical decoding.  Note multiple eval of argument!
  */
 #define RelationIsUsedAsCatalogTable(relation) \
-       ((relation)->rd_rel->relkind == RELKIND_RELATION && \
-        (relation)->rd_options ? \
+       ((relation)->rd_options && \
+        ((relation)->rd_rel->relkind == RELKIND_RELATION || \
+         (relation)->rd_rel->relkind == RELKIND_MATVIEW) ? \
         ((StdRdOptions *) (relation)->rd_options)->user_catalog_table : false)
 
 /*