aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbabenko <babenko@yandex-team.com>2025-05-31 14:27:56 +0300
committerbabenko <babenko@yandex-team.com>2025-05-31 14:41:24 +0300
commitd6c153db03fa831e84b97affbd6d6e2ffb1d4b4e (patch)
tree83caa2d6c7031257580f7eaa26fe4c58d630d6f7
parentf1873d0f1bb38aa209678e2a986967083cd24e05 (diff)
downloadydb-d6c153db03fa831e84b97affbd6d6e2ffb1d4b4e.tar.gz
YT-25204: Don't suggest cluster:// YPath syntax to anyone
commit_hash:960629a477acd49eaae950e553a7e2e45cea9796
-rw-r--r--yt/yt/client/ypath/parser_detail.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/yt/yt/client/ypath/parser_detail.cpp b/yt/yt/client/ypath/parser_detail.cpp
index 30739dde0c8..e68553ee8a0 100644
--- a/yt/yt/client/ypath/parser_detail.cpp
+++ b/yt/yt/client/ypath/parser_detail.cpp
@@ -34,6 +34,8 @@ const NYson::ETokenType RangeSeparatorToken = NYson::ETokenType::Comma;
////////////////////////////////////////////////////////////////////////////////
+namespace {
+
void ThrowUnexpectedToken(const TToken& token)
{
THROW_ERROR_EXCEPTION("Unexpected token %Qv",
@@ -128,37 +130,30 @@ TString ParseCluster(TString str, const IAttributeDictionaryPtr& attributes)
auto clusterSeparatorIndex = str.find_first_of(':');
if (clusterSeparatorIndex == TString::npos) {
THROW_ERROR_EXCEPTION(
- "Path %Qv does not start with a valid root-designator, cluster://path short-form assumed; "
- "no \':\' separator symbol found to parse cluster",
+ "Path %Qv does not start with a valid root-designator",
str);
}
const auto clusterName = str.substr(0, clusterSeparatorIndex);
-
if (clusterName.empty()) {
THROW_ERROR_EXCEPTION(
- "Path %Qv does not start with a valid root-designator, cluster://path short-form assumed; "
- "cluster name cannot be empty",
+ "Path %Qv does not start with a valid root-designator",
str);
}
auto illegalSymbolIt = std::find_if_not(clusterName.begin(), clusterName.end(), &IsValidClusterSymbol);
if (illegalSymbolIt != clusterName.end()) {
THROW_ERROR_EXCEPTION(
- "Path %Qv does not start with a valid root-designator, cluster://path short-form assumed; "
- "cluster name contains illegal symbol %Qv",
+ "Possible cluster name in path %Qv contains illegal symbol %Qv",
str,
*illegalSymbolIt);
}
auto remainingString = str.substr(clusterSeparatorIndex + 1);
-
if (!StartsWithRootDesignator(remainingString)) {
THROW_ERROR_EXCEPTION(
- "Path %Qv does not start with a valid root-designator, cluster://path short-form assumed; "
- "path %Qv after cluster-separator does not start with a valid root-designator",
- str,
- remainingString);
+ "Path %Qv does not start with a valid root-designator",
+ str);
}
attributes->Set("cluster", clusterName);
@@ -405,6 +400,8 @@ void ParseRowRanges(NYson::TTokenizer& tokenizer, IAttributeDictionary* attribut
}
}
+} // namespace
+
////////////////////////////////////////////////////////////////////////////////
TRichYPath ParseRichYPathImpl(const TString& str)