Skip to content

feat: add tip on multi-table transactions in Unity Catalog - #5

Merged
fusionet24 merged 3 commits into
mainfrom
claude/databricks-july-explainer-gg07bv
Sep 2, 2026
Merged

fusionet24 merged 3 commits into
mainfrom
claude/databricks-july-explainer-gg07bv

Conversation

@fusionet24

Copy link
Copy Markdown
Owner

Adds a short explainer for transactions on Unity Catalog managed Delta tables, which went GA on 22 July 2026. Nothing in site/tips/ covers it yet.

Source: July 2026 platform release notes.

What's in it

site/tips/Unity Catalog/Transactions.qmd

  • The problem — three statements that each commit on their own leave tables disagreeing when the middle one fails.
  • Before you begin — DBR 18.0+, UC managed tables, catalogManaged on every write target.
  • Working example — a two-table funds transfer plus an audit log:
    1. Create the tables with delta.feature.catalogManaged, add a CHECK (balance >= 0) constraint, seed two accounts.
    2. Run a transfer in BEGIN ATOMIC ... END; and read back the committed balances.
    3. Run an overdraft where the audit insert and the credit succeed and the last statement trips the constraint — then verify both earlier writes were undone. That's the demonstration the feature lives or dies on.
    4. Rewrite it to fail fast with SIGNAL instead of doing work and discarding it.
    5. Clean up with DROP SCHEMA ... CASCADE.
  • Choose a modeBEGIN ATOMIC (row-level conflicts, automatic rollback) vs BEGIN TRANSACTION (table-level, manual commit), with a recommendation rather than a survey.
  • Behaviour and limits — repeatable reads via snapshot pinning, optimistic concurrency, one Delta log entry per transaction, no DDL, no time travel, no path-based access, 100-table and 48-hour ceilings.

Every claim is checked against the Transactions, Catalog commits, and SIGNAL reference pages, all linked from the tip.

Also

  • site/staticwebapp.config.json: adds the /s/transactions short link, following the existing /s/dml-privileges pattern.

Notes

  • Prose follows Google developer documentation style: sentence-case headings, second person, imperative steps, present tense. This differs from the title-case headings in earlier tips.
  • Quarto isn't available in this environment, so the page wasn't rendered. Front matter parses as valid YAML, code fences and callout divs are balanced, and the file structure matches the existing tips. The JSON config was validated with a parser.

Generated by Claude Code

Covers the July 2026 GA of transactions on Unity Catalog managed Delta
tables. Explains BEGIN ATOMIC ... END, the catalog commits prerequisite,
and validating early with SIGNAL.

The working example is a two-table funds transfer with an audit log: one
transaction that commits, and one that trips a CHECK constraint on its
last statement so the reader can verify the earlier writes were undone.

Also adds the /s/transactions short link.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Uwq9jFS44D6MAbNNeM82d
Copilot AI lite review requested due to automatic review settings August 27, 2026 07:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are self-contained documentation + a redirect entry, and the added content/config appears structurally correct and consistent with existing tips.

Pull request overview

Adds a new tip page documenting how to use multi-table transactions with Unity Catalog managed Delta tables, including an end-to-end rollback demonstration and guidance on choosing transaction modes. It also adds a short-link redirect so the tip can be referenced via a stable /s/transactions URL.

Changes:

  • Add a new Quarto tip explaining BEGIN ATOMIC ... END; multi-statement transactions on UC-managed Delta tables, with examples for rollback and SIGNAL.
  • Add a Static Web Apps redirect for /s/transactions to the rendered tip page.
File summaries
File Description
site/tips/Unity Catalog/Transactions.qmd New tip covering UC-managed Delta transactions, including setup, rollback demo, and mode selection guidance.
site/staticwebapp.config.json Adds /s/transactions short-link redirect to the Transactions tip.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Six slides built on the existing carousel design system (CarouselLayout,
CarouselCodeBlock, CAROUSEL_COLORS, Oswald/Poppins/JetBrains Mono):

1. Title    - "All or nothing", the BEGIN ATOMIC syntax pill
2. Problem  - three statements committing separately, one failing midway
3. Fix      - the same transfer wrapped in BEGIN ATOMIC ... END
4. Proof    - a transaction whose last statement trips a CHECK constraint,
              with the verified aftermath showing the earlier writes undone
5. Rules    - catalog commits, no DDL, mode choice, retries, snapshots, limits
6. CTA      - dailydatabricks.tips/s/transactions

Registers the TransactionsCarousel composition and adds the
render:transactions script alongside the existing per-carousel scripts.
Includes the rendered slides at 3840x2160 and the assembled PDF.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Uwq9jFS44D6MAbNNeM82d
- Retitle slide 2 to "Problem: 3 statements, 3 separate commits".
- Replace the consequence banner with the coupling point: 3 commits with
  different outcomes that belong to one business transaction.
- Refer to accounts by id instead of by personal names, on the problem
  slide notes and the balance stat tile on the proof slide.
- Re-render the slides and rebuild the PDF.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Uwq9jFS44D6MAbNNeM82d
@fusionet24
fusionet24 merged commit 824ed1d into main Sep 2, 2026
@fusionet24
fusionet24 deleted the claude/databricks-july-explainer-gg07bv branch September 2, 2026 11:43
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.

3 participants