In AlterRole, make bypassrls an int

Enterprise / PostgreSQL - Stephen Frost [snowman.net] - 21 August 2015 07:22 UTC

When reworking bypassrls in AlterRole to operate the same way the other attribute handling is done, I missed that the variable was incorrectly a bool rather than an int. This meant that on platforms with an unsigned char, we could end up with incorrect behavior during ALTER ROLE.

Pointed out by Andres thanks to tests he did changing our bool to be the one from stdbool.h which showed this and a number of other issues.

Add regression tests to test CREATE/ALTER role for the various role attributes. Arrange to leave roles behind for testing pg_dumpall, but none which have the LOGIN attribute.

Back-patch to 9.5 where the AlterRole bug exists.

7ec8296 In AlterRole, make bypassrls an int
src/backend/commands/user.c | 2 +-
src/test/regress/expected/roleattributes.out | 236 ++++++++++++++++++++++++++
src/test/regress/parallel_schedule | 2 +-
src/test/regress/serial_schedule | 1 +
src/test/regress/sql/roleattributes.sql | 85 ++++++++++
5 files changed, 324 insertions(+), 2 deletions(-)

Upstream: git.postgresql.org


  • Share