From b6382dce525ecf3f98b68ea398d7c33c81185330 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 1 Jul 2026 13:21:18 +0530 Subject: [PATCH] ci(postgres): add the return-contract note to the over-rollback bullet Mirror the config.json guidance in POSTGRES_COMPATIBILITY.md: when scoping a rollback, keep the function's success/None return contract -- don't return the doc that was just rolled back. (greptile #56688) Co-Authored-By: Claude Opus 4.8 --- .github/POSTGRES_COMPATIBILITY.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/POSTGRES_COMPATIBILITY.md b/.github/POSTGRES_COMPATIBILITY.md index 48d5f6449a6..6b08f81fdb4 100644 --- a/.github/POSTGRES_COMPATIBILITY.md +++ b/.github/POSTGRES_COMPATIBILITY.md @@ -185,7 +185,8 @@ These are auto-handled by the framework and are **not** breaks: full rollback is safe only when it (a) immediately re-`throw`s/`raise`s (MariaDB rolls back anyway), (b) has nothing successful before it (a single op), or (c) the batch is genuinely meant to be **atomic** (a partial result is an invalid state → rollback + mark *Failed* is correct). Otherwise use - a **per-iteration / per-record savepoint**. + a **per-iteration / per-record savepoint** — and keep the function's success/`None` return contract: + do **not** return the doc when the savepoint was rolled back. ---