mirror of
https://github.com/aljazceru/ditto.git
synced 2026-01-07 23:54:22 +01:00
SqliteWorker: return query result instead of rows for query
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
interface QueryResult {
|
||||
rows: unknown[];
|
||||
numAffectedRows: bigint;
|
||||
insertId: bigint;
|
||||
}
|
||||
|
||||
class SqliteWorker {
|
||||
#path: string;
|
||||
#worker: Worker;
|
||||
@@ -23,7 +29,7 @@ class SqliteWorker {
|
||||
return this.#call(['open', [this.#path]]);
|
||||
}
|
||||
|
||||
async query(sql: string, params?: any): Promise<unknown[]> {
|
||||
async query(sql: string, params?: any): Promise<QueryResult> {
|
||||
await this.ready;
|
||||
return this.#call(['query', [sql, params]]);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,11 @@ function handleOpen(path: string): void {
|
||||
}
|
||||
|
||||
function handleQuery(sql: string, params: any[] = []) {
|
||||
return db.prepare(sql).all(...params);
|
||||
return {
|
||||
rows: db.prepare(sql).all(...params),
|
||||
numAffectedRows: BigInt(db.changes),
|
||||
insertId: BigInt(db.lastInsertRowId),
|
||||
};
|
||||
}
|
||||
|
||||
self.addEventListener('message', (event: MessageEvent<[string, Msg]>) => {
|
||||
|
||||
Reference in New Issue
Block a user