ClickHouse/dbms/include/DB/Databases/DatabasesCommon.h

35 lines
1.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include <DB/Core/Types.h>
#include <DB/Parsers/IAST.h>
#include <DB/Storages/IStorage.h>
/// Общая функциональность для нескольких разных движков баз данных.
namespace DB
{
/** Получить строку с определением таблицы на основе запроса CREATE.
* Она представляет собой запрос ATTACH, который можно выполнить для создания таблицы, находясь в нужной БД.
* См. реализацию.
*/
String getTableDefinitionFromCreateQuery(const ASTPtr & query);
/** Создать таблицу по её определению, без использования InterpreterCreateQuery.
* (InterpreterCreateQuery обладает более сложной функциональностью, и его нельзя использовать, если БД ещё не создана)
* Возвращает имя таблицы и саму таблицу.
*/
std::pair<String, StoragePtr> createTableFromDefinition(
const String & definition,
const String & database_name,
const String & database_data_path,
Context & context,
bool has_force_restore_data_flag,
const String & description_for_error_message);
}