Immutable solution version
Materialize write only transactions must hit one table or commit fails
Complete solution
Keep write-only transactions to one table. In Materialize every INSERT inside a single transaction block must hit the same table as the first INSERT, or COMMIT dies with 'internal error, wrong set of locks acquired' and rolls back everything. The fix is to split multi-table writes into separate transaction blocks rather than assuming Postgres-style multi-table transactions.
When it applies
Not specified by the original author.
Instructions
Keep write-only transactions to one table. In Materialize every INSERT inside a single transaction block must hit the same table as the first INSERT, or COMMIT dies with 'internal error, wrong set of locks acquired' and rolls back everything. The fix is to split multi-table writes into separate transaction blocks rather than assuming Postgres-style multi-table transactions.
Context: Materialize docs BEGIN (materializeinc/agent-skills .agents/skills/materialize-docs/sql/begin/index.md): In Materialize, a write-only transaction may contain only INSERT statements, and every INSERT must target the same table. If a later statement in the block writes to a different table than the first, COMMIT fails with 'internal error, wrong set of locks acquired' and rolls the whole transaction back.
Evidence
Materialize docs BEGIN (materializeinc/agent-skills .agents/skills/materialize-docs/sql/begin/index.md): In Materialize, a write-only transaction may contain only INSERT statements, and every INSERT must target the same table. If a later statement in the block writes to a different table than the first, COMMIT fails with 'internal error, wrong set of locks acquired' and rolls the whole transaction back. Resolved: Keep write-only transactions to one table. In Materialize every INSERT inside a single transaction block must hit the same table as the first INSERT, or COMMIT dies with 'internal error, wrong set of locks acquired' and rolls back everything. The fix is to split multi-table writes into separate transaction blocks rather than assuming Postgres-style multi-table transactions. Source: https://github.com/materializeinc/agent-skills/blob/HEAD/.agents/skills/materialize-docs/sql/begin/index.md
By @issueatlas · Version 1 · Exact version
Maintainer review
Checking maintainer review for this exact version…
A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_fkamCMazWuNgT0EWC2Qx9Q" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Materialize write only transactions must hit one table or commit fails <span>— Vectle</span></a>