duckdb 0.3.5-dev113.0 → 0.3.5-dev123.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 +18 -18
- package/src/duckdb.hpp +2 -2
- package/src/parquet-amalgamation.cpp +25427 -25427
package/package.json
CHANGED
package/src/duckdb.cpp
CHANGED
|
@@ -46772,8 +46772,8 @@ static bool ListCastSwitch(Vector &source, Vector &result, idx_t count, string *
|
|
|
46772
46772
|
}
|
|
46773
46773
|
|
|
46774
46774
|
template <class SRC_TYPE, class RES_TYPE>
|
|
46775
|
-
|
|
46776
|
-
|
|
46775
|
+
bool FillEnum(Vector &source, Vector &result, idx_t count, string *error_message) {
|
|
46776
|
+
bool all_converted = true;
|
|
46777
46777
|
result.SetVectorType(VectorType::FLAT_VECTOR);
|
|
46778
46778
|
|
|
46779
46779
|
auto &str_vec = EnumType::GetValuesInsertOrder(source.GetType());
|
|
@@ -46801,25 +46801,29 @@ void FillEnum(Vector &source, Vector &result, idx_t count) {
|
|
|
46801
46801
|
auto key = EnumType::GetPos(res_enum_type, str);
|
|
46802
46802
|
if (key == -1) {
|
|
46803
46803
|
// key doesn't exist on result enum
|
|
46804
|
-
|
|
46804
|
+
if (!error_message) {
|
|
46805
|
+
result_data[i] = HandleVectorCastError::Operation<RES_TYPE>(
|
|
46806
|
+
CastExceptionText<SRC_TYPE, RES_TYPE>(source_data[src_idx]), result_mask, i, error_message,
|
|
46807
|
+
all_converted);
|
|
46808
|
+
} else {
|
|
46809
|
+
result_mask.SetInvalid(i);
|
|
46810
|
+
}
|
|
46805
46811
|
continue;
|
|
46806
46812
|
}
|
|
46807
46813
|
result_data[i] = key;
|
|
46808
46814
|
}
|
|
46815
|
+
return all_converted;
|
|
46809
46816
|
}
|
|
46810
46817
|
|
|
46811
46818
|
template <class SRC_TYPE>
|
|
46812
|
-
|
|
46819
|
+
bool FillEnumResultTemplate(Vector &source, Vector &result, idx_t count, string *error_message) {
|
|
46813
46820
|
switch (source.GetType().InternalType()) {
|
|
46814
46821
|
case PhysicalType::UINT8:
|
|
46815
|
-
FillEnum<SRC_TYPE, uint8_t>(source, result, count);
|
|
46816
|
-
break;
|
|
46822
|
+
return FillEnum<SRC_TYPE, uint8_t>(source, result, count, error_message);
|
|
46817
46823
|
case PhysicalType::UINT16:
|
|
46818
|
-
FillEnum<SRC_TYPE, uint16_t>(source, result, count);
|
|
46819
|
-
break;
|
|
46824
|
+
return FillEnum<SRC_TYPE, uint16_t>(source, result, count, error_message);
|
|
46820
46825
|
case PhysicalType::UINT32:
|
|
46821
|
-
FillEnum<SRC_TYPE, uint32_t>(source, result, count);
|
|
46822
|
-
break;
|
|
46826
|
+
return FillEnum<SRC_TYPE, uint32_t>(source, result, count, error_message);
|
|
46823
46827
|
default:
|
|
46824
46828
|
throw InternalException("ENUM can only have unsigned integers (except UINT64) as physical types");
|
|
46825
46829
|
}
|
|
@@ -46867,18 +46871,14 @@ static bool EnumCastSwitch(Vector &source, Vector &result, idx_t count, string *
|
|
|
46867
46871
|
// This means they are both ENUMs, but of different types.
|
|
46868
46872
|
switch (enum_physical_type) {
|
|
46869
46873
|
case PhysicalType::UINT8:
|
|
46870
|
-
FillEnumResultTemplate<uint8_t>(source, result, count);
|
|
46871
|
-
break;
|
|
46874
|
+
return FillEnumResultTemplate<uint8_t>(source, result, count, error_message);
|
|
46872
46875
|
case PhysicalType::UINT16:
|
|
46873
|
-
FillEnumResultTemplate<uint16_t>(source, result, count);
|
|
46874
|
-
break;
|
|
46876
|
+
return FillEnumResultTemplate<uint16_t>(source, result, count, error_message);
|
|
46875
46877
|
case PhysicalType::UINT32:
|
|
46876
|
-
FillEnumResultTemplate<uint32_t>(source, result, count);
|
|
46877
|
-
break;
|
|
46878
|
+
return FillEnumResultTemplate<uint32_t>(source, result, count, error_message);
|
|
46878
46879
|
default:
|
|
46879
46880
|
throw InternalException("ENUM can only have unsigned integers (except UINT64) as physical types");
|
|
46880
46881
|
}
|
|
46881
|
-
break;
|
|
46882
46882
|
}
|
|
46883
46883
|
case LogicalTypeId::JSON:
|
|
46884
46884
|
case LogicalTypeId::VARCHAR: {
|
|
@@ -129685,7 +129685,7 @@ unique_ptr<Expression> EnumComparisonRule::Apply(LogicalOperator &op, vector<Exp
|
|
|
129685
129685
|
}
|
|
129686
129686
|
|
|
129687
129687
|
auto cast_left_to_right =
|
|
129688
|
-
make_unique<BoundCastExpression>(move(left_child->child), right_child->child->return_type);
|
|
129688
|
+
make_unique<BoundCastExpression>(move(left_child->child), right_child->child->return_type, true);
|
|
129689
129689
|
|
|
129690
129690
|
return make_unique<BoundComparisonExpression>(root->type, move(cast_left_to_right), move(right_child->child));
|
|
129691
129691
|
}
|
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.3.5-
|
|
14
|
+
#define DUCKDB_SOURCE_ID "6d4e7c7f6"
|
|
15
|
+
#define DUCKDB_VERSION "v0.3.5-dev123"
|
|
16
16
|
//===----------------------------------------------------------------------===//
|
|
17
17
|
// DuckDB
|
|
18
18
|
//
|