@@ -134,6 +134,7 @@ type InternalDB = {
134134 prepareStatement : ( query : string ) => PreparedStatement ;
135135 loadExtension : ( path : string , entryPoint ?: string ) => void ;
136136 executeRaw : ( query : string , params ?: Scalar [ ] ) => Promise < any [ ] > ;
137+ executeRawSync : ( query : string , params ?: Scalar [ ] ) => any [ ] ;
137138 getDbPath : ( location ?: string ) => string ;
138139 reactiveExecute : ( params : {
139140 query : string ;
@@ -262,6 +263,11 @@ export type DB = {
262263 * It will be faster since a lot of repeated work is skipped and only the values you care about are returned
263264 */
264265 executeRaw : ( query : string , params ?: Scalar [ ] ) => Promise < any [ ] > ;
266+ /**
267+ * Same as `executeRaw` but it will block the JS thread and therefore your UI and should be used with caution
268+ * It will return an array of arrays with just the values and not the keys
269+ */
270+ executeRawSync : ( query : string , params ?: Scalar [ ] ) => any [ ] ;
265271 /**
266272 * Get's the absolute path to the db file. Useful for debugging on local builds and for attaching the DB from users devices
267273 */
@@ -478,6 +484,10 @@ function enhanceDB(db: InternalDB, options: DBParams): DB {
478484
479485 return db . executeRaw ( query , sanitizedParams as Scalar [ ] ) ;
480486 } ,
487+ executeRawSync : ( query : string , params ?: Scalar [ ] ) => {
488+ const sanitizedParams = sanitizeArrayBuffersInArray ( params ) ;
489+ return db . executeRawSync ( query , sanitizedParams as Scalar [ ] ) ;
490+ } ,
481491 executeSync : ( query : string , params ?: Scalar [ ] ) : QueryResult => {
482492 const sanitizedParams = sanitizeArrayBuffersInArray ( params ) ;
483493
0 commit comments