SqliteDatabase class
A single per-atSign SQLite database file. All four stores for an
atSign (keystore, commit log, notification keystore, access log) share
one instance — one open connection to one atsign.db — so a value
write and its commit-log row commit atomically in one transaction.
sqlite3's API is synchronous; the store methods wrap these calls in
Future-returning signatures to satisfy the async interface. A call
blocks the isolate for the duration of the file I/O (the same tradeoff
Hive's synchronous box operations make).
Properties
- atSign → String
-
The atSign this database belongs to.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- inTransaction → bool
-
truewhile a runInTransaction body is executing.no setter - path → String
-
Absolute or relative path to the
.dbfile.final - raw → Database
-
The underlying sqlite3 handle. Stores use it for
select/execute/prepare. Prefer routing mutations through runInTransaction.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clear(
) → void - Drops all rows from every table and re-seeds the counter, keeping the connection open. Backs AtPersistenceBundle.clear for cheap per-test isolation.
-
close(
) → void - Closes the connection. Idempotent-safe for the bundle's close path (callers must not use the context afterwards).
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
runInTransaction<
T> (T body()) → T -
Runs
bodyinside a single transaction. Re-entrant: a nested call joins the outer transaction rather than starting its own, and a rollback anywhere aborts the whole outermost transaction. On any thrown error the (outermost) transaction rolls back and the error propagates. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
open(
String atSign, String dbPath) → SqliteDatabase -
Opens (creating parent directories and the file if needed) the
database at
dbPath, applies SqliteSchema, and returns the context.