ClickHouse/dbms/src/Parsers/IParserBase.cpp

32 lines
450 B
C++
Raw Normal View History

#include <Parsers/IParserBase.h>
namespace DB
{
namespace ErrorCodes
{
extern const int LOGICAL_ERROR;
}
bool IParserBase::parse(Pos & pos, ASTPtr & node, Expected & expected)
{
Pos begin = pos;
expected.add(pos, getName());
bool res = parseImpl(pos, node, expected);
if (!res)
{
node = nullptr;
pos = begin;
}
2018-02-26 03:47:32 +00:00
else if (node)
2018-02-26 03:40:20 +00:00
node->range = StringRange(begin, pos);
return res;
}
}