summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/sql_ut_antlr4.cpp
diff options
context:
space:
mode:
authorshumkovnd <[email protected]>2025-02-11 13:49:08 +0300
committershumkovnd <[email protected]>2025-02-11 14:47:31 +0300
commit69a7cf8a411058070c2ce9e4224c53a06cfd9d3f (patch)
tree6b0f818137d14b07c5afb634d249c7a45d143c7b /yql/essentials/sql/v1/sql_ut_antlr4.cpp
parent50c6140bfda6b86cd98464d7df5feb27c78a496c (diff)
Support SHOW CREATE TABLE statement
commit_hash:01d41da47d238ae4a86642bd8cdb8c245d9c503a
Diffstat (limited to 'yql/essentials/sql/v1/sql_ut_antlr4.cpp')
-rw-r--r--yql/essentials/sql/v1/sql_ut_antlr4.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/yql/essentials/sql/v1/sql_ut_antlr4.cpp b/yql/essentials/sql/v1/sql_ut_antlr4.cpp
index b591fd15a19..e4f9fb6d603 100644
--- a/yql/essentials/sql/v1/sql_ut_antlr4.cpp
+++ b/yql/essentials/sql/v1/sql_ut_antlr4.cpp
@@ -3064,6 +3064,26 @@ Y_UNIT_TEST_SUITE(SqlParsingOnly) {
}
}
+ Y_UNIT_TEST(ShowCreateTable) {
+ NYql::TAstParseResult res = SqlToYql(R"(
+ USE plato;
+ SHOW CREATE TABLE user;
+ )");
+ UNIT_ASSERT(res.Root);
+
+ TVerifyLineFunc verifyLine = [](const TString& word, const TString& line) {
+ if (word == "Read") {
+ UNIT_ASSERT_VALUES_UNEQUAL(TString::npos, line.find("showCreateTable"));
+ }
+ };
+
+ TWordCountHive elementStat = {{TString("Read"), 0}, {TString("showCreateTable"), 0}};
+ VerifyProgram(res, elementStat, verifyLine);
+
+ UNIT_ASSERT_VALUES_EQUAL(1, elementStat["Read"]);
+ UNIT_ASSERT_VALUES_EQUAL(1, elementStat["showCreateTable"]);
+ }
+
Y_UNIT_TEST(OptionalAliases) {
UNIT_ASSERT(SqlToYql("USE plato; SELECT foo FROM (SELECT key foo FROM Input);").IsOk());
UNIT_ASSERT(SqlToYql("USE plato; SELECT a.x FROM Input1 a JOIN Input2 b ON a.key = b.key;").IsOk());
@@ -5972,7 +5992,7 @@ Y_UNIT_TEST_SUITE(AnsiIdentsNegative) {
"*/ select 1;";
res = SqlToYql(req);
UNIT_ASSERT(!res.Root);
- UNIT_ASSERT_NO_DIFF(Err2Str(res), "<main>:4:0: Error: mismatched input '*' expecting {';', '(', '$', ALTER, ANALYZE, BACKUP, BATCH, COMMIT, CREATE, DECLARE, DEFINE, DELETE, DISCARD, DO, DROP, EVALUATE, EXPLAIN, EXPORT, FOR, FROM, GRANT, IF, IMPORT, INSERT, PARALLEL, PRAGMA, PROCESS, REDUCE, REPLACE, RESTORE, REVOKE, ROLLBACK, SELECT, UPDATE, UPSERT, USE, VALUES}\n");
+ UNIT_ASSERT_NO_DIFF(Err2Str(res), "<main>:4:0: Error: mismatched input '*' expecting {';', '(', '$', ALTER, ANALYZE, BACKUP, BATCH, COMMIT, CREATE, DECLARE, DEFINE, DELETE, DISCARD, DO, DROP, EVALUATE, EXPLAIN, EXPORT, FOR, FROM, GRANT, IF, IMPORT, INSERT, PARALLEL, PRAGMA, PROCESS, REDUCE, REPLACE, RESTORE, REVOKE, ROLLBACK, SELECT, SHOW, UPDATE, UPSERT, USE, VALUES}\n");
res = SqlToYqlWithAnsiLexer(req);
UNIT_ASSERT(res.Root);
}