ClickHouse/dbms/include/DB/Parsers/ASTFunction.h
2011-08-09 19:19:00 +00:00

46 lines
943 B
C++

#ifndef DBMS_PARSERS_ASTFUNCTION_H
#define DBMS_PARSERS_ASTFUNCTION_H
#include <DB/Parsers/IAST.h>
#include <DB/Functions/IFunction.h>
namespace DB
{
/** Применение функции или оператора
*/
class ASTFunction : public IAST
{
public:
StringRange range;
/// имя функции
String name;
/// параметры
ASTPtr arguments;
/// сама функция
FunctionPtr function;
ASTFunction() {}
ASTFunction(StringRange range_) : range(range_) {}
/** Получить кусок текста, откуда был получен этот элемент. */
StringRange getRange() { return range; }
/** Получить всех детей. */
ASTs getChildren()
{
ASTs res;
res.push_back(arguments);
return res;
}
/** Получить текст, который идентифицирует этот элемент. */
String getID() { return "Function_" + name; }
};
}
#endif