Skip to content

Commit 9554b1a

Browse files
cuca24HenryHengZJ
andauthored
Ensure proper cleanup of the database connection in createSchema (#5315)
* Ensure proper cleanup of the database connection in `createSchema` method in `MySQLRecordManager`. * Update MySQLrecordManager.ts * Refactor createSchema to optimize dataSource usage Refactor createSchema method to avoid duplicate dataSource retrieval. * Refactor createSchema method for efficiency Refactor createSchema to avoid redundant dataSource retrieval. --------- Co-authored-by: Henry Heng <henryheng@flowiseai.com>
1 parent ac565b8 commit 9554b1a

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

packages/components/nodes/recordmanager/MySQLRecordManager/MySQLrecordManager.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,8 @@ class MySQLRecordManager implements RecordManagerInterface {
205205
}
206206

207207
async createSchema(): Promise<void> {
208+
const dataSource = await this.getDataSource()
208209
try {
209-
const dataSource = await this.getDataSource()
210210
const queryRunner = dataSource.createQueryRunner()
211211
const tableName = this.sanitizeTableName(this.tableName)
212212

@@ -241,6 +241,8 @@ class MySQLRecordManager implements RecordManagerInterface {
241241
return
242242
}
243243
throw e
244+
} finally {
245+
await dataSource.destroy()
244246
}
245247
}
246248

packages/components/nodes/recordmanager/PostgresRecordManager/PostgresRecordManager.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@ class PostgresRecordManager implements RecordManagerInterface {
222222
}
223223

224224
async createSchema(): Promise<void> {
225+
const dataSource = await this.getDataSource()
225226
try {
226-
const dataSource = await this.getDataSource()
227227
const queryRunner = dataSource.createQueryRunner()
228228
const tableName = this.sanitizeTableName(this.tableName)
229229

@@ -251,6 +251,8 @@ class PostgresRecordManager implements RecordManagerInterface {
251251
return
252252
}
253253
throw e
254+
} finally {
255+
await dataSource.destroy()
254256
}
255257
}
256258

packages/components/nodes/recordmanager/SQLiteRecordManager/SQLiteRecordManager.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ class SQLiteRecordManager implements RecordManagerInterface {
179179
}
180180

181181
async createSchema(): Promise<void> {
182+
const dataSource = await this.getDataSource()
182183
try {
183-
const dataSource = await this.getDataSource()
184184
const queryRunner = dataSource.createQueryRunner()
185185
const tableName = this.sanitizeTableName(this.tableName)
186186

@@ -208,6 +208,8 @@ CREATE INDEX IF NOT EXISTS group_id_index ON "${tableName}" (group_id);`)
208208
return
209209
}
210210
throw e
211+
} finally {
212+
await dataSource.destroy()
211213
}
212214
}
213215

0 commit comments

Comments
 (0)