Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix failure in MVU with non-default server collation name #2053

Conversation

rohit01010
Copy link
Contributor

Description

Currently, in upgrade scripts, server_collation_name is set to restored_server_collation_name in babelfishpg_common upgrade scripts only and then GUC restored_server_collation_name is being reset. Now this server_collation_name is being set only for that connection, when a new connection is created server_collation_name will contain the default value. This will cause issue when different connections are used to update babelfishpg_common and babelfishpg_tsql, as the server_collation_name contains default value in connection in which babelfishpg_tsql is getting updated, but expected value of server_collation_name is the value of restored_server_collation_name.

Due to this, a failure is occurring in Major Version upgrade from 14.x to 15.x, when different connections are used to upgrade babelfishpg_common and babelfishpg_tsql extension and server collation name is set to non-default value in base version.

This PR will resolve this issue by setting the server_collation_name to restored_server_collation_name in babelfishpg_tsql upgrade scripts as well.

Tested the changes locally against following upgrade paths
14.6 to 15.latest
14.latest to 15.latest
14.8 to 15.latest
14.9 to 15.latest
13.6 to 14.6 to 15.latest
13.9 to 14.6 to 15.latest

Cherry-picked from PR-2019
Signed-off-by: Rohit Bhagat [email protected]

Issues Resolved

BABEL-4519

Test Scenarios Covered

  • Use case based - NA

  • Boundary conditions - NA

  • Arbitrary inputs - NA

  • Negative test cases - NA

  • Minor version upgrade tests - NA

  • Major version upgrade tests - NA

  • Performance tests - NA

  • Tooling impact - NA

  • Client tests - NA

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.

For more information on following Developer Certificate of Origin and signing off your commits, please check here.

…for-postgresql#2019)

Currently, in upgrade scripts, server_collation_name is set to restored_server_collation_name in babelfishpg_common upgrade scripts only and then GUC restored_server_collation_name is being reset. Now this server_collation_name is being set only for that connection, when a new connection is created server_collation_name will contain the default value. This will cause issue when different connections are used to update babelfishpg_common and babelfishpg_tsql, as the server_collation_name contains default value in connection in which babelfishpg_tsql is getting updated, but expected value of server_collation_name is the value of restored_server_collation_name.

Due to this, a failure is occurring in Major Version upgrade from 14.x to 15.x, when different connections are used to upgrade babelfishpg_common and babelfishpg_tsql extension and server collation name is set to non-default value in base version.

This commit will resolve this issue by setting the server_collation_name to restored_server_collation_name in babelfishpg_tsql upgrade scripts as well.

Task: BABEL-4519
Sign-off-by: Rohit Bhagat <[email protected]>
@rohit01010 rohit01010 requested a review from sumitj824 November 22, 2023 14:55
Rohit Bhagat added 2 commits November 22, 2023 15:25
Signed-off-by: Rohit Bhagat <[email protected]>
Signed-off-by: Rohit Bhagat <[email protected]>
@kuntalghosh kuntalghosh merged commit 7ff89f2 into babelfish-for-postgresql:BABEL_3_4_STABLE Nov 23, 2023
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants