Skip to content

Commit c421cb3

Browse files
vendor: Update vendored sources to duckdb/duckdb@a86af88 (#1803)
Windows must sample less (duckdb/duckdb#20018) Bump MySQL scanner (duckdb/duckdb#20025) Fix INSERT OR REPLACE BY NAME with partial columns(duckdb/duckdb#19845) (duckdb/duckdb#19989) Co-authored-by: krlmlr <[email protected]>
1 parent cd4b8c9 commit c421cb3

File tree

4 files changed

+21
-15
lines changed

4 files changed

+21
-15
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-dev191"
4+
duckdb_version <- "1.4.3-dev201"
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-dev191"
2+
#define DUCKDB_PATCH_VERSION "3-dev201"
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-dev191"
11+
#define DUCKDB_VERSION "v1.4.3-dev201"
1212
#endif
1313
#ifndef DUCKDB_SOURCE_ID
14-
#define DUCKDB_SOURCE_ID "e4fa02b24b"
14+
#define DUCKDB_SOURCE_ID "a86af889de"
1515
#endif
1616
#include "duckdb/function/table/system_functions.hpp"
1717
#include "duckdb/main/database.hpp"

src/duckdb/src/include/duckdb/common/allocator.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ class AllocatedData {
8989
};
9090

9191
class Allocator {
92-
public:
9392
// 281TB ought to be enough for anybody
9493
static constexpr const idx_t MAXIMUM_ALLOC_SIZE = 281474976710656ULL;
9594

src/duckdb/src/planner/binder/statement/bind_insert.cpp

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,11 @@ unique_ptr<MergeIntoStatement> Binder::GenerateMergeInto(InsertStatement &stmt,
465465

466466
if (on_conflict_info.action_type == OnConflictAction::REPLACE) {
467467
D_ASSERT(!on_conflict_info.set_info);
468-
on_conflict_info.set_info = CreateSetInfoForReplace(table, stmt, storage_info);
468+
// For BY POSITION, create explicit SET information
469+
// For BY NAME, leave it empty and let bind_merge_into handle it automatically
470+
if (stmt.column_order != InsertColumnOrder::INSERT_BY_NAME) {
471+
on_conflict_info.set_info = CreateSetInfoForReplace(table, stmt, storage_info);
472+
}
469473
on_conflict_info.action_type = OnConflictAction::UPDATE;
470474
}
471475
// now set up the merge actions
@@ -484,16 +488,19 @@ unique_ptr<MergeIntoStatement> Binder::GenerateMergeInto(InsertStatement &stmt,
484488
// when doing UPDATE set up the when matched action
485489
auto update_action = make_uniq<MergeIntoAction>();
486490
update_action->action_type = MergeActionType::MERGE_UPDATE;
487-
for (auto &col : on_conflict_info.set_info->expressions) {
488-
vector<unordered_set<string>> lambda_params;
489-
DoUpdateSetQualify(col, table_name, lambda_params);
490-
}
491-
if (on_conflict_info.set_info->condition) {
492-
vector<unordered_set<string>> lambda_params;
493-
DoUpdateSetQualify(on_conflict_info.set_info->condition, table_name, lambda_params);
494-
update_action->condition = std::move(on_conflict_info.set_info->condition);
491+
update_action->column_order = stmt.column_order;
492+
if (on_conflict_info.set_info) {
493+
for (auto &col : on_conflict_info.set_info->expressions) {
494+
vector<unordered_set<string>> lambda_params;
495+
DoUpdateSetQualify(col, table_name, lambda_params);
496+
}
497+
if (on_conflict_info.set_info->condition) {
498+
vector<unordered_set<string>> lambda_params;
499+
DoUpdateSetQualify(on_conflict_info.set_info->condition, table_name, lambda_params);
500+
update_action->condition = std::move(on_conflict_info.set_info->condition);
501+
}
502+
update_action->update_info = std::move(on_conflict_info.set_info);
495503
}
496-
update_action->update_info = std::move(on_conflict_info.set_info);
497504

498505
merge_into->actions[MergeActionCondition::WHEN_MATCHED].push_back(std::move(update_action));
499506
}

0 commit comments

Comments
 (0)