duckdb 0.5.0 → 0.5.1-dev21.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 +32 -15
- package/src/duckdb.hpp +4 -4
- package/src/parquet-amalgamation.cpp +37469 -37469
package/package.json
CHANGED
package/src/duckdb.cpp
CHANGED
|
@@ -64814,6 +64814,7 @@ public:
|
|
|
64814
64814
|
|
|
64815
64815
|
|
|
64816
64816
|
|
|
64817
|
+
|
|
64817
64818
|
//===----------------------------------------------------------------------===//
|
|
64818
64819
|
// DuckDB
|
|
64819
64820
|
//
|
|
@@ -64909,7 +64910,6 @@ private:
|
|
|
64909
64910
|
|
|
64910
64911
|
|
|
64911
64912
|
|
|
64912
|
-
|
|
64913
64913
|
#include <algorithm>
|
|
64914
64914
|
#include <cmath>
|
|
64915
64915
|
#include <numeric>
|
|
@@ -65605,7 +65605,10 @@ struct WindowInputExpression {
|
|
|
65605
65605
|
|
|
65606
65606
|
inline bool CellIsNull(idx_t i) const {
|
|
65607
65607
|
D_ASSERT(!chunk.data.empty());
|
|
65608
|
-
|
|
65608
|
+
if (chunk.data[0].GetVectorType() == VectorType::CONSTANT_VECTOR) {
|
|
65609
|
+
return ConstantVector::IsNull(chunk.data[0]);
|
|
65610
|
+
}
|
|
65611
|
+
return FlatVector::IsNull(chunk.data[0], i);
|
|
65609
65612
|
}
|
|
65610
65613
|
|
|
65611
65614
|
inline void CopyCell(Vector &target, idx_t target_offset) const {
|
|
@@ -151922,6 +151925,7 @@ unique_ptr<NodeStatistics> StatisticsPropagator::PropagateStatistics(LogicalGet
|
|
|
151922
151925
|
|
|
151923
151926
|
|
|
151924
151927
|
|
|
151928
|
+
|
|
151925
151929
|
namespace duckdb {
|
|
151926
151930
|
|
|
151927
151931
|
void StatisticsPropagator::PropagateStatistics(LogicalComparisonJoin &join, unique_ptr<LogicalOperator> *node_ptr) {
|
|
@@ -151951,10 +151955,15 @@ void StatisticsPropagator::PropagateStatistics(LogicalComparisonJoin &join, uniq
|
|
|
151951
151955
|
// semi or inner join on false; entire node can be pruned
|
|
151952
151956
|
ReplaceWithEmptyResult(*node_ptr);
|
|
151953
151957
|
return;
|
|
151954
|
-
case JoinType::ANTI:
|
|
151955
|
-
//
|
|
151956
|
-
|
|
151958
|
+
case JoinType::ANTI: {
|
|
151959
|
+
// when the right child has data, return the left child
|
|
151960
|
+
// when the right child has no data, return an empty set
|
|
151961
|
+
auto limit = make_unique<LogicalLimit>(1, 0, nullptr, nullptr);
|
|
151962
|
+
limit->AddChild(move(join.children[1]));
|
|
151963
|
+
auto cross_product = LogicalCrossProduct::Create(move(join.children[0]), move(limit));
|
|
151964
|
+
*node_ptr = move(cross_product);
|
|
151957
151965
|
return;
|
|
151966
|
+
}
|
|
151958
151967
|
case JoinType::LEFT:
|
|
151959
151968
|
// anti/left outer join: replace right side with empty node
|
|
151960
151969
|
ReplaceWithEmptyResult(join.children[1]);
|
|
@@ -151982,10 +151991,15 @@ void StatisticsPropagator::PropagateStatistics(LogicalComparisonJoin &join, uniq
|
|
|
151982
151991
|
} else {
|
|
151983
151992
|
// this is the only condition and it is always true: all conditions are true
|
|
151984
151993
|
switch (join.join_type) {
|
|
151985
|
-
case JoinType::SEMI:
|
|
151986
|
-
//
|
|
151987
|
-
|
|
151994
|
+
case JoinType::SEMI: {
|
|
151995
|
+
// when the right child has data, return the left child
|
|
151996
|
+
// when the right child has no data, return an empty set
|
|
151997
|
+
auto limit = make_unique<LogicalLimit>(1, 0, nullptr, nullptr);
|
|
151998
|
+
limit->AddChild(move(join.children[1]));
|
|
151999
|
+
auto cross_product = LogicalCrossProduct::Create(move(join.children[0]), move(limit));
|
|
152000
|
+
*node_ptr = move(cross_product);
|
|
151988
152001
|
return;
|
|
152002
|
+
}
|
|
151989
152003
|
case JoinType::INNER:
|
|
151990
152004
|
case JoinType::LEFT:
|
|
151991
152005
|
case JoinType::RIGHT:
|
|
@@ -152102,6 +152116,7 @@ unique_ptr<NodeStatistics> StatisticsPropagator::PropagateStatistics(LogicalJoin
|
|
|
152102
152116
|
// then propagate into the join conditions
|
|
152103
152117
|
switch (join.type) {
|
|
152104
152118
|
case LogicalOperatorType::LOGICAL_COMPARISON_JOIN:
|
|
152119
|
+
case LogicalOperatorType::LOGICAL_DELIM_JOIN:
|
|
152105
152120
|
PropagateStatistics((LogicalComparisonJoin &)join, node_ptr);
|
|
152106
152121
|
break;
|
|
152107
152122
|
case LogicalOperatorType::LOGICAL_ANY_JOIN:
|
|
@@ -180860,6 +180875,9 @@ BoundStatement Binder::BindSummarize(ShowStatement &stmt) {
|
|
|
180860
180875
|
|
|
180861
180876
|
|
|
180862
180877
|
|
|
180878
|
+
|
|
180879
|
+
|
|
180880
|
+
|
|
180863
180881
|
//===----------------------------------------------------------------------===//
|
|
180864
180882
|
// DuckDB
|
|
180865
180883
|
//
|
|
@@ -180894,10 +180912,6 @@ protected:
|
|
|
180894
180912
|
|
|
180895
180913
|
|
|
180896
180914
|
|
|
180897
|
-
|
|
180898
|
-
|
|
180899
|
-
|
|
180900
|
-
|
|
180901
180915
|
//===----------------------------------------------------------------------===//
|
|
180902
180916
|
// DuckDB
|
|
180903
180917
|
//
|
|
@@ -180930,6 +180944,8 @@ public:
|
|
|
180930
180944
|
};
|
|
180931
180945
|
} // namespace duckdb
|
|
180932
180946
|
|
|
180947
|
+
|
|
180948
|
+
|
|
180933
180949
|
#include <algorithm>
|
|
180934
180950
|
|
|
180935
180951
|
namespace duckdb {
|
|
@@ -181100,10 +181116,10 @@ BoundStatement Binder::Bind(UpdateStatement &stmt) {
|
|
|
181100
181116
|
if (column.Generated()) {
|
|
181101
181117
|
throw BinderException("Cant update column \"%s\" because it is a generated column!", column.Name());
|
|
181102
181118
|
}
|
|
181103
|
-
if (std::find(update->columns.begin(), update->columns.end(), column.
|
|
181119
|
+
if (std::find(update->columns.begin(), update->columns.end(), column.StorageOid()) != update->columns.end()) {
|
|
181104
181120
|
throw BinderException("Multiple assignments to same column \"%s\"", colname);
|
|
181105
181121
|
}
|
|
181106
|
-
update->columns.push_back(column.
|
|
181122
|
+
update->columns.push_back(column.StorageOid());
|
|
181107
181123
|
|
|
181108
181124
|
if (expr->type == ExpressionType::VALUE_DEFAULT) {
|
|
181109
181125
|
update->expressions.push_back(make_unique<BoundDefaultExpression>(column.Type()));
|
|
@@ -186039,6 +186055,7 @@ unique_ptr<TableFilter> ConjunctionAndFilter::Deserialize(FieldReader &source) {
|
|
|
186039
186055
|
|
|
186040
186056
|
|
|
186041
186057
|
|
|
186058
|
+
|
|
186042
186059
|
namespace duckdb {
|
|
186043
186060
|
|
|
186044
186061
|
ConstantFilter::ConstantFilter(ExpressionType comparison_type_p, Value constant_p)
|
|
@@ -186062,7 +186079,7 @@ FilterPropagateResult ConstantFilter::CheckStatistics(BaseStatistics &stats) {
|
|
|
186062
186079
|
case PhysicalType::DOUBLE:
|
|
186063
186080
|
return ((NumericStatistics &)stats).CheckZonemap(comparison_type, constant);
|
|
186064
186081
|
case PhysicalType::VARCHAR:
|
|
186065
|
-
return ((StringStatistics &)stats).CheckZonemap(comparison_type, constant
|
|
186082
|
+
return ((StringStatistics &)stats).CheckZonemap(comparison_type, StringValue::Get(constant));
|
|
186066
186083
|
default:
|
|
186067
186084
|
return FilterPropagateResult::NO_PRUNING_POSSIBLE;
|
|
186068
186085
|
}
|
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.5.
|
|
14
|
+
#define DUCKDB_SOURCE_ID "cf4b8dcee"
|
|
15
|
+
#define DUCKDB_VERSION "v0.5.1-dev21"
|
|
16
16
|
//===----------------------------------------------------------------------===//
|
|
17
17
|
// DuckDB
|
|
18
18
|
//
|
|
@@ -3372,8 +3372,8 @@ public:
|
|
|
3372
3372
|
DUCKDB_API AllocatedData(Allocator &allocator, data_ptr_t pointer, idx_t allocated_size);
|
|
3373
3373
|
DUCKDB_API ~AllocatedData();
|
|
3374
3374
|
// disable copy constructors
|
|
3375
|
-
|
|
3376
|
-
|
|
3375
|
+
AllocatedData(const AllocatedData &other) = delete;
|
|
3376
|
+
AllocatedData &operator=(const AllocatedData &) = delete;
|
|
3377
3377
|
//! enable move constructors
|
|
3378
3378
|
DUCKDB_API AllocatedData(AllocatedData &&other) noexcept;
|
|
3379
3379
|
DUCKDB_API AllocatedData &operator=(AllocatedData &&) noexcept;
|