@@ -36,7 +36,7 @@ type RemoteEvents = {
3636export class Remote extends EventEmitter < RemoteEvents > {
3737 static readonly baseDbName = PgIdentifier . fromString ( "postgres" ) ;
3838 private static readonly optimizingDbPrefix = "optimizing_db" ;
39- static defaultOptimizingDbPrefix = PgIdentifier . fromString ( ` ${ Remote . optimizingDbPrefix } _0` )
39+ static defaultOptimizingDbPrefix = PgIdentifier . fromString ( Remote . optimizingDbPrefix )
4040
4141 /* Threshold that we determine is "too few rows" for Postgres to start using indexes
4242 * and not defaulting to table scan.
@@ -59,6 +59,10 @@ export class Remote extends EventEmitter<RemoteEvents> {
5959 /** The URL of the current generation optimizing db */
6060 private optimizingDbUDRL : Connectable ;
6161
62+ get optimizingDb ( ) : Connectable {
63+ return this . optimizingDbUDRL ;
64+ }
65+
6266 private isPolling = false ;
6367 private queryLoader ?: QueryLoader ;
6468 private schemaLoader ?: SchemaLoader ;
@@ -213,18 +217,20 @@ export class Remote extends EventEmitter<RemoteEvents> {
213217 }
214218 }
215219
220+ private generationDbName ( generation : number ) : PgIdentifier {
221+ return generation === 0
222+ ? Remote . defaultOptimizingDbPrefix
223+ : PgIdentifier . fromString ( `${ Remote . optimizingDbPrefix } _${ generation } ` ) ;
224+ }
225+
216226 private async resetDatabase ( ) : Promise < void > {
217227 const prevGeneration = this . generation ;
218228 const nextGeneration = prevGeneration + 1 ;
219- const nextDbName = PgIdentifier . fromString (
220- `${ Remote . optimizingDbPrefix } _${ nextGeneration } ` ,
221- ) ;
229+ const nextDbName = this . generationDbName ( nextGeneration ) ;
222230 log . info ( `Creating new generation database: ${ nextDbName } ` , "remote" ) ;
223231 const baseDb = this . manager . getOrCreateConnection ( this . baseDbURL ) ;
224232 await baseDb . exec ( `create database ${ nextDbName } ;` ) ;
225- const prevDbName = PgIdentifier . fromString (
226- `${ Remote . optimizingDbPrefix } _${ prevGeneration } ` ,
227- ) ;
233+ const prevDbName = this . generationDbName ( prevGeneration ) ;
228234 this . generation = nextGeneration ;
229235 this . optimizingDbUDRL = this . optimizingDbUDRL . withDatabaseName ( nextDbName ) ;
230236 this . optimizer . updateConnectable ( this . optimizingDbUDRL ) ;
0 commit comments