Finish up the flat-files project: get rid of GetRawDatabaseInfo() hack
in favor of looking at the flat file copy of pg_database during backend startup. This should finally eliminate the various corner cases in which backend startup fails unexpectedly because it isn't able to distinguish live and dead tuples in pg_database. Simplify locking on pg_database to be similar to the rules used with pg_shadow and pg_group, and eliminate FlushRelationBuffers operations that were used only to reduce the odds of failure of GetRawDatabaseInfo. initdb forced due to addition of a trigger to pg_database.
Showing
- src/backend/commands/dbcommands.c 29 additions, 60 deletionssrc/backend/commands/dbcommands.c
- src/backend/commands/vacuum.c 4 additions, 3 deletionssrc/backend/commands/vacuum.c
- src/backend/libpq/hba.c 49 additions, 1 deletionsrc/backend/libpq/hba.c
- src/backend/utils/init/flatfiles.c 5 additions, 15 deletionssrc/backend/utils/init/flatfiles.c
- src/backend/utils/init/postinit.c 65 additions, 23 deletionssrc/backend/utils/init/postinit.c
- src/backend/utils/misc/Makefile 11 additions, 3 deletionssrc/backend/utils/misc/Makefile
- src/backend/utils/misc/database.c 0 additions, 189 deletionssrc/backend/utils/misc/database.c
- src/bin/initdb/initdb.c 10 additions, 7 deletionssrc/bin/initdb/initdb.c
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_proc.h 3 additions, 3 deletionssrc/include/catalog/pg_proc.h
- src/include/libpq/hba.h 5 additions, 6 deletionssrc/include/libpq/hba.h
- src/include/miscadmin.h 1 addition, 4 deletionssrc/include/miscadmin.h
Loading
Please register or sign in to comment