duckdb 0.3.5-dev606.0 → 0.3.5-dev609.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.5-dev606.0",
4
+ "version": "0.3.5-dev609.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -175458,8 +175458,20 @@ void FixedSizeScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t
175458
175458
 
175459
175459
  template <class T>
175460
175460
  void FixedSizeScan(ColumnSegment &segment, ColumnScanState &state, idx_t scan_count, Vector &result) {
175461
- // FIXME: we should be able to do a zero-copy here
175462
- FixedSizeScanPartial<T>(segment, state, scan_count, result, 0);
175461
+ auto &scan_state = (FixedSizeScanState &)*state.scan_state;
175462
+ auto start = segment.GetRelativeIndex(state.row_index);
175463
+
175464
+ auto data = scan_state.handle->node->buffer + segment.GetBlockOffset();
175465
+ auto source_data = data + start * sizeof(T);
175466
+
175467
+ result.SetVectorType(VectorType::FLAT_VECTOR);
175468
+ if (std::is_same<T, list_entry_t>()) {
175469
+ // list columns are modified in-place during the scans to correct the offsets
175470
+ // so we can't do a zero-copy there
175471
+ memcpy(FlatVector::GetData(result), source_data, scan_count * sizeof(T));
175472
+ } else {
175473
+ FlatVector::SetData(result, source_data);
175474
+ }
175463
175475
  }
175464
175476
 
175465
175477
  //===--------------------------------------------------------------------===//
@@ -182869,6 +182881,7 @@ idx_t ListColumnData::ScanCount(ColumnScanState &state, Vector &result, idx_t co
182869
182881
  D_ASSERT(!updates);
182870
182882
 
182871
182883
  idx_t scan_count = ScanVector(state, result, count);
182884
+ D_ASSERT(scan_count > 0);
182872
182885
  validity.ScanCount(state.child_states[0], result, count);
182873
182886
 
182874
182887
  auto data = FlatVector::GetData<list_entry_t>(result);
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 "bc54a4a73"
15
- #define DUCKDB_VERSION "v0.3.5-dev606"
14
+ #define DUCKDB_SOURCE_ID "256c1992f"
15
+ #define DUCKDB_VERSION "v0.3.5-dev609"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //