Skip to content

Commit b548c4b

Browse files
vendor: Update vendored sources to duckdb/duckdb@e92f410 (#1823)
[Storage] Fix NULL filter check for constant segments (duckdb/duckdb#20103) Cast Fix: Correctly handle negative exponent with a number with a decimal in VARCHAR -> INTEGER cast (duckdb/duckdb#20098) Co-authored-by: krlmlr <[email protected]>
1 parent b52086c commit b548c4b

File tree

5 files changed

+11
-9
lines changed

5 files changed

+11
-9
lines changed

R/version.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Generated by rconfigure.py, do not edit by hand
22
# DuckDB version information
33

4-
duckdb_version <- "1.4.3"
4+
duckdb_version <- "1.4.4-dev6"
55

66
# Function to get DuckDB version without establishing a connection
77
get_duckdb_version <- function() {

src/duckdb/src/function/table/version/pragma_version.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#ifndef DUCKDB_PATCH_VERSION
2-
#define DUCKDB_PATCH_VERSION "3"
2+
#define DUCKDB_PATCH_VERSION "4-dev6"
33
#endif
44
#ifndef DUCKDB_MINOR_VERSION
55
#define DUCKDB_MINOR_VERSION 4
@@ -8,10 +8,10 @@
88
#define DUCKDB_MAJOR_VERSION 1
99
#endif
1010
#ifndef DUCKDB_VERSION
11-
#define DUCKDB_VERSION "v1.4.3"
11+
#define DUCKDB_VERSION "v1.4.4-dev6"
1212
#endif
1313
#ifndef DUCKDB_SOURCE_ID
14-
#define DUCKDB_SOURCE_ID "d1dc88f950"
14+
#define DUCKDB_SOURCE_ID "e92f41065f"
1515
#endif
1616
#include "duckdb/function/table/system_functions.hpp"
1717
#include "duckdb/main/database.hpp"

src/duckdb/src/include/duckdb/common/operator/integer_cast_operator.hpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,12 @@ struct IntegerDecimalCastOperation : IntegerCastOperation {
103103
int16_t e = exponent;
104104
// Negative Exponent
105105
if (e < 0) {
106-
while (state.result != 0 && e++ < 0) {
106+
while (e++ < 0) {
107107
state.decimal = state.result % 10;
108108
state.result /= 10;
109+
if (state.result == 0 && state.decimal == 0) {
110+
break;
111+
}
109112
}
110113
if (state.decimal < 0) {
111114
state.decimal = -state.decimal;

src/duckdb/src/storage/compression/numeric_constant.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@ void FiltersNullValues(const LogicalType &type, const TableFilter &filter, bool
156156
auto &expr_filter = filter.Cast<ExpressionFilter>();
157157
auto &state = filter_state.Cast<ExpressionFilterState>();
158158
Value val(type);
159-
filters_nulls = expr_filter.EvaluateWithConstant(state.executor, val);
159+
//! If the expression evaluates to true, containing only a NULL vector, it *must* be an IS NULL filter
160+
filters_nulls = !expr_filter.EvaluateWithConstant(state.executor, val);
160161
filters_valid_values = false;
161162
break;
162163
}

src/duckdb/src/storage/table/column_segment.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,9 +242,7 @@ void ColumnSegment::ConvertToPersistent(QueryContext context, optional_ptr<Block
242242
// Thus, we set the compression function to constant and reset the block buffer.
243243
D_ASSERT(stats.statistics.IsConstant());
244244
auto &config = DBConfig::GetConfig(db);
245-
if (GetCompressionFunction().type != CompressionType::COMPRESSION_EMPTY) {
246-
function = *config.GetCompressionFunction(CompressionType::COMPRESSION_CONSTANT, type.InternalType());
247-
}
245+
function = *config.GetCompressionFunction(CompressionType::COMPRESSION_CONSTANT, type.InternalType());
248246
block.reset();
249247
}
250248

0 commit comments

Comments
 (0)