Remove the df.ensure_durofut helper - #332
Merged
Merged
Conversation
pinodeca
force-pushed
the
remove-ensure-durofut
branch
2 times, most recently
from
August 4, 2026 23:43
2a9e912 to
10a8b86
Compare
Delegate operand normalization to df.if() and remove the duplicated PL/pgSQL helper from fresh installs. Update the 0.2.5-to-0.2.6 migration to replace the operator helpers before dropping df.ensure_durofut with RESTRICT. Preserve binary-only upgrade compatibility and support partial expressions created before ALTER EXTENSION.
pinodeca
force-pushed
the
remove-ensure-durofut
branch
from
August 5, 2026 00:49
10a8b86 to
5ee24c0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
df.if()df.ensure_durofut(text)PL/pgSQL helper from fresh installsdf.ensure_durofut(text) RESTRICTin the 0.2.5 to 0.2.6 upgrade.soUpgrade compatibility
Customers that receive the new
.sowithout runningALTER EXTENSIONretain their cataloged helper and operator bodies. Those operators continue to work because thedf.sql()anddf.if()C bindings are unchanged. Customers that upgrade get the new operators and the helper is dropped; customer-owned dependents cause the upgrade to fail safely throughRESTRICT.Test plan
cargo build --features pg17cargo clippy --features pg17cargo fmt -p pg_durable -- --check./scripts/test-unit.sh(263 passed, 16 ignored)./scripts/test-e2e-local.sh(53 passed)./scripts/test-upgrade.sh(70 passed, including B1 on 0.2.2 through 0.2.5 schemas)./scripts/run-pgspot.sh sql/pg_durable--0.2.5--0.2.6.sqlgit diff --check