pgsql: Refactor code for reading and writing relation map files.
От | Robert Haas |
---|---|
Тема | pgsql: Refactor code for reading and writing relation map files. |
Дата | |
Msg-id | E1nUuBM-0009WP-Jh@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Refactor code for reading and writing relation map files. Restructure things so that the functions which update the global variables shared_map and local_map are separate from the functions which just read and write relation map files without touching any global variables. In the new structure of things, write_relmap_file() writes a relmap file but no longer performs global variable updates. A symmetric function read_relmap_file() that just reads a file without changing any global variables is added, and load_relmap_file(), which does change the global variables, uses it as a subroutine. Because write_relmap_file() no longer updates shared_map and local_map, that logic is moved to perform_relmap_update(). However, no similar logic is added to relmap_redo() even though it also calls write_relmap_file(). That's because recovery must not rely on the contents of the relation map, and therefore there is no need to initialize it. In fact, doing so seems like a mistake, because we might then manage to rely on the in-memory map where we shouldn't. Patch by me, based on earlier work by Dilip Kumar. Reviewed by Ashutosh Sharma. Discussion: http://postgr.es/m/CA+TgmobQLgrt4AXsc0ru7aFFkzv=9fS-Q_yO69=k9WY67RCctg@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/39f0c4bd670c3482f4def87a31108c175da0a8d3 Modified Files -------------- src/backend/utils/cache/relmapper.c | 121 ++++++++++++++++++------------------ 1 file changed, 60 insertions(+), 61 deletions(-)
В списке pgsql-committers по дате отправления: