diff --git a/src/data-type.coffee b/src/data-type.coffee index 629b63b3c..7c24d1f44 100644 --- a/src/data-type.coffee +++ b/src/data-type.coffee @@ -177,12 +177,10 @@ TYPE = buffer.writeUInt8(8) # ParamLenData - if parameter.value? + if parameter.value buffer.writeUInt8(8) - buffer.writeUInt32LE(parseInt(parameter.value) % 0x100000000) - buffer.writeUInt32LE(Math.floor(parseInt(parameter.value) / 0x100000000)) - # might need to sign the high value not sure - # buffer.writeInt32LE(Math.floor(parseInt(parameter.value) / 0x100000000)) + buffer.writeInt32LE(parseInt(parameter.value) % 0x100000000) + buffer.writeInt32LE(Math.floor(parseInt(parameter.value) / 0x100000000)) else buffer.writeUInt8(0) diff --git a/test/integration/parameterised-statements-test.coffee b/test/integration/parameterised-statements-test.coffee index 744db5ed1..de3fa711d 100644 --- a/test/integration/parameterised-statements-test.coffee +++ b/test/integration/parameterised-statements-test.coffee @@ -50,7 +50,7 @@ exports.bigint = (test) -> execSql(test, TYPES.BigInt, 18014402804449279) exports.bigintsmall = (test) -> - execSql(test, TYPES.BigInt, 8) + execSql(test, TYPES.BigInt, -8) exports.float = (test) -> execSql(test, TYPES.Float, 9654.2546456567565767644)