test(localdb): review fixes — index assertion, AUTOINCREMENT rationale, ReadMeta guard, concurrent HLC test
This commit is contained in:
@@ -14,6 +14,8 @@ internal static class LocalDbSchema
|
||||
hlc_high_water INTEGER NOT NULL DEFAULT 0,
|
||||
schema_version INTEGER NOT NULL
|
||||
);
|
||||
-- AUTOINCREMENT: seq must never be reused after row pruning, or peer watermarks/acks would
|
||||
-- silently skip/misattribute rows sharing a reused seq value.
|
||||
CREATE TABLE IF NOT EXISTS __localdb_oplog (
|
||||
seq INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
table_name TEXT NOT NULL,
|
||||
@@ -91,7 +93,9 @@ internal static class LocalDbSchema
|
||||
using var cmd = connection.CreateCommand();
|
||||
cmd.CommandText = "SELECT node_id, hlc_high_water FROM __localdb_meta WHERE id = 1";
|
||||
using var reader = cmd.ExecuteReader();
|
||||
reader.Read();
|
||||
if (!reader.Read())
|
||||
throw new InvalidOperationException(
|
||||
"LocalDb schema not initialized: __localdb_meta is empty. Call EnsureCreated first.");
|
||||
return (reader.GetString(0), reader.GetInt64(1));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user