aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergei Puchin <s.puchin@gmail.com>2022-02-16 15:48:22 +0300
committerSergei Puchin <s.puchin@gmail.com>2022-02-16 15:48:22 +0300
commitb95ffa12c2d7a36459f4317bd68e9b77451c5993 (patch)
treebef3a8bc8db33cb70e8127070d537ac80300993d
parent7ac7666495e3f3ab80bd93ed6bf29755d90b54c4 (diff)
downloadydb-b95ffa12c2d7a36459f4317bd68e9b77451c5993.tar.gz
Allow pragma warning for YDB queries. (KIKIMR-14258)
ref:4252c0f1c18fb1cd784e529dee008fb143471991
-rw-r--r--ydb/core/kqp/host/kqp_host.cpp5
-rw-r--r--ydb/core/kqp/ut/kqp_pragma_ut.cpp15
2 files changed, 19 insertions, 1 deletions
diff --git a/ydb/core/kqp/host/kqp_host.cpp b/ydb/core/kqp/host/kqp_host.cpp
index 44af6d11682..b35a0772597 100644
--- a/ydb/core/kqp/host/kqp_host.cpp
+++ b/ydb/core/kqp/host/kqp_host.cpp
@@ -1065,7 +1065,10 @@ public:
// Config provider
const TGatewaysConfig* gatewaysConfig = nullptr; // TODO: can we get real gatewaysConfig here?
auto allowSettings = [](TStringBuf settingName) {
- return settingName == "OrderedColumns" || settingName == "DisableOrderedColumns";
+ return
+ settingName == "OrderedColumns" ||
+ settingName == "DisableOrderedColumns" ||
+ settingName == "Warning";
};
auto configProvider = CreateConfigProvider(*TypesCtx, gatewaysConfig, allowSettings);
TypesCtx->AddDataSource(ConfigProviderName, configProvider);
diff --git a/ydb/core/kqp/ut/kqp_pragma_ut.cpp b/ydb/core/kqp/ut/kqp_pragma_ut.cpp
index cdf99e40430..9d2fd4c53c8 100644
--- a/ydb/core/kqp/ut/kqp_pragma_ut.cpp
+++ b/ydb/core/kqp/ut/kqp_pragma_ut.cpp
@@ -96,6 +96,21 @@ Y_UNIT_TEST_SUITE(KqpPragma) {
[[3u];[2u];[1u]]
])", FormatResultSetYson(result.GetResultSet(0)));
}
+
+ Y_UNIT_TEST_NEW_ENGINE(Warning) {
+ TKikimrRunner kikimr;
+ auto db = kikimr.GetTableClient();
+ auto session = db.CreateSession().GetValueSync().GetSession();
+
+ auto result = session.ExecuteDataQuery(Q1_(R"(
+ PRAGMA Warning("disable", "1108");
+
+ SELECT * FROM `/Root/KeyValue` WHERE Key IN (1, 2);
+ )"), TTxControl::BeginTx(TTxSettings::SerializableRW()).CommitTx()).ExtractValueSync();
+
+ UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
+ UNIT_ASSERT_C(result.GetIssues().Empty(), result.GetIssues().ToString());
+ }
}
} // namspace NKqp