From 701a52815f8ee2e3532817f8df90688643a263ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A1lint=20Balku?= <75612187+balint-balku-scraperapi@users.noreply.github.com> Date: Mon, 4 Jan 2021 15:52:35 +0100 Subject: [PATCH] Insert improperly compares number of columns and value columns Signed-off-by: Balint Balku --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 1070ddd..6901cf7 100644 --- a/index.js +++ b/index.js @@ -447,10 +447,12 @@ var Base = Class.extend({ insert: function(tableName, valueArray, callback) { var columnNameArray = {}; + var numValueColumns; if (arguments.length > 3 || Array.isArray(callback)) { columnNameArray = valueArray; valueArray = callback; + numValueColumns = Array.isArray(valueArray[0]) ? valueArray[0].length : valueArray.length; } else { var names; if (Array.isArray(valueArray)) { @@ -462,9 +464,11 @@ var Base = Class.extend({ for (var i = 0; i < names.length; ++i) { columnNameArray[names[i]] = names[i]; } + + numValueColumns = valueArray.length; } - if (columnNameArray.length !== valueArray.length) { + if (columnNameArray.length !== numValueColumns) { return Promise.reject( new Error('The number of columns does not match the number of values.') ).nodeify(callback);