summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraneporada <[email protected]>2023-03-05 23:06:59 +0300
committeraneporada <[email protected]>2023-03-05 23:06:59 +0300
commit43de188852f5b2e541b81a48eb17d1cc1dc35822 (patch)
tree6f540fcdb6a7cc265cb06e86d42b25f73baa4d5e
parent2c83c46070eaada689fbf64a3d60965cb8dd958e (diff)
Fix AnsiOptionalAs + new keywords
-rw-r--r--ydb/library/yql/sql/v1/SQLv1.g.in8
-rw-r--r--ydb/library/yql/sql/v1/sql_ut.cpp9
2 files changed, 11 insertions, 6 deletions
diff --git a/ydb/library/yql/sql/v1/SQLv1.g.in b/ydb/library/yql/sql/v1/SQLv1.g.in
index 124c48827f9..1b2bba95de6 100644
--- a/ydb/library/yql/sql/v1/SQLv1.g.in
+++ b/ydb/library/yql/sql/v1/SQLv1.g.in
@@ -791,7 +791,6 @@ id_hint:
;
id_as_compat: identifier | keyword_as_compat;
-keyword_as_compat: TYPE;
// ANSI-aware versions of various identifiers with support double-quoted identifiers when PRAGMA AnsiQuotedIdentifiers; is present
an_id: id | STRING_VALUE;
@@ -895,6 +894,13 @@ keyword_hint_uncompat:
| COLUMNS
;
+keyword_as_compat:
+ DATA
+ | SOURCE
+ | TYPE
+;
+
+// insert new keyword into keyword_as_compat also
keyword_compat: (
ABORT
| ACTION
diff --git a/ydb/library/yql/sql/v1/sql_ut.cpp b/ydb/library/yql/sql/v1/sql_ut.cpp
index e6fe98f3d9c..50a336c161c 100644
--- a/ydb/library/yql/sql/v1/sql_ut.cpp
+++ b/ydb/library/yql/sql/v1/sql_ut.cpp
@@ -706,7 +706,6 @@ Y_UNIT_TEST_SUITE(SqlParsingOnly) {
Y_UNIT_TEST(AlterObjectNoFeatures) {
NYql::TAstParseResult res = SqlToYql("USE plato; ALTER OBJECT secretId (TYPE SECRET);");
UNIT_ASSERT(!res.Root);
- Cerr << Err2Str(res) << Endl;
}
Y_UNIT_TEST(DropObjectNoFeatures) {
@@ -1191,8 +1190,6 @@ Y_UNIT_TEST_SUITE(SqlParsingOnly) {
SELECT * FROM $squ2;
SELECT * FROM $squ3;
)");
-
- Cerr << Err2Str(res) << Endl;
UNIT_ASSERT(res.Root);
}
@@ -1207,8 +1204,6 @@ Y_UNIT_TEST_SUITE(SqlParsingOnly) {
JOIN $right AS r
ON l.key == r.key;
)");
-
- Cerr << Err2Str(res) << Endl;
UNIT_ASSERT(res.Root);
}
@@ -4406,6 +4401,10 @@ Y_UNIT_TEST_SUITE(AnsiOptionalAs) {
"SELECT a b, c FROM plato.Input;",
"<main>:2:10: Error: Expecting mandatory AS here. Did you miss comma? Please add PRAGMA AnsiOptionalAs; for ANSI compatibility\n");
}
+
+ Y_UNIT_TEST(OptionalAsWithKeywords) {
+ UNIT_ASSERT(SqlToYql("PRAGMA AnsiOptionalAs; SELECT a type, b data, c source FROM plato.Input;").IsOk());
+ }
}
Y_UNIT_TEST_SUITE(SessionWindowNegative) {