行级差异引擎
row diff engine 比较 SQLite snapshots,并尝试用 table/row/schema 术语描述变化。
Public Entry Points
Section titled “Public Entry Points”产品集成使用 repository-level row diff:
graft diff --rows HEAD~1 HEAD data.sqlitegraft diff --json --rows HEAD~1 HEAD data.sqliteDebug Entry Points
Section titled “Debug Entry Points”低层 storage diagnostics 可以比较 raw LSN:
PRAGMA graft_debug_log_lsn;PRAGMA graft_debug_volume_diff = '2,4,rows';PRAGMA graft_debug_volume_json_diff = '2,4,rows';这些不是正常应用 API。
Output Shape
Section titled “Output Shape”{ "path": "data.sqlite", "change": "modified", "row_diff_available": true, "logical_status": "logical_changes", "capabilities": ["rowid_table_rows", "primary_key_table_rows", "schema_entries"], "limitations": [], "tables": []}支持的 4 KiB rowid-table 路径使用直接 page parser。native page size 不同,或
WITHOUT ROWID table 需要声明主键 identity 时,引擎会通过 SQLite materialize
snapshot。这样既保留 fast path,也覆盖合法物理 page size、STRICT schema 和
带类型的复合主键。
merge 时,同一分析会产生 row conflicts、schema conflicts、opaque changes、 blocked reasons 和 apply policy。