From da3f8532a4e62663a2c96da84f5a72c7ffe7ae64 Mon Sep 17 00:00:00 2001 From: Zach Aller Date: Wed, 5 Sep 2012 09:16:20 -0500 Subject: [PATCH] fix bigint negative numbers and test for them also Signed-off-by: Zach Aller --- src/data-type.coffee | 8 +++----- test/integration/parameterised-statements-test.coffee | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) 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)