diff --git a/package.json b/package.json index 03c5ef14c..6071f74b8 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "scripts": { "build": "node-pre-gyp build", "build:debug": "node-pre-gyp build --debug", - "install": "node-pre-gyp install --fallback-to-build", + "install": "node-pre-gyp install --build-from-source", "pretest": "node test/support/createdb.js", "test": "mocha -R spec --timeout 480000", "pack": "node-pre-gyp package" diff --git a/src/statement.cc b/src/statement.cc index 1981df954..2ca169ba3 100644 --- a/src/statement.cc +++ b/src/statement.cc @@ -810,7 +810,12 @@ Napi::Value Statement::RowToJS(Napi::Env env, Row* row) { switch (field->type) { case SQLITE_INTEGER: { - value = Napi::Number::New(env, ((Values::Integer*)field)->value); + if(((Values::Integer*)field)->value & 0xffe0000000000000) { + std::string s = std::to_string(((Values::Integer*)field)->value); + value = Napi::String::New(env, s.c_str(), s.size()); + } else { + value = Napi::Number::New(env, ((Values::Integer*)field)->value); + } } break; case SQLITE_FLOAT: { value = Napi::Number::New(env, ((Values::Float*)field)->value);