Hide ALTER default materialization from authorizers - #2435
Conversation
Suppress authorization callbacks only while running the internal row materialization for ALTER TABLE ADD COLUMN DEFAULT. The outer schema change remains authorized, and the callback is restored immediately afterward. Fixes #2428 Co-Authored-By: Codex <noreply@openai.com>
|
SummaryCoverage focuses on database schema changes with default values, including existing-row updates, attached databases, quoted names, repeated changes, reopening, indexed lookups, and recovery after rejected or failed operations. It also exercises authorization and change-tracking behavior, including denied user updates, hidden internal work, catalog notifications, triggers, counters, integrity, and rollback-related edge cases. Safe to merge — the exercised schema-change, authorization, recovery, integrity, and cross-database behaviors show no regressions or PR-attributable failures, leaving no merge-blocking risk in this run. Tests run by Ito
Tip Reply with @itoqa to send us feedback on this test run. |
DoltLite performance vs PR base
blobpk details
compositepk details
int details
textpk details
vc details
All relative performance gates passed. |
DoltLite source coverage
Merged 199 pooled raw profiles from the distributed Linux correctness jobs. Per-file coverage (97 files)
|

Fixes #2428.
Suppress authorizer callbacks only while DoltLite runs the internal row rewrite for ALTER TABLE ADD COLUMN DEFAULT. The outer ALTER and sqlite_master update remain authorized, and the callback is restored before control returns to the caller.
The regression matrix covers main and attached schemas, denied user-table UPDATE, absence of leaked READ/UPDATE callbacks, materialized default values, and authorizer restoration.
Validation: