duckdb 0.3.2-dev898.0 → 0.3.2-dev901.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
- "version": "0.3.2-dev898.0",
4
+ "version": "0.3.2-dev901.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -97168,7 +97168,7 @@ namespace duckdb {
97168
97168
  template <class T>
97169
97169
  void WriteData(duckdb_result *out, ChunkCollection &source, idx_t col) {
97170
97170
  idx_t row = 0;
97171
- auto target = (T *)out->columns[col].data;
97171
+ auto target = (T *)out->__deprecated_columns[col].__deprecated_data;
97172
97172
  for (auto &chunk : source.Chunks()) {
97173
97173
  auto source = FlatVector::GetData<T>(chunk->data[col]);
97174
97174
  auto &mask = FlatVector::Validity(chunk->data[col]);
@@ -97191,46 +97191,49 @@ duckdb_state duckdb_translate_result(MaterializedQueryResult *result, duckdb_res
97191
97191
  memset(out, 0, sizeof(duckdb_result));
97192
97192
  if (!result->success) {
97193
97193
  // write the error message
97194
- out->error_message = strdup(result->error.c_str());
97194
+ out->__deprecated_error_message = strdup(result->error.c_str());
97195
97195
  return DuckDBError;
97196
97196
  }
97197
97197
  // copy the data
97198
97198
  // first write the meta data
97199
- out->column_count = result->types.size();
97200
- out->row_count = result->collection.Count();
97201
- out->rows_changed = 0;
97202
- if (out->row_count > 0 && StatementTypeReturnChanges(result->statement_type)) {
97199
+ out->__deprecated_column_count = result->types.size();
97200
+ out->__deprecated_row_count = result->collection.Count();
97201
+ out->__deprecated_rows_changed = 0;
97202
+ if (out->__deprecated_row_count > 0 && StatementTypeReturnChanges(result->statement_type)) {
97203
97203
  // update total changes
97204
97204
  auto row_changes = result->GetValue(0, 0);
97205
97205
  if (!row_changes.is_null && row_changes.TryCastAs(LogicalType::BIGINT)) {
97206
- out->rows_changed = row_changes.GetValue<int64_t>();
97206
+ out->__deprecated_rows_changed = row_changes.GetValue<int64_t>();
97207
97207
  }
97208
97208
  }
97209
- out->columns = (duckdb_column *)duckdb_malloc(sizeof(duckdb_column) * out->column_count);
97210
- if (!out->columns) { // LCOV_EXCL_START
97209
+ out->__deprecated_columns = (duckdb_column *)duckdb_malloc(sizeof(duckdb_column) * out->__deprecated_column_count);
97210
+ if (!out->__deprecated_columns) { // LCOV_EXCL_START
97211
97211
  // malloc failure
97212
97212
  return DuckDBError;
97213
97213
  } // LCOV_EXCL_STOP
97214
97214
 
97215
97215
  // zero initialize the columns (so we can cleanly delete it in case a malloc fails)
97216
- memset(out->columns, 0, sizeof(duckdb_column) * out->column_count);
97217
- for (idx_t i = 0; i < out->column_count; i++) {
97218
- out->columns[i].type = ConvertCPPTypeToC(result->types[i]);
97219
- out->columns[i].name = strdup(result->names[i].c_str());
97220
- out->columns[i].nullmask = (bool *)duckdb_malloc(sizeof(bool) * out->row_count);
97221
- out->columns[i].data = duckdb_malloc(GetCTypeSize(out->columns[i].type) * out->row_count);
97222
- if (!out->columns[i].nullmask || !out->columns[i].name || !out->columns[i].data) { // LCOV_EXCL_START
97216
+ memset(out->__deprecated_columns, 0, sizeof(duckdb_column) * out->__deprecated_column_count);
97217
+ for (idx_t i = 0; i < out->__deprecated_column_count; i++) {
97218
+ out->__deprecated_columns[i].__deprecated_type = ConvertCPPTypeToC(result->types[i]);
97219
+ out->__deprecated_columns[i].__deprecated_name = strdup(result->names[i].c_str());
97220
+ out->__deprecated_columns[i].__deprecated_nullmask =
97221
+ (bool *)duckdb_malloc(sizeof(bool) * out->__deprecated_row_count);
97222
+ out->__deprecated_columns[i].__deprecated_data =
97223
+ duckdb_malloc(GetCTypeSize(out->__deprecated_columns[i].__deprecated_type) * out->__deprecated_row_count);
97224
+ if (!out->__deprecated_columns[i].__deprecated_nullmask || !out->__deprecated_columns[i].__deprecated_name ||
97225
+ !out->__deprecated_columns[i].__deprecated_data) { // LCOV_EXCL_START
97223
97226
  // malloc failure
97224
97227
  return DuckDBError;
97225
97228
  } // LCOV_EXCL_STOP
97226
97229
  }
97227
97230
  // now write the data
97228
- for (idx_t col = 0; col < out->column_count; col++) {
97231
+ for (idx_t col = 0; col < out->__deprecated_column_count; col++) {
97229
97232
  // first set the nullmask
97230
97233
  idx_t row = 0;
97231
97234
  for (auto &chunk : result->collection.Chunks()) {
97232
97235
  for (idx_t k = 0; k < chunk->size(); k++) {
97233
- out->columns[col].nullmask[row++] = FlatVector::IsNull(chunk->data[col], k);
97236
+ out->__deprecated_columns[col].__deprecated_nullmask[row++] = FlatVector::IsNull(chunk->data[col], k);
97234
97237
  }
97235
97238
  }
97236
97239
  // then write the data
@@ -97281,7 +97284,7 @@ duckdb_state duckdb_translate_result(MaterializedQueryResult *result, duckdb_res
97281
97284
  break;
97282
97285
  case LogicalTypeId::VARCHAR: {
97283
97286
  idx_t row = 0;
97284
- auto target = (const char **)out->columns[col].data;
97287
+ auto target = (const char **)out->__deprecated_columns[col].__deprecated_data;
97285
97288
  for (auto &chunk : result->collection.Chunks()) {
97286
97289
  auto source = FlatVector::GetData<string_t>(chunk->data[col]);
97287
97290
  for (idx_t k = 0; k < chunk->size(); k++) {
@@ -97301,7 +97304,7 @@ duckdb_state duckdb_translate_result(MaterializedQueryResult *result, duckdb_res
97301
97304
  }
97302
97305
  case LogicalTypeId::BLOB: {
97303
97306
  idx_t row = 0;
97304
- auto target = (duckdb_blob *)out->columns[col].data;
97307
+ auto target = (duckdb_blob *)out->__deprecated_columns[col].__deprecated_data;
97305
97308
  for (auto &chunk : result->collection.Chunks()) {
97306
97309
  auto source = FlatVector::GetData<string_t>(chunk->data[col]);
97307
97310
  for (idx_t k = 0; k < chunk->size(); k++) {
@@ -97323,7 +97326,7 @@ duckdb_state duckdb_translate_result(MaterializedQueryResult *result, duckdb_res
97323
97326
  case LogicalTypeId::TIMESTAMP_MS:
97324
97327
  case LogicalTypeId::TIMESTAMP_SEC: {
97325
97328
  idx_t row = 0;
97326
- auto target = (timestamp_t *)out->columns[col].data;
97329
+ auto target = (timestamp_t *)out->__deprecated_columns[col].__deprecated_data;
97327
97330
  for (auto &chunk : result->collection.Chunks()) {
97328
97331
  auto source = FlatVector::GetData<timestamp_t>(chunk->data[col]);
97329
97332
 
@@ -97345,7 +97348,7 @@ duckdb_state duckdb_translate_result(MaterializedQueryResult *result, duckdb_res
97345
97348
  }
97346
97349
  case LogicalTypeId::HUGEINT: {
97347
97350
  idx_t row = 0;
97348
- auto target = (duckdb_hugeint *)out->columns[col].data;
97351
+ auto target = (duckdb_hugeint *)out->__deprecated_columns[col].__deprecated_data;
97349
97352
  for (auto &chunk : result->collection.Chunks()) {
97350
97353
  auto source = FlatVector::GetData<hugeint_t>(chunk->data[col]);
97351
97354
  for (idx_t k = 0; k < chunk->size(); k++) {
@@ -97360,7 +97363,7 @@ duckdb_state duckdb_translate_result(MaterializedQueryResult *result, duckdb_res
97360
97363
  }
97361
97364
  case LogicalTypeId::INTERVAL: {
97362
97365
  idx_t row = 0;
97363
- auto target = (duckdb_interval *)out->columns[col].data;
97366
+ auto target = (duckdb_interval *)out->__deprecated_columns[col].__deprecated_data;
97364
97367
  for (auto &chunk : result->collection.Chunks()) {
97365
97368
  auto source = FlatVector::GetData<interval_t>(chunk->data[col]);
97366
97369
  for (idx_t k = 0; k < chunk->size(); k++) {
@@ -97386,101 +97389,101 @@ duckdb_state duckdb_translate_result(MaterializedQueryResult *result, duckdb_res
97386
97389
  } // namespace duckdb
97387
97390
 
97388
97391
  static void DuckdbDestroyColumn(duckdb_column column, idx_t count) {
97389
- if (column.data) {
97390
- if (column.type == DUCKDB_TYPE_VARCHAR) {
97392
+ if (column.__deprecated_data) {
97393
+ if (column.__deprecated_type == DUCKDB_TYPE_VARCHAR) {
97391
97394
  // varchar, delete individual strings
97392
- auto data = (char **)column.data;
97395
+ auto data = (char **)column.__deprecated_data;
97393
97396
  for (idx_t i = 0; i < count; i++) {
97394
97397
  if (data[i]) {
97395
97398
  duckdb_free(data[i]);
97396
97399
  }
97397
97400
  }
97398
- } else if (column.type == DUCKDB_TYPE_BLOB) {
97401
+ } else if (column.__deprecated_type == DUCKDB_TYPE_BLOB) {
97399
97402
  // blob, delete individual blobs
97400
- auto data = (duckdb_blob *)column.data;
97403
+ auto data = (duckdb_blob *)column.__deprecated_data;
97401
97404
  for (idx_t i = 0; i < count; i++) {
97402
97405
  if (data[i].data) {
97403
97406
  duckdb_free((void *)data[i].data);
97404
97407
  }
97405
97408
  }
97406
97409
  }
97407
- duckdb_free(column.data);
97410
+ duckdb_free(column.__deprecated_data);
97408
97411
  }
97409
- if (column.nullmask) {
97410
- duckdb_free(column.nullmask);
97412
+ if (column.__deprecated_nullmask) {
97413
+ duckdb_free(column.__deprecated_nullmask);
97411
97414
  }
97412
- if (column.name) {
97413
- duckdb_free(column.name);
97415
+ if (column.__deprecated_name) {
97416
+ duckdb_free(column.__deprecated_name);
97414
97417
  }
97415
97418
  }
97416
97419
 
97417
97420
  void duckdb_destroy_result(duckdb_result *result) {
97418
- if (result->error_message) {
97419
- duckdb_free(result->error_message);
97421
+ if (result->__deprecated_error_message) {
97422
+ duckdb_free(result->__deprecated_error_message);
97420
97423
  }
97421
- if (result->columns) {
97422
- for (idx_t i = 0; i < result->column_count; i++) {
97423
- DuckdbDestroyColumn(result->columns[i], result->row_count);
97424
+ if (result->__deprecated_columns) {
97425
+ for (idx_t i = 0; i < result->__deprecated_column_count; i++) {
97426
+ DuckdbDestroyColumn(result->__deprecated_columns[i], result->__deprecated_row_count);
97424
97427
  }
97425
- duckdb_free(result->columns);
97428
+ duckdb_free(result->__deprecated_columns);
97426
97429
  }
97427
97430
  memset(result, 0, sizeof(duckdb_result));
97428
97431
  }
97429
97432
 
97430
97433
  const char *duckdb_column_name(duckdb_result *result, idx_t col) {
97431
- if (!result || col >= result->column_count) {
97434
+ if (!result || col >= result->__deprecated_column_count) {
97432
97435
  return nullptr;
97433
97436
  }
97434
- return result->columns[col].name;
97437
+ return result->__deprecated_columns[col].__deprecated_name;
97435
97438
  }
97436
97439
 
97437
97440
  duckdb_type duckdb_column_type(duckdb_result *result, idx_t col) {
97438
- if (!result || col >= result->column_count) {
97441
+ if (!result || col >= result->__deprecated_column_count) {
97439
97442
  return DUCKDB_TYPE_INVALID;
97440
97443
  }
97441
- return result->columns[col].type;
97444
+ return result->__deprecated_columns[col].__deprecated_type;
97442
97445
  }
97443
97446
 
97444
97447
  idx_t duckdb_column_count(duckdb_result *result) {
97445
97448
  if (!result) {
97446
97449
  return 0;
97447
97450
  }
97448
- return result->column_count;
97451
+ return result->__deprecated_column_count;
97449
97452
  }
97450
97453
 
97451
97454
  idx_t duckdb_row_count(duckdb_result *result) {
97452
97455
  if (!result) {
97453
97456
  return 0;
97454
97457
  }
97455
- return result->row_count;
97458
+ return result->__deprecated_row_count;
97456
97459
  }
97457
97460
 
97458
97461
  idx_t duckdb_rows_changed(duckdb_result *result) {
97459
97462
  if (!result) {
97460
97463
  return 0;
97461
97464
  }
97462
- return result->rows_changed;
97465
+ return result->__deprecated_rows_changed;
97463
97466
  }
97464
97467
 
97465
97468
  void *duckdb_column_data(duckdb_result *result, idx_t col) {
97466
- if (!result || col >= result->column_count) {
97469
+ if (!result || col >= result->__deprecated_column_count) {
97467
97470
  return nullptr;
97468
97471
  }
97469
- return result->columns[col].data;
97472
+ return result->__deprecated_columns[col].__deprecated_data;
97470
97473
  }
97471
97474
 
97472
97475
  bool *duckdb_nullmask_data(duckdb_result *result, idx_t col) {
97473
- if (!result || col >= result->column_count) {
97476
+ if (!result || col >= result->__deprecated_column_count) {
97474
97477
  return nullptr;
97475
97478
  }
97476
- return result->columns[col].nullmask;
97479
+ return result->__deprecated_columns[col].__deprecated_nullmask;
97477
97480
  }
97478
97481
 
97479
97482
  char *duckdb_result_error(duckdb_result *result) {
97480
97483
  if (!result) {
97481
97484
  return nullptr;
97482
97485
  }
97483
- return result->error_message;
97486
+ return result->__deprecated_error_message;
97484
97487
  }
97485
97488
 
97486
97489
 
@@ -97511,8 +97514,8 @@ namespace duckdb {
97511
97514
  //===--------------------------------------------------------------------===//
97512
97515
  template <class T>
97513
97516
  T UnsafeFetch(duckdb_result *result, idx_t col, idx_t row) {
97514
- D_ASSERT(row < result->row_count);
97515
- return ((T *)result->columns[col].data)[row];
97517
+ D_ASSERT(row < result->__deprecated_row_count);
97518
+ return ((T *)result->__deprecated_columns[col].__deprecated_data)[row];
97516
97519
  }
97517
97520
 
97518
97521
  //===--------------------------------------------------------------------===//
@@ -97633,10 +97636,10 @@ RESULT_TYPE TryCastCInternal(duckdb_result *result, idx_t col, idx_t row) {
97633
97636
  }
97634
97637
 
97635
97638
  static bool CanFetchValue(duckdb_result *result, idx_t col, idx_t row) {
97636
- if (!result || col >= result->column_count || row >= result->row_count) {
97639
+ if (!result || col >= result->__deprecated_column_count || row >= result->__deprecated_row_count) {
97637
97640
  return false;
97638
97641
  }
97639
- if (result->columns[col].nullmask[row]) {
97642
+ if (result->__deprecated_columns[col].__deprecated_nullmask[row]) {
97640
97643
  return false;
97641
97644
  }
97642
97645
  return true;
@@ -97647,7 +97650,7 @@ static RESULT_TYPE GetInternalCValue(duckdb_result *result, idx_t col, idx_t row
97647
97650
  if (!CanFetchValue(result, col, row)) {
97648
97651
  return FetchDefaultValue::Operation<RESULT_TYPE>();
97649
97652
  }
97650
- switch (result->columns[col].type) {
97653
+ switch (result->__deprecated_columns[col].__deprecated_type) {
97651
97654
  case DUCKDB_TYPE_BOOLEAN:
97652
97655
  return TryCastCInternal<bool, RESULT_TYPE, OP>(result, col, row);
97653
97656
  case DUCKDB_TYPE_TINYINT:
@@ -97788,7 +97791,7 @@ char *duckdb_value_varchar_internal(duckdb_result *result, idx_t col, idx_t row)
97788
97791
  }
97789
97792
 
97790
97793
  duckdb_blob duckdb_value_blob(duckdb_result *result, idx_t col, idx_t row) {
97791
- if (CanFetchValue(result, col, row) && result->columns[col].type == DUCKDB_TYPE_BLOB) {
97794
+ if (CanFetchValue(result, col, row) && result->__deprecated_columns[col].__deprecated_type == DUCKDB_TYPE_BLOB) {
97792
97795
  auto internal_result = UnsafeFetch<duckdb_blob>(result, col, row);
97793
97796
 
97794
97797
  duckdb_blob result_blob;
@@ -97801,10 +97804,10 @@ duckdb_blob duckdb_value_blob(duckdb_result *result, idx_t col, idx_t row) {
97801
97804
  }
97802
97805
 
97803
97806
  bool duckdb_value_is_null(duckdb_result *result, idx_t col, idx_t row) {
97804
- if (!result || col >= result->column_count || row >= result->row_count) {
97807
+ if (!result || col >= result->__deprecated_column_count || row >= result->__deprecated_row_count) {
97805
97808
  return false;
97806
97809
  }
97807
- return result->columns[col].nullmask[row];
97810
+ return result->__deprecated_columns[col].__deprecated_nullmask[row];
97808
97811
  }
97809
97812
 
97810
97813
  //===----------------------------------------------------------------------===//
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 "e15519f1c"
15
- #define DUCKDB_VERSION "0.3.2-dev898"
14
+ #define DUCKDB_SOURCE_ID "bd74fdf89"
15
+ #define DUCKDB_VERSION "0.3.2-dev901"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -11443,6 +11443,7 @@ ExternC const PfnDliHook __pfnDliFailureHook2 = duckdb_dllimport_delay_hook;
11443
11443
 
11444
11444
 
11445
11445
 
11446
+ // duplicate of duckdb/main/winapi.hpp
11446
11447
  #ifndef DUCKDB_API
11447
11448
  #ifdef _WIN32
11448
11449
  #if defined(DUCKDB_BUILD_LIBRARY) && !defined(DUCKDB_BUILD_LOADABLE_EXTENSION)
@@ -11455,6 +11456,21 @@ ExternC const PfnDliHook __pfnDliFailureHook2 = duckdb_dllimport_delay_hook;
11455
11456
  #endif
11456
11457
  #endif
11457
11458
 
11459
+ // duplicate of duckdb/common/constants.hpp
11460
+ #ifndef DUCKDB_API_0_3_1
11461
+ #define DUCKDB_API_0_3_1 1
11462
+ #endif
11463
+ #ifndef DUCKDB_API_0_3_2
11464
+ #define DUCKDB_API_0_3_2 2
11465
+ #endif
11466
+ #ifndef DUCKDB_API_LATEST
11467
+ #define DUCKDB_API_LATEST DUCKDB_API_0_3_2
11468
+ #endif
11469
+
11470
+ #ifndef DUCKDB_API_VERSION
11471
+ #define DUCKDB_API_VERSION DUCKDB_API_LATEST
11472
+ #endif
11473
+
11458
11474
  #include <stdbool.h>
11459
11475
  #include <stdint.h>
11460
11476
  #include <stdlib.h>
@@ -11564,19 +11580,43 @@ typedef struct {
11564
11580
  } duckdb_blob;
11565
11581
 
11566
11582
  typedef struct {
11583
+ #if DUCKDB_API_VERSION < DUCKDB_API_0_3_2
11567
11584
  void *data;
11568
11585
  bool *nullmask;
11569
11586
  duckdb_type type;
11570
11587
  char *name;
11588
+ #else
11589
+ // deprecated, use duckdb_column_data
11590
+ void *__deprecated_data;
11591
+ // deprecated, use duckdb_nullmask_data
11592
+ bool *__deprecated_nullmask;
11593
+ // deprecated, use duckdb_column_type
11594
+ duckdb_type __deprecated_type;
11595
+ // deprecated, use duckdb_column_name
11596
+ char *__deprecated_name;
11597
+ #endif
11571
11598
  void *internal_data;
11572
11599
  } duckdb_column;
11573
11600
 
11574
11601
  typedef struct {
11602
+ #if DUCKDB_API_VERSION < DUCKDB_API_0_3_2
11575
11603
  idx_t column_count;
11576
11604
  idx_t row_count;
11577
11605
  idx_t rows_changed;
11578
11606
  duckdb_column *columns;
11579
11607
  char *error_message;
11608
+ #else
11609
+ // deprecated, use duckdb_column_count
11610
+ idx_t __deprecated_column_count;
11611
+ // deprecated, use duckdb_row_count
11612
+ idx_t __deprecated_row_count;
11613
+ // deprecated, use duckdb_rows_changed
11614
+ idx_t __deprecated_rows_changed;
11615
+ // deprecated, use duckdb_column_ family of functions
11616
+ duckdb_column *__deprecated_columns;
11617
+ // deprecated, use duckdb_result_error
11618
+ char *__deprecated_error_message;
11619
+ #endif
11580
11620
  void *internal_data;
11581
11621
  } duckdb_result;
11582
11622