duckdb 0.3.5-dev230.0 → 0.3.5-dev242.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 "991d06596"
15
- #define DUCKDB_VERSION "v0.3.5-dev230"
14
+ #define DUCKDB_SOURCE_ID "a90b3be6d"
15
+ #define DUCKDB_VERSION "v0.3.5-dev242"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -10323,9 +10323,12 @@ public:
10323
10323
 
10324
10324
 
10325
10325
 
10326
+
10327
+
10326
10328
  #include <functional>
10327
10329
 
10328
10330
  namespace duckdb {
10331
+
10329
10332
  class BaseStatistics;
10330
10333
  class LogicalGet;
10331
10334
  struct ParallelState;
@@ -10368,10 +10371,14 @@ typedef unique_ptr<FunctionOperatorData> (*table_function_init_t)(ClientContext
10368
10371
  typedef unique_ptr<BaseStatistics> (*table_statistics_t)(ClientContext &context, const FunctionData *bind_data,
10369
10372
  column_t column_index);
10370
10373
  typedef void (*table_function_t)(ClientContext &context, const FunctionData *bind_data,
10371
- FunctionOperatorData *operator_state, DataChunk *input, DataChunk &output);
10374
+ FunctionOperatorData *operator_state, DataChunk &output);
10375
+
10376
+ typedef OperatorResultType (*table_in_out_function_t)(ClientContext &context, const FunctionData *bind_data,
10377
+ FunctionOperatorData *operator_state, DataChunk &input,
10378
+ DataChunk &output);
10372
10379
 
10373
10380
  typedef void (*table_function_parallel_t)(ClientContext &context, const FunctionData *bind_data,
10374
- FunctionOperatorData *operator_state, DataChunk *input, DataChunk &output,
10381
+ FunctionOperatorData *operator_state, DataChunk &output,
10375
10382
  ParallelState *parallel_state);
10376
10383
 
10377
10384
  typedef void (*table_function_cleanup_t)(ClientContext &context, const FunctionData *bind_data,
@@ -10410,7 +10417,8 @@ public:
10410
10417
  table_function_parallel_t parallel_function = nullptr,
10411
10418
  table_function_init_parallel_t parallel_init = nullptr,
10412
10419
  table_function_parallel_state_next_t parallel_state_next = nullptr, bool projection_pushdown = false,
10413
- bool filter_pushdown = false, table_function_progress_t query_progress = nullptr);
10420
+ bool filter_pushdown = false, table_function_progress_t query_progress = nullptr,
10421
+ table_in_out_function_t in_out_function = nullptr);
10414
10422
  DUCKDB_API
10415
10423
  TableFunction(const vector<LogicalType> &arguments, table_function_t function, table_function_bind_t bind = nullptr,
10416
10424
  table_function_init_t init = nullptr, table_statistics_t statistics = nullptr,
@@ -10422,7 +10430,8 @@ public:
10422
10430
  table_function_parallel_t parallel_function = nullptr,
10423
10431
  table_function_init_parallel_t parallel_init = nullptr,
10424
10432
  table_function_parallel_state_next_t parallel_state_next = nullptr, bool projection_pushdown = false,
10425
- bool filter_pushdown = false, table_function_progress_t query_progress = nullptr);
10433
+ bool filter_pushdown = false, table_function_progress_t query_progress = nullptr,
10434
+ table_in_out_function_t in_out_function = nullptr);
10426
10435
  DUCKDB_API TableFunction();
10427
10436
 
10428
10437
  //! Bind function
@@ -10435,6 +10444,8 @@ public:
10435
10444
  table_function_init_t init;
10436
10445
  //! The main function
10437
10446
  table_function_t function;
10447
+ //! The table in-out function (if this is an in-out function)
10448
+ table_in_out_function_t in_out_function;
10438
10449
  //! (Optional) statistics function
10439
10450
  //! Returns the statistics of a specified column
10440
10451
  table_statistics_t statistics;
@@ -13610,9 +13621,12 @@ private:
13610
13621
  unique_ptr<BoundTableRef> Bind(EmptyTableRef &ref);
13611
13622
  unique_ptr<BoundTableRef> Bind(ExpressionListRef &ref);
13612
13623
 
13613
- bool BindFunctionParameters(vector<unique_ptr<ParsedExpression>> &expressions, vector<LogicalType> &arguments,
13614
- vector<Value> &parameters, named_parameter_map_t &named_parameters,
13615
- unique_ptr<BoundSubqueryRef> &subquery, string &error);
13624
+ bool BindTableFunctionParameters(TableFunctionCatalogEntry &table_function,
13625
+ vector<unique_ptr<ParsedExpression>> &expressions, vector<LogicalType> &arguments,
13626
+ vector<Value> &parameters, named_parameter_map_t &named_parameters,
13627
+ unique_ptr<BoundSubqueryRef> &subquery, string &error);
13628
+ bool BindTableInTableOutFunction(vector<unique_ptr<ParsedExpression>> &expressions,
13629
+ unique_ptr<BoundSubqueryRef> &subquery, string &error);
13616
13630
 
13617
13631
  unique_ptr<LogicalOperator> CreatePlan(BoundBaseTableRef &ref);
13618
13632
  unique_ptr<LogicalOperator> CreatePlan(BoundCrossProductRef &ref);