duckdb 0.3.3-dev1.0 → 0.3.3-dev135.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/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 "13adafcfc"
15
- #define DUCKDB_VERSION "v0.3.3-dev1"
14
+ #define DUCKDB_SOURCE_ID "a9dd8bf40"
15
+ #define DUCKDB_VERSION "v0.3.3-dev135"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -961,11 +961,15 @@ enum class LogicalTypeId : uint8_t {
961
961
  LIST = 101,
962
962
  MAP = 102,
963
963
  TABLE = 103,
964
- ENUM = 104
964
+ ENUM = 104,
965
+ AGGREGATE_STATE = 105
965
966
  };
966
967
 
967
968
  struct ExtraTypeInfo;
968
969
 
970
+
971
+ struct aggregate_state_t;
972
+
969
973
  struct LogicalType {
970
974
  DUCKDB_API LogicalType();
971
975
  DUCKDB_API LogicalType(LogicalTypeId id); // NOLINT: Allow implicit conversion from `LogicalTypeId`
@@ -1069,6 +1073,7 @@ public:
1069
1073
  DUCKDB_API static LogicalType VARCHAR_COLLATION(string collation); // NOLINT
1070
1074
  DUCKDB_API static LogicalType LIST( LogicalType child); // NOLINT
1071
1075
  DUCKDB_API static LogicalType STRUCT( child_list_t<LogicalType> children); // NOLINT
1076
+ DUCKDB_API static LogicalType AGGREGATE_STATE(aggregate_state_t state_type); // NOLINT
1072
1077
  DUCKDB_API static LogicalType MAP( child_list_t<LogicalType> children); // NOLINT
1073
1078
  DUCKDB_API static LogicalType MAP(LogicalType key, LogicalType value); // NOLINT
1074
1079
  DUCKDB_API static LogicalType ENUM(const string &enum_name, Vector &ordered_data, idx_t size); // NOLINT
@@ -1121,6 +1126,11 @@ struct MapType {
1121
1126
  DUCKDB_API static const LogicalType &ValueType(const LogicalType &type);
1122
1127
  };
1123
1128
 
1129
+ struct AggregateStateType {
1130
+ DUCKDB_API static const string GetTypeName(const LogicalType &type);
1131
+ DUCKDB_API static const aggregate_state_t &GetStateType(const LogicalType &type);
1132
+ };
1133
+
1124
1134
 
1125
1135
  string LogicalTypeIdToString(LogicalTypeId type);
1126
1136
 
@@ -1196,6 +1206,15 @@ bool IsIntegerType() {
1196
1206
  bool ApproxEqual(float l, float r);
1197
1207
  bool ApproxEqual(double l, double r);
1198
1208
 
1209
+ struct aggregate_state_t {
1210
+ aggregate_state_t(string function_name_p, LogicalType return_type_p, vector<LogicalType> bound_argument_types_p) : function_name(move(function_name_p)), return_type(move(return_type_p)), bound_argument_types(move(bound_argument_types_p)) {
1211
+ }
1212
+
1213
+ string function_name;
1214
+ LogicalType return_type;
1215
+ vector<LogicalType> bound_argument_types;
1216
+ };
1217
+
1199
1218
  } // namespace duckdb
1200
1219
 
1201
1220
 
@@ -21160,10 +21179,10 @@ class FunctionExpression : public ParsedExpression {
21160
21179
  public:
21161
21180
  FunctionExpression(string schema_name, const string &function_name, vector<unique_ptr<ParsedExpression>> children,
21162
21181
  unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
21163
- bool distinct = false, bool is_operator = false);
21182
+ bool distinct = false, bool is_operator = false, bool export_state = false);
21164
21183
  FunctionExpression(const string &function_name, vector<unique_ptr<ParsedExpression>> children,
21165
21184
  unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
21166
- bool distinct = false, bool is_operator = false);
21185
+ bool distinct = false, bool is_operator = false, bool export_state = false);
21167
21186
 
21168
21187
  //! Schema of the function
21169
21188
  string schema;
@@ -21179,6 +21198,8 @@ public:
21179
21198
  unique_ptr<ParsedExpression> filter;
21180
21199
  //! Modifier representing an ORDER BY, only used for aggregates
21181
21200
  unique_ptr<OrderModifier> order_bys;
21201
+ //! whether this function should export its state or not
21202
+ bool export_state;
21182
21203
 
21183
21204
  public:
21184
21205
  string ToString() const override;