mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 07:31:57 +00:00
dbms: Fixed leak [#METR-9750]. Enabled warning, fixed potential errors.
This commit is contained in:
parent
7ff4b92ee8
commit
05615da00a
@ -51,9 +51,10 @@ public:
|
||||
* Для неконстантных столбцов arguments[i].column=NULL.
|
||||
* Осмысленные типы элементов в out_prerequisites: APPLY_FUNCTION, ADD_COLUMN.
|
||||
*/
|
||||
virtual void getReturnTypeAndPrerequisites(const ColumnsWithNameAndType & arguments,
|
||||
DataTypePtr & out_return_type,
|
||||
ExpressionActions::Actions & out_prerequisites)
|
||||
virtual void getReturnTypeAndPrerequisites(
|
||||
const ColumnsWithNameAndType & arguments,
|
||||
DataTypePtr & out_return_type,
|
||||
ExpressionActions::Actions & out_prerequisites)
|
||||
{
|
||||
DataTypes types(arguments.size());
|
||||
for (size_t i = 0; i < arguments.size(); ++i)
|
||||
@ -81,6 +82,8 @@ public:
|
||||
{
|
||||
execute(block, arguments, result);
|
||||
}
|
||||
|
||||
virtual ~IFunction() {}
|
||||
};
|
||||
|
||||
|
||||
|
@ -28,6 +28,8 @@ public:
|
||||
|
||||
/// Создать storage в соответствии с запросом
|
||||
virtual StoragePtr execute(ASTPtr ast_function, Context & context) = 0;
|
||||
|
||||
virtual ~ITableFunction() {};
|
||||
};
|
||||
|
||||
typedef SharedPtr<ITableFunction> TableFunctionPtr;
|
||||
|
@ -13,11 +13,11 @@ namespace DB
|
||||
* remote('address', db, table) - создаёт временный StorageDistributed.
|
||||
* Чтобы получить структуру таблицы, делается запрос DESC TABLE на удалённый сервер.
|
||||
* Например:
|
||||
* SELECT count() FROM remote('example01-01-1', merge, hits) - пойти на example01-01-1, в БД merge, таблицу hits. *
|
||||
* SELECT count() FROM remote('example01-01-1', merge, hits) - пойти на example01-01-1, в БД merge, таблицу hits.
|
||||
* В качестве имени хоста может быть указано также выражение, генерирующее множество шардов и реплик - см. ниже.
|
||||
*/
|
||||
|
||||
/// Пока не реализована.
|
||||
class TableFunctionRemote: public ITableFunction
|
||||
class TableFunctionRemote : public ITableFunction
|
||||
{
|
||||
public:
|
||||
/// Максимальное количество различных шардов и максимальное количество реплик одного шарда
|
||||
|
@ -143,7 +143,7 @@ StoragePtr StorageFactory::get(
|
||||
" - name of configuration section with list of remote servers, name of remote database, name of remote table[, sign column name].",
|
||||
ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH);
|
||||
|
||||
String cluster_name = dynamic_cast<ASTIdentifier &>(*args[0]).name;
|
||||
String cluster_name = dynamic_cast<ASTIdentifier &>(*args[0]).name;
|
||||
String remote_database = dynamic_cast<ASTIdentifier &>(*args[1]).name;
|
||||
String remote_table = dynamic_cast<ASTIdentifier &>(*args[2]).name;
|
||||
String sign_column_name = args.size() == 4 ? dynamic_cast<ASTIdentifier &>(*args[3]).name : "";
|
||||
|
Loading…
Reference in New Issue
Block a user