blob: 7743f57432113841c32f6fe140ca09a89608b02e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#include "check_complete.h"
#include <library/cpp/testing/unittest/registar.h>
#include <yql/essentials/sql/sql.h>
#include <yql/essentials/sql/v1/sql.h>
#include <yql/essentials/sql/v1/lexer/antlr4/lexer.h>
#include <yql/essentials/sql/v1/lexer/antlr4_ansi/lexer.h>
#include <yql/essentials/sql/v1/proto_parser/antlr4/proto_parser.h>
#include <yql/essentials/sql/v1/proto_parser/antlr4_ansi/proto_parser.h>
using namespace NSQLComplete;
Y_UNIT_TEST_SUITE(CheckTests) {
Y_UNIT_TEST(Runs) {
TString query = R"(
SELECT * FROM (SELECT 1 AS x)
)";
NSQLTranslationV1::TLexers lexers = {
.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory(),
.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory(),
};
NSQLTranslationV1::TParsers parsers = {
.Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory(),
.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory(),
};
NSQLTranslation::TTranslators translators(
/* V0 = */ nullptr,
/* V1 = */ NSQLTranslationV1::MakeTranslator(lexers, parsers),
/* PG = */ nullptr);
google::protobuf::Arena arena;
NSQLTranslation::TTranslationSettings settings;
settings.Arena = &arena;
NYql::TAstParseResult result = NSQLTranslation::SqlToYql(translators, query, settings);
Y_ENSURE(result.IsOk());
Y_ENSURE(CheckComplete(query, *result.Root, result.Issues), result.Issues.ToString());
}
} // Y_UNIT_TEST_SUITE(CheckTests)
|