summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/sql_ut.cpp
diff options
context:
space:
mode:
authortesseract <[email protected]>2025-01-21 12:50:29 +0300
committertesseract <[email protected]>2025-01-21 14:32:19 +0300
commite677409ecb6106695a976307290b2f6bad3d72c0 (patch)
tree7c4fe8c7334a8f814506c857a08322ea800a8b79 /yql/essentials/sql/v1/sql_ut.cpp
parente2324a4c7934ecbc80eb47f70d2586c4995499b5 (diff)
YQL for create, alter and drop transfer from topic to table
commit_hash:09502f46a7ee665609d2c4ba8d9e0aa421720cdb
Diffstat (limited to 'yql/essentials/sql/v1/sql_ut.cpp')
-rw-r--r--yql/essentials/sql/v1/sql_ut.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/sql_ut.cpp b/yql/essentials/sql/v1/sql_ut.cpp
index e7b30928c32..9baf35f8f4e 100644
--- a/yql/essentials/sql/v1/sql_ut.cpp
+++ b/yql/essentials/sql/v1/sql_ut.cpp
@@ -4,6 +4,7 @@
#include <yql/essentials/providers/common/provider/yql_provider_names.h>
#include <yql/essentials/sql/sql.h>
+#include <yql/essentials/sql/v1/sql.h>
#include <util/generic/map.h>
#include <library/cpp/testing/unittest/registar.h>
@@ -287,6 +288,11 @@ Y_UNIT_TEST_SUITE(SqlParsingOnly) {
UNIT_ASSERT(SqlToYql("USE plato; SELECT REPLICATION FROM REPLICATION").IsOk());
}
+ Y_UNIT_TEST(TransferKeywordNotReservedForNames) {
+ UNIT_ASSERT(SqlToYql("USE plato; CREATE TABLE TRANSFER (TRANSFER Uint32, PRIMARY KEY (TRANSFER));").IsOk());
+ UNIT_ASSERT(SqlToYql("USE plato; SELECT TRANSFER FROM TRANSFER").IsOk());
+ }
+
Y_UNIT_TEST(SecondsKeywordNotReservedForNames) {
UNIT_ASSERT(SqlToYql("USE plato; CREATE TABLE SECONDS (SECONDS Uint32, PRIMARY KEY (SECONDS));").IsOk());
UNIT_ASSERT(SqlToYql("USE plato; SELECT SECONDS FROM SECONDS").IsOk());
@@ -8056,3 +8062,60 @@ Y_UNIT_TEST_SUITE(ColumnFamily) {
UNIT_ASSERT_STRING_CONTAINS(res.Issues.ToString(), "COMPRESSION_LEVEL value should be an integer");
}
}
+
+Y_UNIT_TEST_SUITE(QuerySplit) {
+ Y_UNIT_TEST(Simple) {
+ TString query = R"(
+ ;
+ -- Comment 1
+ SELECT * From Input; -- Comment 2
+ -- Comment 3
+ $a = "a";
+
+ -- Comment 9
+ ;
+
+ -- Comment 10
+
+ -- Comment 8
+
+ $b = ($x) -> {
+ -- comment 4
+ return /* Comment 5 */ $x;
+ -- Comment 6
+ };
+
+ // Comment 7
+
+
+
+ )";
+
+ google::protobuf::Arena Arena;
+
+ NSQLTranslation::TTranslationSettings settings;
+ settings.AnsiLexer = false;
+ settings.Antlr4Parser = true;
+ settings.Arena = &Arena;
+
+ TVector<TString> statements;
+ NYql::TIssues issues;
+
+ UNIT_ASSERT(NSQLTranslationV1::SplitQueryToStatements(query, statements, issues, settings));
+
+ UNIT_ASSERT_VALUES_EQUAL(statements.size(), 3);
+
+ UNIT_ASSERT_VALUES_EQUAL(statements[0], "-- Comment 1\n SELECT * From Input; -- Comment 2\n");
+ UNIT_ASSERT_VALUES_EQUAL(statements[1], R"(-- Comment 3
+ $a = "a";)");
+ UNIT_ASSERT_VALUES_EQUAL(statements[2], R"(-- Comment 10
+
+ -- Comment 8
+
+ $b = ($x) -> {
+ -- comment 4
+ return /* Comment 5 */ $x;
+ -- Comment 6
+ };)");
+ }
+}