File tree Expand file tree Collapse file tree 4 files changed +16
-8
lines changed
Expand file tree Collapse file tree 4 files changed +16
-8
lines changed Original file line number Diff line number Diff line change 11# Generated by rconfigure.py, do not edit by hand
22# DuckDB version information
33
4- duckdb_version <- " 1.4.1-dev82 "
4+ duckdb_version <- " 1.4.1-dev91 "
55
66# Function to get DuckDB version without establishing a connection
77get_duckdb_version <- function () {
Original file line number Diff line number Diff line change @@ -24,8 +24,8 @@ string CatalogSearchEntry::ToString() const {
2424
2525string CatalogSearchEntry::WriteOptionallyQuoted (const string &input) {
2626 for (idx_t i = 0 ; i < input.size (); i++) {
27- if (input[i] == ' .' || input[i] == ' ,' ) {
28- return " \" " + input + " \" " ;
27+ if (input[i] == ' .' || input[i] == ' ,' || input[i] == ' " ' ) {
28+ return " \" " + StringUtil::Replace ( input, " \" " , " \"\" " ) + " \" " ;
2929 }
3030 }
3131 return input;
Original file line number Diff line number Diff line change 11#ifndef DUCKDB_PATCH_VERSION
2- #define DUCKDB_PATCH_VERSION " 1-dev82 "
2+ #define DUCKDB_PATCH_VERSION " 1-dev91 "
33#endif
44#ifndef DUCKDB_MINOR_VERSION
55#define DUCKDB_MINOR_VERSION 4
88#define DUCKDB_MAJOR_VERSION 1
99#endif
1010#ifndef DUCKDB_VERSION
11- #define DUCKDB_VERSION " v1.4.1-dev82 "
11+ #define DUCKDB_VERSION " v1.4.1-dev91 "
1212#endif
1313#ifndef DUCKDB_SOURCE_ID
14- #define DUCKDB_SOURCE_ID " 922691fc7f "
14+ #define DUCKDB_SOURCE_ID " 81b4ef640b "
1515#endif
1616#include " duckdb/function/table/system_functions.hpp"
1717#include " duckdb/main/database.hpp"
Original file line number Diff line number Diff line change @@ -232,10 +232,18 @@ BoundStatement Binder::Bind(MergeIntoStatement &stmt) {
232232 auto bound_join_node = Bind (join);
233233
234234 auto root = CreatePlan (*bound_join_node);
235+ auto join_ref = reference<LogicalOperator>(*root);
236+ while (join_ref.get ().children .size () == 1 ) {
237+ join_ref = *join_ref.get ().children [0 ];
238+ }
239+ if (join_ref.get ().children .size () != 2 ) {
240+ throw NotImplementedException (" Expected a join after binding a join operator - but got a %s" ,
241+ join_ref.get ().type );
242+ }
235243 // kind of hacky, CreatePlan turns a RIGHT join into a LEFT join so the children get reversed from what we need
236244 bool inverted = join.type == JoinType::RIGHT;
237- auto &source = root-> children [inverted ? 1 : 0 ];
238- auto &get = root-> children [inverted ? 0 : 1 ]->Cast <LogicalGet>();
245+ auto &source = join_ref. get (). children [inverted ? 1 : 0 ];
246+ auto &get = join_ref. get (). children [inverted ? 0 : 1 ]->Cast <LogicalGet>();
239247
240248 auto merge_into = make_uniq<LogicalMergeInto>(table);
241249 merge_into->table_index = GenerateTableIndex ();
You can’t perform that action at this time.
0 commit comments