@quereus/plugin-nativescript-sqlite 4.9.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/store.d.ts +45 -1
- package/dist/src/store.d.ts.map +1 -1
- package/dist/src/store.js +74 -25
- package/dist/src/store.js.map +1 -1
- package/package.json +6 -6
package/dist/src/store.d.ts
CHANGED
|
@@ -4,7 +4,24 @@
|
|
|
4
4
|
* Uses @nativescript-community/sqlite for SQLite bindings on iOS/Android.
|
|
5
5
|
* Keys and values are stored as BLOBs for correct lexicographic ordering.
|
|
6
6
|
*/
|
|
7
|
-
import type
|
|
7
|
+
import { type KVStore, type KVEntry, type WriteBatch, type IterateOptions } from '@quereus/store';
|
|
8
|
+
/**
|
|
9
|
+
* Entries per `select` when {@link SQLiteStore.iterate} pages a range.
|
|
10
|
+
*
|
|
11
|
+
* A SQL `select` hands back a whole result set, so this backend cannot stream: it reads
|
|
12
|
+
* one bounded batch, yields it, and resumes past the last key seen (see `pagedIterate`).
|
|
13
|
+
* The size is the peak-memory / round-trip tradeoff — small enough that a full table
|
|
14
|
+
* scan on a phone holds one page rather than the table, large enough that a big scan is
|
|
15
|
+
* not one query per handful of rows. Exported so the conformance adapter's read meter
|
|
16
|
+
* reports the real read-ahead instead of duplicating the number.
|
|
17
|
+
*
|
|
18
|
+
* NOTE: 128 is a judgement call, not a measurement — nothing has profiled this backend on
|
|
19
|
+
* a device (the tests run better-sqlite3 on a desktop). If a device profile ever shows
|
|
20
|
+
* scans dominated by query round-trips, raise it; if peak memory per scan is the problem,
|
|
21
|
+
* lower it. Conformance tier 3 seeds 306 entries, so any size it still crosses keeps the
|
|
22
|
+
* batch-seam cases meaningful.
|
|
23
|
+
*/
|
|
24
|
+
export declare const ITERATE_BATCH_SIZE = 128;
|
|
8
25
|
/**
|
|
9
26
|
* Type definition for @nativescript-community/sqlite database.
|
|
10
27
|
* We use a minimal interface to avoid hard dependency on the package types.
|
|
@@ -49,9 +66,36 @@ export declare class SQLiteStore implements KVStore {
|
|
|
49
66
|
delete(key: Uint8Array): Promise<void>;
|
|
50
67
|
has(key: Uint8Array): Promise<boolean>;
|
|
51
68
|
iterate(options?: IterateOptions): AsyncIterable<KVEntry>;
|
|
69
|
+
/** Read up to `want` entries for one already-resume-adjusted batch of a range. */
|
|
70
|
+
private fetchBatch;
|
|
71
|
+
/**
|
|
72
|
+
* Build the `where` conditions + bound parameters for a key range.
|
|
73
|
+
*
|
|
74
|
+
* Every bound present is emitted, so a caller `gt` and a resume `gt` would both appear
|
|
75
|
+
* (`and` of two `key > ?` is correct, just redundant). `pagedIterate` merges the resume
|
|
76
|
+
* edge into a single bound, so in practice at most one lower and one upper appear.
|
|
77
|
+
*/
|
|
78
|
+
private buildRangeFilter;
|
|
79
|
+
/**
|
|
80
|
+
* Build one batch read over a key range, ordered by key and capped at `limit` rows.
|
|
81
|
+
*
|
|
82
|
+
* `limit` is the batch size, NOT the caller's `IterateOptions.limit` — `pagedIterate`
|
|
83
|
+
* spends the caller's limit across batches and passes the per-batch want here.
|
|
84
|
+
*/
|
|
52
85
|
private buildIterateQuery;
|
|
53
86
|
batch(): WriteBatch;
|
|
54
87
|
close(): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Count the keys in a range with one `count(*)`.
|
|
90
|
+
*
|
|
91
|
+
* NOTE: `options.limit` is ignored — the count of a range is not affected by how many
|
|
92
|
+
* of it a caller would read. That matches IndexedDB (`IDBObjectStore.count(range)`)
|
|
93
|
+
* and this store's previous behavior; the LevelDB and in-memory backends count by
|
|
94
|
+
* iterating, so they cap at `limit` instead. The contract says nothing either way and
|
|
95
|
+
* the conformance battery never passes `limit` here. If a caller ever depends on the
|
|
96
|
+
* capped reading, settle it in `KVStore.approximateCount`'s contract and make the
|
|
97
|
+
* battery enforce it, rather than changing one backend.
|
|
98
|
+
*/
|
|
55
99
|
approximateCount(options?: IterateOptions): Promise<number>;
|
|
56
100
|
private checkOpen;
|
|
57
101
|
/**
|
package/dist/src/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAgB,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACnD,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,EAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5D,KAAK,IAAI,IAAI,CAAC;CACf;AAWD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,EAAE,EAAE,cAAc,CAAC;IACnB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,OAAO;IACzC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,kBAAkB;IAcvC;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,GAAE,MAAa,GAAG,WAAW;IAIxE,OAAO,CAAC,WAAW;IAWb,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAWrD,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrC,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC;IAoBhE,kFAAkF;YACpE,UAAU;IASxB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAOzB,KAAK,IAAI,UAAU;IAKb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;;;;;;;;;OAUG;IACG,gBAAgB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjE,OAAO,CAAC,SAAS;IAMjB;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC,GAAG,IAAI;CAa1H"}
|
package/dist/src/store.js
CHANGED
|
@@ -4,6 +4,24 @@
|
|
|
4
4
|
* Uses @nativescript-community/sqlite for SQLite bindings on iOS/Android.
|
|
5
5
|
* Keys and values are stored as BLOBs for correct lexicographic ordering.
|
|
6
6
|
*/
|
|
7
|
+
import { pagedIterate } from '@quereus/store';
|
|
8
|
+
/**
|
|
9
|
+
* Entries per `select` when {@link SQLiteStore.iterate} pages a range.
|
|
10
|
+
*
|
|
11
|
+
* A SQL `select` hands back a whole result set, so this backend cannot stream: it reads
|
|
12
|
+
* one bounded batch, yields it, and resumes past the last key seen (see `pagedIterate`).
|
|
13
|
+
* The size is the peak-memory / round-trip tradeoff — small enough that a full table
|
|
14
|
+
* scan on a phone holds one page rather than the table, large enough that a big scan is
|
|
15
|
+
* not one query per handful of rows. Exported so the conformance adapter's read meter
|
|
16
|
+
* reports the real read-ahead instead of duplicating the number.
|
|
17
|
+
*
|
|
18
|
+
* NOTE: 128 is a judgement call, not a measurement — nothing has profiled this backend on
|
|
19
|
+
* a device (the tests run better-sqlite3 on a desktop). If a device profile ever shows
|
|
20
|
+
* scans dominated by query round-trips, raise it; if peak memory per scan is the problem,
|
|
21
|
+
* lower it. Conformance tier 3 seeds 306 entries, so any size it still crosses keeps the
|
|
22
|
+
* batch-seam cases meaningful.
|
|
23
|
+
*/
|
|
24
|
+
export const ITERATE_BATCH_SIZE = 128;
|
|
7
25
|
/**
|
|
8
26
|
* SQLite implementation of KVStore for NativeScript.
|
|
9
27
|
*
|
|
@@ -69,16 +87,39 @@ export class SQLiteStore {
|
|
|
69
87
|
}
|
|
70
88
|
async *iterate(options) {
|
|
71
89
|
this.checkOpen();
|
|
72
|
-
|
|
90
|
+
// One `select` per batch, resuming from the last key seen — so peak memory is one
|
|
91
|
+
// batch however many entries the range holds, and a consumer that stops early costs
|
|
92
|
+
// at most one batch beyond what it consumed. `pagedIterate` owns the resume edge.
|
|
93
|
+
//
|
|
94
|
+
// Nothing to release on early termination, so no try/finally: each batch's `select`
|
|
95
|
+
// is self-contained and `SQLiteDatabase.select` returns a realized array — there is
|
|
96
|
+
// no cursor or statement handle left open between batches. If the driver interface
|
|
97
|
+
// ever grows a statement-handle read, this needs a `finally` that closes it.
|
|
98
|
+
//
|
|
99
|
+
// NOTE: `checkOpen` runs once, at the start, as it did when one `select` read the whole
|
|
100
|
+
// range — so a `close()` while a scan is suspended does not stop its remaining batches.
|
|
101
|
+
// Harmless today because `close()` deliberately leaves the (possibly shared) database
|
|
102
|
+
// open. If closing a store ever also closes its database, the next batch would throw a
|
|
103
|
+
// driver error mid-scan; re-check `closed` per batch then.
|
|
104
|
+
yield* pagedIterate(options, (bounds, want) => this.fetchBatch(bounds, want), ITERATE_BATCH_SIZE);
|
|
105
|
+
}
|
|
106
|
+
/** Read up to `want` entries for one already-resume-adjusted batch of a range. */
|
|
107
|
+
async fetchBatch(bounds, want) {
|
|
108
|
+
const { sql, params } = this.buildIterateQuery(bounds, want);
|
|
73
109
|
const rows = this.db.select(sql, params);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
};
|
|
79
|
-
}
|
|
110
|
+
return rows.map((row) => ({
|
|
111
|
+
key: toUint8Array(row.key),
|
|
112
|
+
value: toUint8Array(row.value),
|
|
113
|
+
}));
|
|
80
114
|
}
|
|
81
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Build the `where` conditions + bound parameters for a key range.
|
|
117
|
+
*
|
|
118
|
+
* Every bound present is emitted, so a caller `gt` and a resume `gt` would both appear
|
|
119
|
+
* (`and` of two `key > ?` is correct, just redundant). `pagedIterate` merges the resume
|
|
120
|
+
* edge into a single bound, so in practice at most one lower and one upper appear.
|
|
121
|
+
*/
|
|
122
|
+
buildRangeFilter(options) {
|
|
82
123
|
const conditions = [];
|
|
83
124
|
const params = [];
|
|
84
125
|
if (options?.gte) {
|
|
@@ -97,14 +138,18 @@ export class SQLiteStore {
|
|
|
97
138
|
conditions.push('key < ?');
|
|
98
139
|
params.push(toArrayBuffer(options.lt));
|
|
99
140
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
141
|
+
return { where: conditions.length > 0 ? ` where ${conditions.join(' and ')}` : '', params };
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Build one batch read over a key range, ordered by key and capped at `limit` rows.
|
|
145
|
+
*
|
|
146
|
+
* `limit` is the batch size, NOT the caller's `IterateOptions.limit` — `pagedIterate`
|
|
147
|
+
* spends the caller's limit across batches and passes the per-batch want here.
|
|
148
|
+
*/
|
|
149
|
+
buildIterateQuery(options, limit) {
|
|
150
|
+
const { where, params } = this.buildRangeFilter(options);
|
|
151
|
+
const sql = `select key, value from ${this.tableName}${where}`
|
|
152
|
+
+ ` order by key ${options?.reverse ? 'desc' : 'asc'} limit ${limit}`;
|
|
108
153
|
return { sql, params };
|
|
109
154
|
}
|
|
110
155
|
batch() {
|
|
@@ -115,17 +160,21 @@ export class SQLiteStore {
|
|
|
115
160
|
// Mark as closed but don't close the DB - it may be shared
|
|
116
161
|
this.closed = true;
|
|
117
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Count the keys in a range with one `count(*)`.
|
|
165
|
+
*
|
|
166
|
+
* NOTE: `options.limit` is ignored — the count of a range is not affected by how many
|
|
167
|
+
* of it a caller would read. That matches IndexedDB (`IDBObjectStore.count(range)`)
|
|
168
|
+
* and this store's previous behavior; the LevelDB and in-memory backends count by
|
|
169
|
+
* iterating, so they cap at `limit` instead. The contract says nothing either way and
|
|
170
|
+
* the conformance battery never passes `limit` here. If a caller ever depends on the
|
|
171
|
+
* capped reading, settle it in `KVStore.approximateCount`'s contract and make the
|
|
172
|
+
* battery enforce it, rather than changing one backend.
|
|
173
|
+
*/
|
|
118
174
|
async approximateCount(options) {
|
|
119
175
|
this.checkOpen();
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const rows = this.db.select(`select count(*) as cnt from ${this.tableName}`, []);
|
|
123
|
-
return rows[0]?.cnt ?? 0;
|
|
124
|
-
}
|
|
125
|
-
// With bounds, we need to count with conditions
|
|
126
|
-
const { sql, params } = this.buildIterateQuery(options);
|
|
127
|
-
const countSql = sql.replace(/^select key, value/, 'select count(*) as cnt').replace(/ order by.*$/, '');
|
|
128
|
-
const rows = this.db.select(countSql, params);
|
|
176
|
+
const { where, params } = this.buildRangeFilter(options);
|
|
177
|
+
const rows = this.db.select(`select count(*) as cnt from ${this.tableName}${where}`, params);
|
|
129
178
|
return rows[0]?.cnt ?? 0;
|
|
130
179
|
}
|
|
131
180
|
checkOpen() {
|
package/dist/src/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quereus/plugin-nativescript-sqlite",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "NativeScript SQLite storage plugin for Quereus - mobile persistent storage",
|
|
6
6
|
"keywords": [
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@nativescript-community/sqlite": "^3.0.0",
|
|
45
|
-
"@quereus/isolation": "^4.
|
|
46
|
-
"@quereus/quereus": "^4.
|
|
47
|
-
"@quereus/store": "^4.
|
|
45
|
+
"@quereus/isolation": "^4.11.0",
|
|
46
|
+
"@quereus/quereus": "^4.11.0",
|
|
47
|
+
"@quereus/store": "^4.11.0"
|
|
48
48
|
},
|
|
49
49
|
"engines": {
|
|
50
50
|
"quereus": "^0.24.0"
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"test": "cd ../.. && node --import ./packages/quereus-plugin-nativescript-sqlite/register.mjs node_modules/mocha/bin/mocha.js \"packages/quereus-plugin-nativescript-sqlite/test/**/*.spec.ts\" --reporter min --colors"
|
|
88
88
|
},
|
|
89
89
|
"dependencies": {
|
|
90
|
-
"@quereus/quereus": "^4.
|
|
91
|
-
"@quereus/store": "^4.
|
|
90
|
+
"@quereus/quereus": "^4.11.0",
|
|
91
|
+
"@quereus/store": "^4.11.0"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"@quereus/isolation": "*",
|