fix copy race

This commit is contained in:
mertalev
2026-02-14 03:32:59 -05:00
parent 6b04fa3f94
commit 839fb61340
+6 -2
View File
@@ -394,8 +394,9 @@ export class WriteBuffer {
} }
private async copyInsert(tableName: string, rows: InsertRow[]) { private async copyInsert(tableName: string, rows: InsertRow[]) {
const writable = await this const conn = await this.pgPool.reserve();
.pgPool`COPY ${this.pgPool(tableName)} (code, data, priority, "runAfter") FROM STDIN WITH (FORMAT csv)`.writable(); try {
const writable = await conn`COPY ${conn(tableName)} (code, data, priority, "runAfter") FROM STDIN WITH (FORMAT csv)`.writable();
const now = new Date().toISOString(); const now = new Date().toISOString();
for (const row of rows) { for (const row of rows) {
const data = row.data != null ? csvEscape(JSON.stringify(row.data)) : ''; const data = row.data != null ? csvEscape(JSON.stringify(row.data)) : '';
@@ -408,6 +409,9 @@ export class WriteBuffer {
writable.on('finish', resolve); writable.on('finish', resolve);
writable.on('error', reject); writable.on('error', reject);
}); });
} finally {
conn.release();
}
} }
private insertChunk(tableName: string, rows: InsertRow[]) { private insertChunk(tableName: string, rows: InsertRow[]) {