Skip to content

[v1.5] Remove insert-vs-alter transaction conflict check#15

Open
fuziontech wants to merge 2 commits into
v1.5-variegatafrom
v1.5-fix-allow-concurrent-insert-alter
Open

[v1.5] Remove insert-vs-alter transaction conflict check#15
fuziontech wants to merge 2 commits into
v1.5-variegatafrom
v1.5-fix-allow-concurrent-insert-alter

Conversation

@fuziontech
Copy link
Copy Markdown
Member

Cherry-picked from #2 to v1.5-variegata

fuziontech and others added 2 commits May 18, 2026 15:25
Concurrent INSERT and ALTER TABLE operations (e.g., ADD COLUMN, RENAME
COLUMN) on the same table should not conflict. Each data file carries
its own mapping_id that describes the column layout at write time. The
multi-file reader uses this mapping to correctly read files written
under older schemas, so an INSERT that was planned before an ALTER
can safely commit after it.

This is needed for tools like sqlmesh that perform schema evolution
(ALTER TABLE) on target tables while concurrent data pipelines INSERT
into those same tables. Previously, the INSERT would fail with
"Transaction conflict - attempting to insert into table - but another
transaction has altered it" after exhausting all retries.

The insert-vs-drop conflict check is preserved since a dropped table
is genuinely gone.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
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.

1 participant