duckdb 0.3.3-dev151.0 → 0.3.3-dev192.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.3-dev151.0",
4
+ "version": "0.3.3-dev192.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -81174,59 +81174,48 @@ void ListExtractTemplate(idx_t count, VectorData &list_data, VectorData &offsets
81174
81174
  static void ExecuteListExtractInternal(const idx_t count, VectorData &list, VectorData &offsets, Vector &child_vector,
81175
81175
  idx_t list_size, Vector &result) {
81176
81176
  D_ASSERT(child_vector.GetType() == result.GetType());
81177
- switch (result.GetType().id()) {
81178
- case LogicalTypeId::UTINYINT:
81179
- ListExtractTemplate<uint8_t>(count, list, offsets, child_vector, list_size, result);
81180
- break;
81181
- case LogicalTypeId::TINYINT:
81177
+ switch (result.GetType().InternalType()) {
81178
+ case PhysicalType::BOOL:
81179
+ case PhysicalType::INT8:
81182
81180
  ListExtractTemplate<int8_t>(count, list, offsets, child_vector, list_size, result);
81183
81181
  break;
81184
- case LogicalTypeId::USMALLINT:
81185
- ListExtractTemplate<uint16_t>(count, list, offsets, child_vector, list_size, result);
81186
- break;
81187
- case LogicalTypeId::SMALLINT:
81182
+ case PhysicalType::INT16:
81188
81183
  ListExtractTemplate<int16_t>(count, list, offsets, child_vector, list_size, result);
81189
81184
  break;
81190
- case LogicalTypeId::UINTEGER:
81191
- ListExtractTemplate<uint32_t>(count, list, offsets, child_vector, list_size, result);
81192
- break;
81193
- case LogicalTypeId::INTEGER:
81185
+ case PhysicalType::INT32:
81194
81186
  ListExtractTemplate<int32_t>(count, list, offsets, child_vector, list_size, result);
81195
81187
  break;
81196
- case LogicalTypeId::UBIGINT:
81197
- ListExtractTemplate<uint64_t>(count, list, offsets, child_vector, list_size, result);
81198
- break;
81199
- case LogicalTypeId::BIGINT:
81188
+ case PhysicalType::INT64:
81200
81189
  ListExtractTemplate<int64_t>(count, list, offsets, child_vector, list_size, result);
81201
81190
  break;
81202
- case LogicalTypeId::HUGEINT:
81191
+ case PhysicalType::INT128:
81203
81192
  ListExtractTemplate<hugeint_t>(count, list, offsets, child_vector, list_size, result);
81204
81193
  break;
81205
- case LogicalTypeId::FLOAT:
81206
- ListExtractTemplate<float>(count, list, offsets, child_vector, list_size, result);
81194
+ case PhysicalType::UINT8:
81195
+ ListExtractTemplate<uint8_t>(count, list, offsets, child_vector, list_size, result);
81207
81196
  break;
81208
- case LogicalTypeId::DOUBLE:
81209
- ListExtractTemplate<double>(count, list, offsets, child_vector, list_size, result);
81197
+ case PhysicalType::UINT16:
81198
+ ListExtractTemplate<uint16_t>(count, list, offsets, child_vector, list_size, result);
81210
81199
  break;
81211
- case LogicalTypeId::DATE:
81212
- ListExtractTemplate<date_t>(count, list, offsets, child_vector, list_size, result);
81200
+ case PhysicalType::UINT32:
81201
+ ListExtractTemplate<uint32_t>(count, list, offsets, child_vector, list_size, result);
81213
81202
  break;
81214
- case LogicalTypeId::TIME:
81215
- case LogicalTypeId::TIME_TZ:
81216
- ListExtractTemplate<dtime_t>(count, list, offsets, child_vector, list_size, result);
81203
+ case PhysicalType::UINT64:
81204
+ ListExtractTemplate<uint64_t>(count, list, offsets, child_vector, list_size, result);
81217
81205
  break;
81218
- case LogicalTypeId::TIMESTAMP:
81219
- case LogicalTypeId::TIMESTAMP_TZ:
81220
- ListExtractTemplate<timestamp_t>(count, list, offsets, child_vector, list_size, result);
81206
+ case PhysicalType::FLOAT:
81207
+ ListExtractTemplate<float>(count, list, offsets, child_vector, list_size, result);
81221
81208
  break;
81222
- case LogicalTypeId::BLOB:
81223
- case LogicalTypeId::VARCHAR:
81209
+ case PhysicalType::DOUBLE:
81210
+ ListExtractTemplate<double>(count, list, offsets, child_vector, list_size, result);
81211
+ break;
81212
+ case PhysicalType::VARCHAR:
81224
81213
  ListExtractTemplate<string_t, true>(count, list, offsets, child_vector, list_size, result);
81225
81214
  break;
81226
- case LogicalTypeId::SQLNULL:
81227
- result.Reference(Value());
81215
+ case PhysicalType::INTERVAL:
81216
+ ListExtractTemplate<interval_t>(count, list, offsets, child_vector, list_size, result);
81228
81217
  break;
81229
- case LogicalTypeId::STRUCT: {
81218
+ case PhysicalType::STRUCT: {
81230
81219
  auto &entries = StructVector::GetEntries(child_vector);
81231
81220
  auto &result_entries = StructVector::GetEntries(result);
81232
81221
  D_ASSERT(entries.size() == result_entries.size());
@@ -81238,7 +81227,7 @@ static void ExecuteListExtractInternal(const idx_t count, VectorData &list, Vect
81238
81227
  ListExtractTemplate<bool, false, true>(count, list, offsets, child_vector, list_size, result);
81239
81228
  break;
81240
81229
  }
81241
- case LogicalTypeId::LIST: {
81230
+ case PhysicalType::LIST: {
81242
81231
  // nested list: we have to reference the child
81243
81232
  auto &child_child_list = ListVector::GetEntry(child_vector);
81244
81233
 
@@ -101854,6 +101843,10 @@ void DuckDB::SetExtensionLoaded(const std::string &name) {
101854
101843
  #include "tpcds-extension.hpp"
101855
101844
  #endif
101856
101845
 
101846
+ #if defined(BUILD_SUBSTRAIT_EXTENSION) && !defined(DISABLE_BUILTIN_EXTENSIONS)
101847
+ #include "substrait-extension.hpp"
101848
+ #endif
101849
+
101857
101850
  #if defined(BUILD_FTS_EXTENSION) && !defined(DISABLE_BUILTIN_EXTENSIONS)
101858
101851
  #include "fts-extension.hpp"
101859
101852
  #endif
@@ -101873,7 +101866,8 @@ void DuckDB::SetExtensionLoaded(const std::string &name) {
101873
101866
  namespace duckdb {
101874
101867
 
101875
101868
  void ExtensionHelper::LoadAllExtensions(DuckDB &db) {
101876
- unordered_set<string> extensions {"parquet", "icu", "tpch", "tpcds", "fts", "httpfs", "visualizer", "excel"};
101869
+ unordered_set<string> extensions {"parquet", "icu", "tpch", "tpcds", "fts",
101870
+ "httpfs", "substrait", "visualizer", "excel"};
101877
101871
  for (auto &ext : extensions) {
101878
101872
  LoadExtensionInternal(db, ext, true);
101879
101873
  }
@@ -101924,6 +101918,14 @@ ExtensionLoadResult ExtensionHelper::LoadExtensionInternal(DuckDB &db, const std
101924
101918
  #else
101925
101919
  // icu extension required but not build: skip this test
101926
101920
  return ExtensionLoadResult::NOT_LOADED;
101921
+ #endif
101922
+ } else if (extension == "substrait") {
101923
+ #if defined(BUILD_SUBSTRAIT_EXTENSION) && !defined(DISABLE_BUILTIN_EXTENSIONS)
101924
+
101925
+ db.LoadExtension<SubstraitExtension>();
101926
+ #else
101927
+ // substrait extension required but not build: skip this test
101928
+ return ExtensionLoadResult::NOT_LOADED;
101927
101929
  #endif
101928
101930
  } else if (extension == "tpcds") {
101929
101931
  #if defined(BUILD_TPCDS_EXTENSION) && !defined(DISABLE_BUILTIN_EXTENSIONS)
@@ -110955,9 +110957,9 @@ namespace duckdb {
110955
110957
 
110956
110958
  class AggregateRelation : public Relation {
110957
110959
  public:
110958
- AggregateRelation(shared_ptr<Relation> child, vector<unique_ptr<ParsedExpression>> expressions);
110959
- AggregateRelation(shared_ptr<Relation> child, vector<unique_ptr<ParsedExpression>> expressions,
110960
- vector<unique_ptr<ParsedExpression>> groups);
110960
+ DUCKDB_API AggregateRelation(shared_ptr<Relation> child, vector<unique_ptr<ParsedExpression>> expressions);
110961
+ DUCKDB_API AggregateRelation(shared_ptr<Relation> child, vector<unique_ptr<ParsedExpression>> expressions,
110962
+ vector<unique_ptr<ParsedExpression>> groups);
110961
110963
 
110962
110964
  vector<unique_ptr<ParsedExpression>> expressions;
110963
110965
  vector<unique_ptr<ParsedExpression>> groups;
@@ -111247,7 +111249,7 @@ namespace duckdb {
111247
111249
 
111248
111250
  class CrossProductRelation : public Relation {
111249
111251
  public:
111250
- CrossProductRelation(shared_ptr<Relation> left, shared_ptr<Relation> right);
111252
+ DUCKDB_API CrossProductRelation(shared_ptr<Relation> left, shared_ptr<Relation> right);
111251
111253
 
111252
111254
  shared_ptr<Relation> left;
111253
111255
  shared_ptr<Relation> right;
@@ -111559,7 +111561,7 @@ namespace duckdb {
111559
111561
 
111560
111562
  class FilterRelation : public Relation {
111561
111563
  public:
111562
- FilterRelation(shared_ptr<Relation> child, unique_ptr<ParsedExpression> condition);
111564
+ DUCKDB_API FilterRelation(shared_ptr<Relation> child, unique_ptr<ParsedExpression> condition);
111563
111565
 
111564
111566
  unique_ptr<ParsedExpression> condition;
111565
111567
  shared_ptr<Relation> child;
@@ -111819,9 +111821,10 @@ namespace duckdb {
111819
111821
 
111820
111822
  class JoinRelation : public Relation {
111821
111823
  public:
111822
- JoinRelation(shared_ptr<Relation> left, shared_ptr<Relation> right, unique_ptr<ParsedExpression> condition,
111823
- JoinType type);
111824
- JoinRelation(shared_ptr<Relation> left, shared_ptr<Relation> right, vector<string> using_columns, JoinType type);
111824
+ DUCKDB_API JoinRelation(shared_ptr<Relation> left, shared_ptr<Relation> right,
111825
+ unique_ptr<ParsedExpression> condition, JoinType type);
111826
+ DUCKDB_API JoinRelation(shared_ptr<Relation> left, shared_ptr<Relation> right, vector<string> using_columns,
111827
+ JoinType type);
111825
111828
 
111826
111829
  shared_ptr<Relation> left;
111827
111830
  shared_ptr<Relation> right;
@@ -111914,7 +111917,7 @@ namespace duckdb {
111914
111917
 
111915
111918
  class LimitRelation : public Relation {
111916
111919
  public:
111917
- LimitRelation(shared_ptr<Relation> child, int64_t limit, int64_t offset);
111920
+ DUCKDB_API LimitRelation(shared_ptr<Relation> child, int64_t limit, int64_t offset);
111918
111921
 
111919
111922
  int64_t limit;
111920
111923
  int64_t offset;
@@ -112000,7 +112003,7 @@ namespace duckdb {
112000
112003
 
112001
112004
  class OrderRelation : public Relation {
112002
112005
  public:
112003
- OrderRelation(shared_ptr<Relation> child, vector<OrderByNode> orders);
112006
+ DUCKDB_API OrderRelation(shared_ptr<Relation> child, vector<OrderByNode> orders);
112004
112007
 
112005
112008
  vector<OrderByNode> orders;
112006
112009
  shared_ptr<Relation> child;
@@ -112083,8 +112086,8 @@ namespace duckdb {
112083
112086
 
112084
112087
  class ProjectionRelation : public Relation {
112085
112088
  public:
112086
- ProjectionRelation(shared_ptr<Relation> child, vector<unique_ptr<ParsedExpression>> expressions,
112087
- vector<string> aliases);
112089
+ DUCKDB_API ProjectionRelation(shared_ptr<Relation> child, vector<unique_ptr<ParsedExpression>> expressions,
112090
+ vector<string> aliases);
112088
112091
 
112089
112092
  vector<unique_ptr<ParsedExpression>> expressions;
112090
112093
  vector<ColumnDefinition> columns;
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 "feaf379f9"
15
- #define DUCKDB_VERSION "v0.3.3-dev151"
14
+ #define DUCKDB_SOURCE_ID "0b9c1c20e"
15
+ #define DUCKDB_VERSION "v0.3.3-dev192"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -729,7 +729,7 @@ public:
729
729
  hugeint_t &operator=(const hugeint_t &rhs) = default;
730
730
  hugeint_t &operator=(hugeint_t &&rhs) = default;
731
731
 
732
- string ToString() const;
732
+ DUCKDB_API string ToString() const;
733
733
 
734
734
  // comparison operators
735
735
  bool operator==(const hugeint_t &rhs) const;
@@ -5909,7 +5909,7 @@ enum class ExpressionClass : uint8_t {
5909
5909
  BOUND_EXPRESSION = 50
5910
5910
  };
5911
5911
 
5912
- string ExpressionTypeToString(ExpressionType type);
5912
+ DUCKDB_API string ExpressionTypeToString(ExpressionType type);
5913
5913
  string ExpressionTypeToOperator(ExpressionType type);
5914
5914
 
5915
5915
  //! Negate a comparison expression, turning e.g. = into !=, or < into >=
@@ -8239,7 +8239,7 @@ enum class LogicalOperatorType : uint8_t {
8239
8239
  LOGICAL_LOAD = 180
8240
8240
  };
8241
8241
 
8242
- string LogicalOperatorToString(LogicalOperatorType type);
8242
+ DUCKDB_API string LogicalOperatorToString(LogicalOperatorType type);
8243
8243
 
8244
8244
  } // namespace duckdb
8245
8245
 
@@ -10745,7 +10745,7 @@ enum class JoinType : uint8_t {
10745
10745
  };
10746
10746
 
10747
10747
  //! Convert join type to string
10748
- string JoinTypeToString(JoinType type);
10748
+ DUCKDB_API string JoinTypeToString(JoinType type);
10749
10749
 
10750
10750
  //! True if join is left or full outer join
10751
10751
  bool IsLeftOuterJoin(JoinType type);
@@ -20045,8 +20045,8 @@ public:
20045
20045
  static vector<ParserKeyword> KeywordList();
20046
20046
 
20047
20047
  //! Parses a list of expressions (i.e. the list found in a SELECT clause)
20048
- static vector<unique_ptr<ParsedExpression>> ParseExpressionList(const string &select_list,
20049
- ParserOptions options = ParserOptions());
20048
+ DUCKDB_API static vector<unique_ptr<ParsedExpression>> ParseExpressionList(const string &select_list,
20049
+ ParserOptions options = ParserOptions());
20050
20050
  //! Parses a list as found in an ORDER BY expression (i.e. including optional ASCENDING/DESCENDING modifiers)
20051
20051
  static vector<OrderByNode> ParseOrderList(const string &select_list, ParserOptions options = ParserOptions());
20052
20052
  //! Parses an update list (i.e. the list found in the SET clause of an UPDATE statement)
@@ -21106,7 +21106,7 @@ struct CaseCheck {
21106
21106
  //! The CaseExpression represents a CASE expression in the query
21107
21107
  class CaseExpression : public ParsedExpression {
21108
21108
  public:
21109
- CaseExpression();
21109
+ DUCKDB_API CaseExpression();
21110
21110
 
21111
21111
  vector<CaseCheck> case_checks;
21112
21112
  unique_ptr<ParsedExpression> else_expr;
@@ -21140,9 +21140,10 @@ namespace duckdb {
21140
21140
  //! Represents a conjunction (AND/OR)
21141
21141
  class ConjunctionExpression : public ParsedExpression {
21142
21142
  public:
21143
- explicit ConjunctionExpression(ExpressionType type);
21144
- ConjunctionExpression(ExpressionType type, vector<unique_ptr<ParsedExpression>> children);
21145
- ConjunctionExpression(ExpressionType type, unique_ptr<ParsedExpression> left, unique_ptr<ParsedExpression> right);
21143
+ DUCKDB_API explicit ConjunctionExpression(ExpressionType type);
21144
+ DUCKDB_API ConjunctionExpression(ExpressionType type, vector<unique_ptr<ParsedExpression>> children);
21145
+ DUCKDB_API ConjunctionExpression(ExpressionType type, unique_ptr<ParsedExpression> left,
21146
+ unique_ptr<ParsedExpression> right);
21146
21147
 
21147
21148
  vector<unique_ptr<ParsedExpression>> children;
21148
21149
 
@@ -21177,12 +21178,15 @@ namespace duckdb {
21177
21178
  //! Represents a function call
21178
21179
  class FunctionExpression : public ParsedExpression {
21179
21180
  public:
21180
- FunctionExpression(string schema_name, const string &function_name, vector<unique_ptr<ParsedExpression>> children,
21181
- unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
21182
- bool distinct = false, bool is_operator = false, bool export_state = false);
21183
- FunctionExpression(const string &function_name, vector<unique_ptr<ParsedExpression>> children,
21184
- unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
21185
- bool distinct = false, bool is_operator = false, bool export_state = false);
21181
+ DUCKDB_API FunctionExpression(string schema_name, const string &function_name,
21182
+ vector<unique_ptr<ParsedExpression>> children,
21183
+ unique_ptr<ParsedExpression> filter = nullptr,
21184
+ unique_ptr<OrderModifier> order_bys = nullptr, bool distinct = false,
21185
+ bool is_operator = false, bool export_state = false);
21186
+ DUCKDB_API FunctionExpression(const string &function_name, vector<unique_ptr<ParsedExpression>> children,
21187
+ unique_ptr<ParsedExpression> filter = nullptr,
21188
+ unique_ptr<OrderModifier> order_bys = nullptr, bool distinct = false,
21189
+ bool is_operator = false, bool export_state = false);
21186
21190
 
21187
21191
  //! Schema of the function
21188
21192
  string schema;
@@ -21261,7 +21265,8 @@ namespace duckdb {
21261
21265
  //! and has two children.
21262
21266
  class ComparisonExpression : public ParsedExpression {
21263
21267
  public:
21264
- ComparisonExpression(ExpressionType type, unique_ptr<ParsedExpression> left, unique_ptr<ParsedExpression> right);
21268
+ DUCKDB_API ComparisonExpression(ExpressionType type, unique_ptr<ParsedExpression> left,
21269
+ unique_ptr<ParsedExpression> right);
21265
21270
 
21266
21271
  unique_ptr<ParsedExpression> left;
21267
21272
  unique_ptr<ParsedExpression> right;
@@ -21295,7 +21300,7 @@ namespace duckdb {
21295
21300
  //! ConstantExpression represents a constant value in the query
21296
21301
  class ConstantExpression : public ParsedExpression {
21297
21302
  public:
21298
- explicit ConstantExpression(Value val);
21303
+ DUCKDB_API explicit ConstantExpression(Value val);
21299
21304
 
21300
21305
  //! The constant value referenced
21301
21306
  Value value;
@@ -21330,9 +21335,9 @@ namespace duckdb {
21330
21335
  //! Represents a built-in operator expression
21331
21336
  class OperatorExpression : public ParsedExpression {
21332
21337
  public:
21333
- explicit OperatorExpression(ExpressionType type, unique_ptr<ParsedExpression> left = nullptr,
21334
- unique_ptr<ParsedExpression> right = nullptr);
21335
- OperatorExpression(ExpressionType type, vector<unique_ptr<ParsedExpression>> children);
21338
+ DUCKDB_API explicit OperatorExpression(ExpressionType type, unique_ptr<ParsedExpression> left = nullptr,
21339
+ unique_ptr<ParsedExpression> right = nullptr);
21340
+ DUCKDB_API OperatorExpression(ExpressionType type, vector<unique_ptr<ParsedExpression>> children);
21336
21341
 
21337
21342
  vector<unique_ptr<ParsedExpression>> children;
21338
21343
 
@@ -21396,7 +21401,7 @@ public:
21396
21401
  namespace duckdb {
21397
21402
  class PositionalReferenceExpression : public ParsedExpression {
21398
21403
  public:
21399
- PositionalReferenceExpression(idx_t index);
21404
+ DUCKDB_API PositionalReferenceExpression(idx_t index);
21400
21405
 
21401
21406
  idx_t index;
21402
21407
 
@@ -21436,7 +21441,7 @@ namespace duckdb {
21436
21441
  //! CastExpression represents a type cast from one SQL type to another SQL type
21437
21442
  class CastExpression : public ParsedExpression {
21438
21443
  public:
21439
- CastExpression(LogicalType target, unique_ptr<ParsedExpression> child, bool try_cast = false);
21444
+ DUCKDB_API CastExpression(LogicalType target, unique_ptr<ParsedExpression> child, bool try_cast = false);
21440
21445
 
21441
21446
  //! The child of the cast expression
21442
21447
  unique_ptr<ParsedExpression> child;