From ea59b8d46b2a36ac251f43c8a8fb98ff15ab4e2d Mon Sep 17 00:00:00 2001 From: James Ward Date: Fri, 11 Sep 2020 09:34:58 -0400 Subject: [PATCH] fix: sql.js v1.2+ don't support undefined parameters (#6698) before sql.js 1.2 it seems undefined were treated as if they were null, but as of 1.2 they cause a query error & fail to execute this change swaps out any undefined parameters with `null`s closes #5720 --- package-lock.json | 6 +++--- package.json | 2 +- src/driver/sqljs/SqljsQueryRunner.ts | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7284fa67be..d0a7186083 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9149,9 +9149,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sql.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sql.js/-/sql.js-1.0.0.tgz", - "integrity": "sha512-fl/cQu8hDbu9bXNXTrmwwtS2wvHttWrXS9fzINVtedOBOJJWMjwSADR1aQ+DKmCdGNF4jrg/15AedJ5kcrWRJA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sql.js/-/sql.js-1.3.0.tgz", + "integrity": "sha512-bxrJ/9rqJ2SA6hpHnSodRjKBugZHewRvNTITTt74W1VZWmzODjdS68yQW0/J9oC0NWKylHEtV1ptkoTyOYO4Tw==", "dev": true }, "sqlite3": { diff --git a/package.json b/package.json index a09c349c66..aa38595f43 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "sinon": "^7.2.5", "sinon-chai": "^3.3.0", "source-map-support": "^0.5.10", - "sql.js": "^1.0.0", + "sql.js": "^1.3.0", "sqlite3": "^4.0.9", "ts-node": "^8.0.2", "typeorm-aurora-data-api-driver": "^1.3.0", diff --git a/src/driver/sqljs/SqljsQueryRunner.ts b/src/driver/sqljs/SqljsQueryRunner.ts index 51a38ea0dc..69a6349c47 100644 --- a/src/driver/sqljs/SqljsQueryRunner.ts +++ b/src/driver/sqljs/SqljsQueryRunner.ts @@ -53,6 +53,8 @@ export class SqljsQueryRunner extends AbstractSqliteQueryRunner { try { statement = databaseConnection.prepare(query); if (parameters) { + parameters = parameters.map(p => typeof p !== 'undefined' ? p : null); + statement.bind(parameters); }