chore: add C collation to postgres e2e and testcontainer #15388
Merged
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.
https://dhis2.atlassian.net/browse/DHIS2-15957
As discussed at the back meeting and agreed with @stian-sandvold, we are adding C collation as default to e2e and integration testing.
Note that:
The weird part here was that the Postgres docker image gets the locale from the OS, for example,
en_US.utf-8
, however:C collation apparently is the best fit for dhis2. Note that this kind of collation is case-sensitive. So, for instance,
A a B b
will sort ascendingA B a b
.Note also that this can impact ordering during testing. However, this might not be the case for instances because they might want to use a different collation. So the order in testing is arbitrary unless some type of order is required.
An alternative is to change the order collation at the query level
The same change will be applied to play instances when possible @Philip-Larsen-Donnelly