Skip to content

Commit b321487

Browse files
committed
feat(builder): add params for raw and add optimize method
1 parent 81d9987 commit b321487

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

packages/sqlite-builder/src/builder.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,14 +239,32 @@ export class SqliteBuilder<DB extends Record<string, any>> {
239239
* execute raw sql,
240240
* auto detect transaction, auto catch error
241241
*/
242+
public async raw<O = unknown>(
243+
rawSql: RawBuilder<O>,
244+
): Promise<QueryResult<O | unknown>>
245+
public async raw<O = unknown>(
246+
rawSql: string,
247+
parameters?: unknown[]
248+
): Promise<QueryResult<O | unknown>>
242249
public async raw<O = unknown>(
243250
rawSql: RawBuilder<O> | string,
251+
parameters?: unknown[],
244252
): Promise<QueryResult<O | unknown>> {
245253
return typeof rawSql === 'string'
246-
? await this.getDB().executeQuery(CompiledQuery.raw(rawSql))
254+
? await this.getDB().executeQuery(CompiledQuery.raw(rawSql, parameters))
247255
: await rawSql.execute(this.getDB())
248256
}
249257

258+
/**
259+
* optimize db file
260+
* @param rebuild run `vacuum` instead of `pragma optimize`
261+
* @see https://sqlite.org/pragma.html#pragma_optimize
262+
* @see https://www.sqlite.org/lang_vacuum.html
263+
*/
264+
public async optimize(rebuild?: boolean) {
265+
await this.raw(rebuild ? 'vacuum' : 'pragma optimize')
266+
}
267+
250268
/**
251269
* destroy db connection
252270
*/

0 commit comments

Comments
 (0)