duckdb 0.3.5-dev894.0 → 0.3.5-dev962.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/configure CHANGED
@@ -10,5 +10,5 @@ if [ ! -f "../../scripts/amalgamation.py" ]; then
10
10
  exit 1
11
11
  fi
12
12
 
13
- (cd ../.. && python scripts/amalgamation.py --extended --source=tools/nodejs/src/duckdb.cpp --header=tools/nodejs/src/duckdb.hpp)
14
- (cd ../.. && python scripts/parquet_amalgamation.py && cp src/amalgamation/parquet-amalgamation* tools/nodejs/src/)
13
+ (cd ../.. && python3 scripts/amalgamation.py --extended --source=tools/nodejs/src/duckdb.cpp --header=tools/nodejs/src/duckdb.hpp)
14
+ (cd ../.. && python3 scripts/parquet_amalgamation.py && cp src/amalgamation/parquet-amalgamation* tools/nodejs/src/)
@@ -1,8 +1,6 @@
1
- var os = require('os');
2
1
  var binary = require('@mapbox/node-pre-gyp');
3
2
  var path = require('path');
4
3
  var binding_path = binary.find(path.resolve(path.join(__dirname,'../package.json')));
4
+ var binding = require(binding_path);
5
5
 
6
- // // dlopen is used because we need to specify the RTLD_GLOBAL flag to be able to resolve duckdb symbols
7
- // on linux where RTLD_LOCAL is the default.
8
- process.dlopen(module, binding_path, os.constants.dlopen.RTLD_NOW | os.constants.dlopen.RTLD_GLOBAL)
6
+ module.exports = exports = binding;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
- "version": "0.3.5-dev894.0",
4
+ "version": "0.3.5-dev962.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -41350,26 +41350,23 @@ hugeint_t hugeint_t::operator-() const {
41350
41350
  }
41351
41351
 
41352
41352
  hugeint_t hugeint_t::operator>>(const hugeint_t &rhs) const {
41353
- if (upper < 0) {
41354
- return hugeint_t(0);
41355
- }
41356
41353
  hugeint_t result;
41357
41354
  uint64_t shift = rhs.lower;
41358
41355
  if (rhs.upper != 0 || shift >= 128) {
41359
41356
  return hugeint_t(0);
41360
- } else if (shift == 64) {
41361
- result.upper = 0;
41362
- result.lower = upper;
41363
41357
  } else if (shift == 0) {
41364
41358
  return *this;
41359
+ } else if (shift == 64) {
41360
+ result.upper = (upper < 0) ? -1 : 0;
41361
+ result.lower = upper;
41365
41362
  } else if (shift < 64) {
41366
- // perform upper shift in unsigned integer, and mask away the most significant bit
41367
- result.lower = (uint64_t(upper) << (64 - shift)) + (lower >> shift);
41368
- result.upper = uint64_t(upper) >> shift;
41363
+ // perform lower shift in unsigned integer, and mask away the most significant bit
41364
+ result.lower = (uint64_t(upper) << (64 - shift)) | (lower >> shift);
41365
+ result.upper = upper >> shift;
41369
41366
  } else {
41370
41367
  D_ASSERT(shift < 128);
41371
- result.lower = uint64_t(upper) >> (shift - 64);
41372
- result.upper = 0;
41368
+ result.lower = upper >> (shift - 64);
41369
+ result.upper = (upper < 0) ? -1 : 0;
41373
41370
  }
41374
41371
  return result;
41375
41372
  }
@@ -125506,9 +125503,25 @@ void ExtensionHelper::LoadExternalExtension(DatabaseInstance &db, const string &
125506
125503
  init_fun = LoadFunctionFromDLL<ext_init_fun_t>(lib_hdl, init_fun_name, filename);
125507
125504
  version_fun = LoadFunctionFromDLL<ext_version_fun_t>(lib_hdl, version_fun_name, filename);
125508
125505
 
125509
- auto extension_version = std::string((*version_fun)());
125510
- auto engine_version = DuckDB::LibraryVersion();
125511
- if (extension_version != engine_version) {
125506
+ std::string engine_version = std::string(DuckDB::LibraryVersion());
125507
+
125508
+ auto version_fun_result = (*version_fun)();
125509
+ if (version_fun_result == nullptr) {
125510
+ throw InvalidInputException("Extension \"%s\" returned a nullptr", filename);
125511
+ }
125512
+ std::string extension_version = std::string(version_fun_result);
125513
+
125514
+ // Trim v's if necessary
125515
+ std::string extension_version_trimmed = extension_version;
125516
+ std::string engine_version_trimmed = engine_version;
125517
+ if (extension_version.length() > 0 && extension_version[0] == 'v') {
125518
+ extension_version_trimmed = extension_version.substr(1);
125519
+ }
125520
+ if (engine_version.length() > 0 && engine_version[0] == 'v') {
125521
+ engine_version_trimmed = engine_version.substr(1);
125522
+ }
125523
+
125524
+ if (extension_version_trimmed != engine_version_trimmed) {
125512
125525
  throw InvalidInputException("Extension \"%s\" version (%s) does not match DuckDB version (%s)", filename,
125513
125526
  extension_version, engine_version);
125514
125527
  }
package/src/duckdb.hpp CHANGED
@@ -11,8 +11,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
11
11
  #pragma once
12
12
  #define DUCKDB_AMALGAMATION 1
13
13
  #define DUCKDB_AMALGAMATION_EXTENDED 1
14
- #define DUCKDB_SOURCE_ID "5287a381f"
15
- #define DUCKDB_VERSION "v0.3.5-dev894"
14
+ #define DUCKDB_SOURCE_ID "ad0a90309"
15
+ #define DUCKDB_VERSION "v0.3.5-dev962"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //