Browse Source

Allow pragma warning for YDB queries. (KIKIMR-14258)

ref:4252c0f1c18fb1cd784e529dee008fb143471991
Sergei Puchin 3 years ago
parent
commit
b95ffa12c2
2 changed files with 19 additions and 1 deletions
  1. 4 1
      ydb/core/kqp/host/kqp_host.cpp
  2. 15 0
      ydb/core/kqp/ut/kqp_pragma_ut.cpp

+ 4 - 1
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);

+ 15 - 0
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