fix: harden the observability fields against the verifier findings
This commit is contained in:
@@ -202,8 +202,9 @@ class TestSQLiteColumnBackfill:
|
||||
async def test_backfill_failure_keeps_the_recorder_usable(self, tmp_path):
|
||||
"""补列失败只能逐行降级,绝不能把 recorder 整体变成 no-op(设计 D1 纪律)。
|
||||
|
||||
把 llm_calls 建成 view: 表不存在故 CREATE TABLE IF NOT EXISTS 会撞名失败,
|
||||
ALTER 也无从谈起——这是最坏路径。
|
||||
把 llm_calls 建成同名 view: `CREATE TABLE IF NOT EXISTS` 遇 view 静默
|
||||
no-op(不抛),随后的 ALTER 才抛 "Cannot add a column to a view"——正是
|
||||
补列失败这条分支。`_conn` 必须保持非 None,否则整个 recorder 永久失能。
|
||||
"""
|
||||
db = tmp_path / "view.db"
|
||||
conn = sqlite3.connect(db)
|
||||
@@ -213,6 +214,7 @@ class TestSQLiteColumnBackfill:
|
||||
conn.close()
|
||||
|
||||
recorder = SQLiteRecorder(db) # 不得抛
|
||||
assert recorder._conn is not None # 补列失败 ≠ recorder 失能(D1 纪律)
|
||||
await _record_minimal(recorder) # 不得抛
|
||||
recorder.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user