diff options
author | aneporada <[email protected]> | 2025-06-23 14:02:41 +0300 |
---|---|---|
committer | aneporada <[email protected]> | 2025-06-23 15:10:26 +0300 |
commit | 0133b00bb26b7f9040d1ba71da735b68e4e2a2c0 (patch) | |
tree | 1c1c404ffa9289513553232d6034e0612a144f4b | |
parent | 17991439b76e6a735563f320d80eecd472428f66 (diff) |
Deny some system write settings at IO discovery stage
commit_hash:3b7c27bdd06c1542229fc930ce628ee035c3a3ed
-rw-r--r-- | yt/yql/providers/yt/provider/yql_yt_io_discovery.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/yt/yql/providers/yt/provider/yql_yt_io_discovery.cpp b/yt/yql/providers/yt/provider/yql_yt_io_discovery.cpp index fd31f57950c..11ce0969a94 100644 --- a/yt/yql/providers/yt/provider/yql_yt_io_discovery.cpp +++ b/yt/yql/providers/yt/provider/yql_yt_io_discovery.cpp @@ -136,6 +136,16 @@ public: return node; } + const auto systemSettings = { EYtSettingType::Initial, EYtSettingType::MutationId }; + for (auto setting : systemSettings) { + if (auto sNode = NYql::GetSetting(*node->ChildPtr(4), setting)) { + ctx.AddError(TIssue( + ctx.GetPosition(sNode->Pos()), + TStringBuilder() << "Write setting " << ToString(setting).Quote() << " is internal and not allowed in user queries")); + return {}; + } + } + auto mode = NYql::GetSetting(*node->ChildPtr(4), EYtSettingType::Mode); const bool flush = mode && FromString<EYtWriteMode>(mode->Child(1)->Content()) == EYtWriteMode::Flush; |