2014-10-23 13:53:16 +00:00
|
|
|
#pragma once
|
|
|
|
|
2016-01-13 00:32:59 +00:00
|
|
|
#include <unordered_map>
|
2016-08-15 19:41:44 +00:00
|
|
|
#include <string>
|
2014-10-23 13:53:16 +00:00
|
|
|
|
|
|
|
|
2016-01-13 00:32:59 +00:00
|
|
|
namespace DB
|
2014-10-23 13:53:16 +00:00
|
|
|
{
|
|
|
|
|
2016-01-13 00:32:59 +00:00
|
|
|
class Block;
|
|
|
|
class Context;
|
2017-12-25 21:57:29 +00:00
|
|
|
class NamesAndTypesList;
|
2016-01-13 00:32:59 +00:00
|
|
|
struct ColumnDefault;
|
2014-10-23 13:53:16 +00:00
|
|
|
|
2016-01-13 00:32:59 +00:00
|
|
|
void evaluateMissingDefaults(Block & block,
|
2017-12-25 21:57:29 +00:00
|
|
|
const NamesAndTypesList & required_columns,
|
2017-04-01 07:20:54 +00:00
|
|
|
const std::unordered_map<std::string, ColumnDefault> & column_defaults,
|
2018-12-04 20:03:04 +00:00
|
|
|
const Context & context, bool save_unneeded_columns = true);
|
2018-07-04 17:02:47 +00:00
|
|
|
|
2020-02-13 20:09:48 +00:00
|
|
|
/// Tries to convert columns in block to required_columns
|
2020-01-15 13:00:08 +00:00
|
|
|
void performRequiredConversions(Block & block,
|
|
|
|
const NamesAndTypesList & required_columns,
|
|
|
|
const Context & context);
|
2014-10-23 13:53:16 +00:00
|
|
|
}
|