ClickHouse/dbms/include/DB/Parsers/ASTFunction.h

46 lines
943 B
C
Raw Normal View History

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