@@ -1533,23 +1533,39 @@ class Database extends common.GrpcServiceObject {
15331533 ) : void ;
15341534 async getDatabaseDialect (
15351535 optionsOrCallback ?: CallOptions | GetDatabaseDialectCallback ,
1536- cb ?: GetDatabaseDialectCallback
1536+ callback ?: GetDatabaseDialectCallback
15371537 ) : Promise <
15381538 | EnumKey < typeof databaseAdmin . spanner . admin . database . v1 . DatabaseDialect >
15391539 | undefined
15401540 > {
15411541 const gaxOptions =
1542- typeof optionsOrCallback === 'object' ? optionsOrCallback : { } ;
1542+ typeof optionsOrCallback === 'object'
1543+ ? ( optionsOrCallback as CallOptions )
1544+ : { } ;
15431545
1544- if (
1545- this . databaseDialect === 'DATABASE_DIALECT_UNSPECIFIED' ||
1546- this . databaseDialect === null ||
1547- this . databaseDialect === undefined
1548- ) {
1549- const [ metadata ] = await this . getMetadata ( gaxOptions ) ;
1550- this . databaseDialect = metadata . databaseDialect ;
1546+ const cb =
1547+ typeof optionsOrCallback === 'function'
1548+ ? ( optionsOrCallback as GetDatabaseDialectCallback )
1549+ : callback ;
1550+
1551+ try {
1552+ if (
1553+ this . databaseDialect === 'DATABASE_DIALECT_UNSPECIFIED' ||
1554+ this . databaseDialect === null ||
1555+ this . databaseDialect === undefined
1556+ ) {
1557+ const [ metadata ] = await this . getMetadata ( gaxOptions ) ;
1558+ this . databaseDialect = metadata . databaseDialect ;
1559+ }
1560+ if ( cb ) {
1561+ cb ( null , this . databaseDialect ) ;
1562+ return ;
1563+ }
1564+ return this . databaseDialect || undefined ;
1565+ } catch ( err ) {
1566+ cb ! ( err as grpc . ServiceError ) ;
1567+ return ;
15511568 }
1552- return this . databaseDialect || undefined ;
15531569 }
15541570
15551571 /**
@@ -3665,6 +3681,7 @@ callbackifyAll(Database, {
36653681 'delete' ,
36663682 'exists' ,
36673683 'get' ,
3684+ 'getDatabaseDialect' ,
36683685 'getMetadata' ,
36693686 'getSchema' ,
36703687 'getSessions' ,
0 commit comments