Commit f70f095c authored by Tom Lane's avatar Tom Lane

Allow new relmapper entries when allow_system_table_mods is true.

This restores the pre-9.0 situation that it's possible to add new indexes
on pg_class and other mapped-but-not-shared catalogs, so long as you broke
the glass and flipped the big red Dont-Touch-Me switch.  As before, there
are a lot of gotchas, and you'd have to be pretty desperate to try this
on a production database; but there doesn't seem to be a reason for
relmapper.c to be preventing such things all by itself.  Per
experimentation with a case suggested by Cody Cutrer.
parent 99081c63
...@@ -837,8 +837,11 @@ perform_relmap_update(bool shared, const RelMapFile *updates) ...@@ -837,8 +837,11 @@ perform_relmap_update(bool shared, const RelMapFile *updates)
else else
memcpy(&newmap, &local_map, sizeof(RelMapFile)); memcpy(&newmap, &local_map, sizeof(RelMapFile));
/* Apply the updates to newmap. No new mappings should appear. */ /*
merge_map_updates(&newmap, updates, false); * Apply the updates to newmap. No new mappings should appear, unless
* somebody is adding indexes to system catalogs.
*/
merge_map_updates(&newmap, updates, allowSystemTableMods);
/* Write out the updated map and do other necessary tasks */ /* Write out the updated map and do other necessary tasks */
write_relmap_file(shared, &newmap, true, true, true, write_relmap_file(shared, &newmap, true, true, true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment