1#pragma once
2
3#include <TableFunctions/ITableFunction.h>
4#include <Interpreters/Context.h>
5
6namespace DB
7{
8
9class ColumnsDescription;
10
11/*
12 * function(source, format, structure) - creates a temporary storage from formated source
13 */
14class ITableFunctionFileLike : public ITableFunction
15{
16private:
17 StoragePtr executeImpl(const ASTPtr & ast_function, const Context & context, const std::string & table_name) const override;
18 virtual StoragePtr getStorage(
19 const String & source, const String & format, const ColumnsDescription & columns, Context & global_context, const std::string & table_name, const String & compression_method) const = 0;
20};
21}
22