diff --git a/integration-tests/__tests__/query.spec.js b/integration-tests/__tests__/query.spec.js index 933558f44..317b6d241 100644 --- a/integration-tests/__tests__/query.spec.js +++ b/integration-tests/__tests__/query.spec.js @@ -228,7 +228,6 @@ describe('Query', () => { 'Binary', testWrapper(async (conn, driver, engine) => { await runCommandOnDriver(conn, driver, dmp => - // bytea dmp.createTable({ pureName: 't1', columns: [ @@ -240,13 +239,11 @@ describe('Query', () => { }, }) ); - const structure = await driver.analyseFull(conn); const table = structure.tables.find(x => x.pureName == 't1'); - await runCommandOnDriver(conn, driver, dmp => dmp.put("INSERT INTO t1 (val) VALUES (%v)", {$binary: {base64: 'iVBORw0KWgo='}})); - - const res2 = await runQueryOnDriver(conn, driver, dmp => dmp.put('SELECT val FROM t1')); + await runCommandOnDriver(conn, driver, dmp => dmp.put("INSERT INTO ~t1 (~val) VALUES (%v)", {$binary: {base64: 'iVBORw0KWgo='}})); + const res2 = await runQueryOnDriver(conn, driver, dmp => dmp.put('SELECT ~val FROM ~t1')); const row = res2.rows[0]; const keys = Object.keys(row); diff --git a/packages/tools/src/SqlDumper.ts b/packages/tools/src/SqlDumper.ts index 686377925..b11ab0077 100644 --- a/packages/tools/src/SqlDumper.ts +++ b/packages/tools/src/SqlDumper.ts @@ -78,7 +78,9 @@ export class SqlDumper implements AlterProcessor { else if (_isNumber(value)) this.putRaw(value.toString()); else if (_isDate(value)) this.putStringValue(new Date(value).toISOString()); else if (value?.type == 'Buffer' && _isArray(value?.data)) this.putByteArrayValue(value?.data); - else if (value?.$binary) this.putByteArrayValue(Buffer.from(value?.$binary.base64, 'base64')); + else if (value?.$binary?.base64) { + this.putByteArrayValue(Array.from(Buffer.from(value.$binary.base64, 'base64'))); + } else if (value?.$bigint) this.putRaw(value?.$bigint); else if (_isPlainObject(value) || _isArray(value)) this.putStringValue(JSON.stringify(value)); else this.put('^null');