MCPcopy Create free account
hub / github.com/ByConity/ByConity / constructCreateTableQuery

Function constructCreateTableQuery

src/Interpreters/CnchSystemLog.cpp:31–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29
30template <typename LogElement>
31ASTPtr constructCreateTableQuery(const String & database_name,
32 const String & table_name,
33 const String & storage_def)
34{
35 auto create = std::make_shared<ASTCreateQuery>();
36 create->database = database_name;
37 create->table = table_name;
38
39 auto ordinary_columns = LogElement::getNamesAndTypes();
40 auto alias_columns = LogElement::getNamesAndAliases();
41 auto new_columns_list = std::make_shared<ASTColumns>();
42 new_columns_list->set(new_columns_list->columns, InterpreterCreateQuery::formatColumns(ordinary_columns, alias_columns, ParserSettings::CLICKHOUSE));
43 create->set(create->columns_list, new_columns_list);
44
45 ParserStorage storage_parser;
46 ASTPtr storage_ast = parseQuery(
47 storage_parser, storage_def.data(), storage_def.data() + storage_def.size(),
48 "Storage to create table for " + LogElement::name(), 0, DBMS_DEFAULT_MAX_PARSER_DEPTH);
49 create->set(create->storage, storage_ast);
50
51 return create;
52}
53
54template<typename CloudLog>
55std::shared_ptr<CloudLog> createCnchLog(

Callers

nothing calls this directly

Calls 4

parseQueryFunction · 0.85
setMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected