@@ -43,6 +43,7 @@ export class AlaSqlQuery extends AlaSqlTmpQuery {
4343
4444const sqlQuery = children . sql . children . text . unevaledValue . replace ( / + / g, ' ' ) ;
4545const isCreateDBQuery = sqlQuery . toUpperCase ( ) . startsWith ( 'CREATE DATABASE' ) ;
46+ const isDropDBQuery = sqlQuery . toUpperCase ( ) . startsWith ( 'DROP DATABASE' ) ;
4647
4748return async ( p :{ args ?:Record < string , unknown > } ) :Promise < QueryResult > => {
4849try {
@@ -52,8 +53,11 @@ export class AlaSqlQuery extends AlaSqlTmpQuery {
5253if ( databaseType === 'localDB' && isCreateDBQuery ) {
5354const updatedQuery = `${ sqlQuery . slice ( 0 , 6 ) } ${ selectedDB } ${ sqlQuery . slice ( 6 ) } ` ;
5455const tableName = updatedQuery . split ( ' ' ) . pop ( ) ?. replace ( ';' , '' ) ;
55- result = alasql ( updatedQuery ) ;
56- result = alasql ( `ATTACH${ selectedDB } DATABASE${ tableName } ;` ) ;
56+ result = await alasql . promise ( updatedQuery ) ;
57+ result = await alasql . promise ( `ATTACH${ selectedDB } DATABASE${ tableName } ;` ) ;
58+ } else if ( databaseType === 'localDB' && isDropDBQuery ) {
59+ const updatedQuery = `${ sqlQuery . slice ( 0 , 4 ) } ${ selectedDB } ${ sqlQuery . slice ( 4 ) } ` ;
60+ result = await alasql ( updatedQuery ) ;
5761} else {
5862let segments = getDynamicStringSegments ( sqlQuery ) ;
5963let dataArr :any = [ ] ;
@@ -65,7 +69,7 @@ export class AlaSqlQuery extends AlaSqlTmpQuery {
6569}
6670return segment ;
6771} )
68- result = alasql ( segments . join ( ' ' ) , dataArr ) ;
72+ result = await alasql . promise ( segments . join ( ' ' ) , dataArr ) ;
6973}
7074
7175return {