|
1 | 1 | import { Version, Antichain, v } from '../order.js' |
2 | 2 | import { MultiSet } from '../multiset.js' |
3 | | -import Database from 'better-sqlite3' |
| 3 | +import { SQLiteDb, SQLiteStatement } from './database.js' |
4 | 4 |
|
5 | 5 | interface IndexRow { |
6 | 6 | key: string |
@@ -33,37 +33,37 @@ interface JoinResult { |
33 | 33 | } |
34 | 34 |
|
35 | 35 | export class SQLIndex<K, V> { |
36 | | - #db: Database.Database |
| 36 | + #db: SQLiteDb |
37 | 37 | #tableName: string |
38 | 38 | #versionTableName: string |
39 | 39 | #isTemp: boolean |
40 | 40 | #preparedStatements: { |
41 | | - insert: Database.Statement<InsertParams> |
42 | | - get: Database.Statement<GetParams, IndexRow> |
43 | | - getVersions: Database.Statement<[string], { version: string }> |
44 | | - getAllForKey: Database.Statement<[string, GetAllForKeyParams], IndexRow> |
45 | | - delete: Database.Statement<[string]> |
46 | | - deleteAll: Database.Statement |
47 | | - deleteAllVersions: Database.Statement |
48 | | - getForCompaction: Database.Statement<[string], IndexRow> |
49 | | - consolidateVersions: Database.Statement<[string, string]> |
50 | | - insertVersion: Database.Statement<[string], { id: number }> |
51 | | - updateVersionMapping: Database.Statement<[string, string]> |
52 | | - deleteZeroMultiplicity: Database.Statement |
53 | | - getVersionId: Database.Statement<[string], { id: number }> |
54 | | - setCompactionFrontier: Database.Statement<[string]> |
55 | | - getCompactionFrontier: Database.Statement<[], { value: string }> |
56 | | - deleteMeta: Database.Statement |
57 | | - getAllKeys: Database.Statement<[], { key: string }> |
58 | | - getVersionsForKey: Database.Statement< |
| 41 | + insert: SQLiteStatement<InsertParams> |
| 42 | + get: SQLiteStatement<GetParams, IndexRow> |
| 43 | + getVersions: SQLiteStatement<[string], { version: string }> |
| 44 | + getAllForKey: SQLiteStatement<[string, GetAllForKeyParams], IndexRow> |
| 45 | + delete: SQLiteStatement<[string]> |
| 46 | + deleteAll: SQLiteStatement |
| 47 | + deleteAllVersions: SQLiteStatement |
| 48 | + getForCompaction: SQLiteStatement<[string], IndexRow> |
| 49 | + consolidateVersions: SQLiteStatement<[string, string]> |
| 50 | + insertVersion: SQLiteStatement<[string], { id: number }> |
| 51 | + updateVersionMapping: SQLiteStatement<[string, string]> |
| 52 | + deleteZeroMultiplicity: SQLiteStatement |
| 53 | + getVersionId: SQLiteStatement<[string], { id: number }> |
| 54 | + setCompactionFrontier: SQLiteStatement<[string]> |
| 55 | + getCompactionFrontier: SQLiteStatement<[], { value: string }> |
| 56 | + deleteMeta: SQLiteStatement |
| 57 | + getAllKeys: SQLiteStatement<[], { key: string }> |
| 58 | + getVersionsForKey: SQLiteStatement< |
59 | 59 | [string], |
60 | 60 | { version: string; version_id: number } |
61 | 61 | > |
62 | | - moveDataToNewVersion: Database.Statement<[number, string, number]> |
63 | | - deleteOldVersionData: Database.Statement<[string, number]> |
| 62 | + moveDataToNewVersion: SQLiteStatement<[number, string, number]> |
| 63 | + deleteOldVersionData: SQLiteStatement<[string, number]> |
64 | 64 | } |
65 | 65 |
|
66 | | - constructor(db: Database.Database, name: string, isTemp = false) { |
| 66 | + constructor(db: SQLiteDb, name: string, isTemp = false) { |
67 | 67 | this.#db = db |
68 | 68 | this.#tableName = `index_${name}` |
69 | 69 | this.#versionTableName = `${this.#tableName}_versions` |
|
0 commit comments