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 incompatibility with Postgres 14.x #117

Merged
merged 1 commit into from
Aug 21, 2024
Merged

Conversation

maltoe
Copy link
Collaborator

@maltoe maltoe commented Aug 21, 2024

Postgres v14.0 to v14.5 had an issue with functions taking a RECORD typed argument when within a single transaction this type was instantiated with different actual types (tables). In combination with my refactorings in Carbonite v0.12.0, extracting two smaller procs from the main change tracking procedure.

This patch reverts these refactorings and restores compatibility with the affected Postgres versions. Refactorings weren't exactly pretty, either. But the issues with the 150 line procedure I keep copying over to new versions remain.

Fixes #112

Postgres v14.0 to v14.5 had an issue with functions taking a `RECORD` typed argument when within
a single transaction this type was instantiated with different actual types (tables). In
combination with my refactorings in Carbonite v0.12.0, extracting two smaller procs from the main
change tracking procedure.

This patch reverts these refactorings and restores compatibility with the affected Postgres
versions. Refactorings weren't exactly pretty, either. But the issues with the 150 line procedure
I keep copying over to new versions remain.

Fixes #112
@maltoe maltoe enabled auto-merge (squash) August 21, 2024 20:21
@maltoe maltoe merged commit 40383b0 into main Aug 21, 2024
10 checks passed
@maltoe maltoe deleted the issue/112-pg-14-broken branch August 21, 2024 20:22
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.

Error when updating 2 different structs within one transaction
1 participant