ClickHouse/src/Parsers/Kusto/ParserKQLStatement.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

53 lines
1.5 KiB
C++
Raw Normal View History

#pragma once
#include <Parsers/IParserBase.h>
namespace DB
{
class ParserKQLStatement : public IParserBase
{
private:
const char * end;
bool allow_settings_after_format_in_insert;
const char * getName() const override { return "KQL Statement"; }
bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override;
2023-01-17 21:08:33 +00:00
public:
explicit ParserKQLStatement(const char * end_, bool allow_settings_after_format_in_insert_ = false)
2023-01-17 21:08:33 +00:00
: end(end_), allow_settings_after_format_in_insert(allow_settings_after_format_in_insert_)
{
}
};
class ParserKQLWithOutput : public IParserBase
{
protected:
const char * end;
bool allow_settings_after_format_in_insert;
const char * getName() const override { return "KQL with output"; }
bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override;
2023-01-17 21:08:33 +00:00
public:
explicit ParserKQLWithOutput(const char * end_, bool allow_settings_after_format_in_insert_ = false)
2023-01-17 21:08:33 +00:00
: end(end_), allow_settings_after_format_in_insert(allow_settings_after_format_in_insert_)
{
}
};
class ParserKQLWithUnionQuery : public IParserBase
{
protected:
const char * getName() const override { return "KQL query, possibly with UNION"; }
bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override;
};
2022-06-29 05:03:36 +00:00
class ParserKQLTaleFunction : public IParserBase
{
protected:
const char * getName() const override { return "KQL() function"; }
bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override;
};
}