mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-10 09:32:06 +00:00
Merge pull request #36275 from Avogar/fix-insert-select
Place new logic of schema inference in insert select from table function under setting
This commit is contained in:
commit
7fb7fc9daa
@ -566,6 +566,8 @@ class IColumn;
|
||||
M(Bool, enable_filesystem_cache_on_write_operations, false, "Write into cache on write operations. To actually work this setting requires be added to disk config too", 0) \
|
||||
M(Bool, read_from_filesystem_cache_if_exists_otherwise_bypass_cache, false, "", 0) \
|
||||
\
|
||||
M(Bool, use_structure_from_insertion_table_in_table_functions, false, "Use structure from insertion table instead of schema inference from data", 0) \
|
||||
\
|
||||
M(UInt64, http_max_tries, 10, "Max attempts to read via http.", 0) \
|
||||
M(UInt64, http_retry_initial_backoff_ms, 100, "Min milliseconds for backoff, when retrying read via http", 0) \
|
||||
M(UInt64, http_retry_max_backoff_ms, 10000, "Max milliseconds for backoff, when retrying read via http", 0) \
|
||||
|
@ -1101,7 +1101,7 @@ StoragePtr Context::executeTableFunction(const ASTPtr & table_expression)
|
||||
if (!res)
|
||||
{
|
||||
TableFunctionPtr table_function_ptr = TableFunctionFactory::instance().get(table_expression, shared_from_this());
|
||||
if (table_function_ptr->needStructureHint())
|
||||
if (getSettingsRef().use_structure_from_insertion_table_in_table_functions && table_function_ptr->needStructureHint())
|
||||
{
|
||||
const auto & insertion_table = getInsertionTable();
|
||||
if (!insertion_table.empty())
|
||||
|
@ -5,4 +5,4 @@ Tuple(k1 Int8, k2 Tuple(k3 String, k4 Nested(k5 Int8, k6 Int8)), some Int8)
|
||||
{"id":"2","obj":"bbb","s":"bar"}
|
||||
{"map":{"k1":1,"k2":2},"obj":{"k1":1,"k2.k3":2},"map_type":"Map(String, Nullable(Float64))","obj_type":"Object('json')"}
|
||||
{"obj":{"k1":1,"k2":2},"map":{"k1":"1","k2":"2"}}
|
||||
Tuple(k1 Int8, k2 Int8)
|
||||
Tuple(k1 Float64, k2 Float64)
|
||||
|
@ -1,3 +1,5 @@
|
||||
set use_structure_from_insertion_table_in_table_functions = 1;
|
||||
|
||||
drop table if exists test_02249;
|
||||
create table test_02249 (x UInt32, y String) engine=Memory();
|
||||
insert into test_02249 select * from input() format JSONEachRow {"x" : 1, "y" : "string1"}, {"y" : "string2", "x" : 2};
|
||||
|
@ -1,3 +1,5 @@
|
||||
set use_structure_from_insertion_table_in_table_functions = 1;
|
||||
|
||||
insert into table function file('data_02250.jsonl') select NULL as x settings engine_file_truncate_on_insert=1;
|
||||
drop table if exists test_02250;
|
||||
create table test_02250 (x Nullable(UInt32)) engine=Memory();
|
||||
|
Loading…
Reference in New Issue
Block a user