Fix failure in MVU with non-default server collation name #2054
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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, incorrect collation(default collation) is getting assigned to a column in spt_tablecollation_view instead of the collation stored in restored_server_collation_name.
This commit 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
13.6 to 14.latest
13.9 to 14.latest
13.6 to 14.latest to 15.latest
13.9 to 14.latest to 15.latest
Cherry-picked from PR-2028
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
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.