duckdb 0.6.1-dev157.0 → 0.6.1-dev162.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 +1 -1
- package/src/duckdb.cpp +24 -2
- package/src/duckdb.hpp +10 -3
- package/src/parquet-amalgamation.cpp +36389 -36389
package/package.json
CHANGED
package/src/duckdb.cpp
CHANGED
|
@@ -90635,6 +90635,8 @@ struct LogicalExtensionOperator : public LogicalOperator {
|
|
|
90635
90635
|
: LogicalOperator(LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR, move(expressions)) {
|
|
90636
90636
|
}
|
|
90637
90637
|
|
|
90638
|
+
static unique_ptr<LogicalExtensionOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
|
90639
|
+
|
|
90638
90640
|
virtual unique_ptr<PhysicalOperator> CreatePlan(ClientContext &context, PhysicalPlanGenerator &generator) = 0;
|
|
90639
90641
|
};
|
|
90640
90642
|
} // namespace duckdb
|
|
@@ -198288,6 +198290,7 @@ JoinSide JoinSide::GetJoinSide(const unordered_set<idx_t> &bindings, unordered_s
|
|
|
198288
198290
|
|
|
198289
198291
|
|
|
198290
198292
|
|
|
198293
|
+
|
|
198291
198294
|
namespace duckdb {
|
|
198292
198295
|
|
|
198293
198296
|
const uint64_t PLAN_SERIALIZATION_VERSION = 1;
|
|
@@ -198619,7 +198622,8 @@ unique_ptr<LogicalOperator> LogicalOperator::Deserialize(Deserializer &deseriali
|
|
|
198619
198622
|
result = LogicalSimple::Deserialize(state, reader);
|
|
198620
198623
|
break;
|
|
198621
198624
|
case LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR:
|
|
198622
|
-
|
|
198625
|
+
result = LogicalExtensionOperator::Deserialize(state, reader);
|
|
198626
|
+
break;
|
|
198623
198627
|
case LogicalOperatorType::LOGICAL_INVALID:
|
|
198624
198628
|
/* no default here to trigger a warning if we forget to implement deserialize for a new operator */
|
|
198625
198629
|
throw SerializationException("Invalid type for operator deserialization");
|
|
@@ -199614,6 +199618,24 @@ vector<idx_t> LogicalExpressionGet::GetTableIndex() const {
|
|
|
199614
199618
|
|
|
199615
199619
|
|
|
199616
199620
|
|
|
199621
|
+
namespace duckdb {
|
|
199622
|
+
unique_ptr<LogicalExtensionOperator> LogicalExtensionOperator::Deserialize(LogicalDeserializationState &state,
|
|
199623
|
+
FieldReader &reader) {
|
|
199624
|
+
auto &config = DBConfig::GetConfig(state.gstate.context);
|
|
199625
|
+
|
|
199626
|
+
auto extension_name = reader.ReadRequired<std::string>();
|
|
199627
|
+
for (auto &extension : config.operator_extensions) {
|
|
199628
|
+
if (extension->GetName() == extension_name) {
|
|
199629
|
+
return extension->Deserialize(state, reader);
|
|
199630
|
+
}
|
|
199631
|
+
}
|
|
199632
|
+
|
|
199633
|
+
throw SerializationException("No serialization method exists for extension: " + extension_name);
|
|
199634
|
+
}
|
|
199635
|
+
} // namespace duckdb
|
|
199636
|
+
|
|
199637
|
+
|
|
199638
|
+
|
|
199617
199639
|
|
|
199618
199640
|
namespace duckdb {
|
|
199619
199641
|
|
|
@@ -200584,7 +200606,7 @@ void Planner::CreatePlan(SQLStatement &statement) {
|
|
|
200584
200606
|
this->plan = nullptr;
|
|
200585
200607
|
for (auto &extension_op : config.operator_extensions) {
|
|
200586
200608
|
auto bound_statement =
|
|
200587
|
-
extension_op
|
|
200609
|
+
extension_op->Bind(context, *this->binder, extension_op->operator_info.get(), statement);
|
|
200588
200610
|
if (bound_statement.plan != nullptr) {
|
|
200589
200611
|
this->names = bound_statement.names;
|
|
200590
200612
|
this->types = bound_statement.types;
|
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 "
|
|
15
|
-
#define DUCKDB_VERSION "v0.6.1-
|
|
14
|
+
#define DUCKDB_SOURCE_ID "67694989c8"
|
|
15
|
+
#define DUCKDB_VERSION "v0.6.1-dev162"
|
|
16
16
|
//===----------------------------------------------------------------------===//
|
|
17
17
|
// DuckDB
|
|
18
18
|
//
|
|
@@ -18920,6 +18920,9 @@ struct OperatorExtensionInfo {
|
|
|
18920
18920
|
typedef BoundStatement (*bind_function_t)(ClientContext &context, Binder &binder, OperatorExtensionInfo *info,
|
|
18921
18921
|
SQLStatement &statement);
|
|
18922
18922
|
|
|
18923
|
+
// forward declaration to avoid circular reference
|
|
18924
|
+
struct LogicalExtensionOperator;
|
|
18925
|
+
|
|
18923
18926
|
class OperatorExtension {
|
|
18924
18927
|
public:
|
|
18925
18928
|
bind_function_t Bind;
|
|
@@ -18927,6 +18930,10 @@ public:
|
|
|
18927
18930
|
//! Additional info passed to the CreatePlan & Bind functions
|
|
18928
18931
|
shared_ptr<OperatorExtensionInfo> operator_info;
|
|
18929
18932
|
|
|
18933
|
+
virtual std::string GetName() = 0;
|
|
18934
|
+
virtual std::unique_ptr<LogicalExtensionOperator> Deserialize(LogicalDeserializationState &state,
|
|
18935
|
+
FieldReader &reader) = 0;
|
|
18936
|
+
|
|
18930
18937
|
DUCKDB_API virtual ~OperatorExtension() {
|
|
18931
18938
|
}
|
|
18932
18939
|
};
|
|
@@ -19072,7 +19079,7 @@ public:
|
|
|
19072
19079
|
//! A reference to the (shared) default allocator (Allocator::DefaultAllocator)
|
|
19073
19080
|
shared_ptr<Allocator> default_allocator;
|
|
19074
19081
|
//! Extensions made to binder
|
|
19075
|
-
vector<OperatorExtension
|
|
19082
|
+
vector<std::unique_ptr<OperatorExtension>> operator_extensions;
|
|
19076
19083
|
|
|
19077
19084
|
public:
|
|
19078
19085
|
DUCKDB_API static DBConfig &GetConfig(ClientContext &context);
|