duckdb 0.5.2-dev664.0 → 0.5.2-dev671.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.5.2-dev664.0",
4
+ "version": "0.5.2-dev671.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -106061,6 +106061,15 @@ static void ListLambdaFunction(DataChunk &args, ExpressionState &state, Vector &
106061
106061
  return;
106062
106062
  }
106063
106063
 
106064
+ // e.g. window functions in sub queries return dictionary vectors, which segfault on expression execution
106065
+ // if not flattened first
106066
+ for (idx_t i = 1; i < args.ColumnCount(); i++) {
106067
+ if (args.data[i].GetVectorType() != VectorType::FLAT_VECTOR &&
106068
+ args.data[i].GetVectorType() != VectorType::CONSTANT_VECTOR) {
106069
+ args.data[i].Flatten(count);
106070
+ }
106071
+ }
106072
+
106064
106073
  // get the lists data
106065
106074
  UnifiedVectorFormat lists_data;
106066
106075
  lists.ToUnifiedFormat(count, lists_data);
@@ -189785,6 +189794,22 @@ unique_ptr<LogicalOperator> LogicalOperator::Deserialize(Deserializer &deseriali
189785
189794
  return result;
189786
189795
  }
189787
189796
 
189797
+ unique_ptr<LogicalOperator> LogicalOperator::Copy(ClientContext &context) const {
189798
+ BufferedSerializer logical_op_serializer;
189799
+ try {
189800
+ this->Serialize(logical_op_serializer);
189801
+ } catch (NotImplementedException &ex) {
189802
+ throw NotImplementedException("Logical Operator Copy requires the logical operator and all of its children to "
189803
+ "be serializable: " +
189804
+ std::string(ex.what()));
189805
+ }
189806
+ auto data = logical_op_serializer.GetData();
189807
+ auto logical_op_deserializer = BufferedDeserializer(data.data.get(), data.size);
189808
+ PlanDeserializationState state(context);
189809
+ auto op_copy = LogicalOperator::Deserialize(logical_op_deserializer, state);
189810
+ return op_copy;
189811
+ }
189812
+
189788
189813
  } // namespace duckdb
189789
189814
 
189790
189815
 
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 "a22481a18"
15
- #define DUCKDB_VERSION "v0.5.2-dev664"
14
+ #define DUCKDB_SOURCE_ID "91a9fc49a"
15
+ #define DUCKDB_VERSION "v0.5.2-dev671"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -10175,6 +10175,8 @@ public:
10175
10175
 
10176
10176
  static unique_ptr<LogicalOperator> Deserialize(Deserializer &deserializer, PlanDeserializationState &state);
10177
10177
 
10178
+ virtual unique_ptr<LogicalOperator> Copy(ClientContext &context) const;
10179
+
10178
10180
  virtual bool RequireOptimizer() const {
10179
10181
  return true;
10180
10182
  }