Skip to content

Commit e7c31b6

Browse files
committed
Fixed issues 1
1 parent 8d645d1 commit e7c31b6

File tree

2 files changed

+30
-38
lines changed

2 files changed

+30
-38
lines changed

ydb/library/conclusion/generic/result.h

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,19 @@ class TConclusionImpl {
5656

5757
const TResult& GetResult() const {
5858
auto result = std::get_if<TResult>(&Result);
59-
Y_ABORT_UNLESS(result, "incorrect object for result request: %s", GetErrorString().data());
59+
Y_ABORT_UNLESS(result, "incorrect object for result request: %s", GetErrorMessage().data());
6060
return *result;
6161
}
6262

6363
TResult& MutableResult() {
6464
auto result = std::get_if<TResult>(&Result);
65-
Y_ABORT_UNLESS(result, "incorrect object for result request: %s", GetErrorString().data());
65+
Y_ABORT_UNLESS(result, "incorrect object for result request: %s", GetErrorMessage().data());
6666
return *result;
6767
}
6868

6969
TResult&& DetachResult() {
7070
auto result = std::get_if<TResult>(&Result);
71-
Y_ABORT_UNLESS(result, "incorrect object for result request: %s", GetErrorString().data());
71+
Y_ABORT_UNLESS(result, "incorrect object for result request: %s", GetErrorMessage().data());
7272
return std::move(*result);
7373
}
7474

@@ -92,18 +92,10 @@ class TConclusionImpl {
9292
return GetError();
9393
}
9494

95-
TString GetErrorString() const {
95+
TString GetErrorMessage() const {
9696
auto* status = std::get_if<TStatus>(&Result);
97-
return status ? status->GetErrorString() : Default<TString>();
98-
}
99-
100-
const auto& GetErrorMessage() const {
101-
auto* status = std::get_if<TStatus>(&Result);
102-
if (!status) {
103-
return TStatus::Success().GetErrorMessage();
104-
} else {
105-
return status->GetErrorMessage();
106-
}
97+
Y_ABORT_UNLESS(status, "incorrect object for extracting error message");
98+
return status->GetErrorMessage();
10799
}
108100

109101
auto GetStatus() const {

ydb/library/conclusion/generic/status.h

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,32 @@
1010

1111
namespace NKikimr {
1212

13-
template <class TStatus, TStatus StatusOk, TStatus DefaultError, class TError, class TDerived>
13+
template <class TDerived, class TError, class TStatus, TStatus StatusOk, TStatus DefaultError>
1414
class TConclusionStatusGenericImpl {
1515
protected:
16-
std::optional<TError> ErrorMessage;
16+
std::optional<TError> ErrorDescription;
1717
TStatus Status = StatusOk;
1818

1919
TConclusionStatusGenericImpl() = default;
2020

2121
TConclusionStatusGenericImpl(const TError& error, TStatus status = DefaultError)
22-
: ErrorMessage(error)
22+
: ErrorDescription(error)
2323
, Status(status) {
24-
Y_ABORT_UNLESS(!!ErrorMessage);
24+
Y_ABORT_UNLESS(!!ErrorDescription);
2525
}
2626

2727
TConclusionStatusGenericImpl(TError&& error, TStatus status = DefaultError)
28-
: ErrorMessage(std::move(error))
28+
: ErrorDescription(std::move(error))
2929
, Status(status) {
30-
Y_ABORT_UNLESS(!!ErrorMessage);
30+
Y_ABORT_UNLESS(!!ErrorDescription);
3131
}
3232

3333
public:
3434
virtual ~TConclusionStatusGenericImpl() = default;
3535

3636
public:
37-
[[nodiscard]] const TError& GetErrorMessage() const {
38-
return ErrorMessage ? *ErrorMessage : Default<TError>();
39-
}
40-
41-
[[nodiscard]] virtual TString GetErrorString() const {
42-
return ErrorMessage ? ToString(*ErrorMessage) : Default<TString>();
37+
[[nodiscard]] const TError& GetErrorDescription() const {
38+
return ErrorDescription ? *ErrorDescription : Default<TError>();
4339
}
4440

4541
[[nodiscard]] TStatus GetStatus() const {
@@ -66,11 +62,11 @@ class TConclusionStatusGenericImpl {
6662
}
6763

6864
[[nodiscard]] bool Ok() const {
69-
return !ErrorMessage;
65+
return !ErrorDescription;
7066
}
7167

7268
[[nodiscard]] bool operator!() const {
73-
return !!ErrorMessage;
69+
return !!ErrorDescription;
7470
}
7571

7672
[[nodiscard]] static TDerived Success() {
@@ -79,13 +75,13 @@ class TConclusionStatusGenericImpl {
7975
};
8076

8177
template <class TStatus, TStatus StatusOk, TStatus DefaultError>
82-
class TConclusionStatusImpl : public TConclusionStatusGenericImpl<TStatus, StatusOk, DefaultError, TString, TConclusionStatusImpl<TStatus, StatusOk, DefaultError>> {
78+
class TConclusionStatusImpl : public TConclusionStatusGenericImpl<TConclusionStatusImpl<TStatus, StatusOk, DefaultError>, TString, TStatus, StatusOk, DefaultError> {
8379
protected:
8480
using TSelf = TConclusionStatusImpl<TStatus, StatusOk, DefaultError>;
85-
using TBase = TConclusionStatusGenericImpl<TStatus, StatusOk, DefaultError, TString, TSelf>;
81+
using TBase = TConclusionStatusGenericImpl<TSelf, TString, TStatus, StatusOk, DefaultError>;
8682
using TBase::TBase;
8783

88-
friend class TConclusionStatusGenericImpl<TStatus, StatusOk, DefaultError, TString, TSelf>;
84+
friend class TConclusionStatusGenericImpl<TSelf, TString, TStatus, StatusOk, DefaultError>;
8985

9086
TConclusionStatusImpl() = default;
9187

@@ -100,21 +96,25 @@ class TConclusionStatusImpl : public TConclusionStatusGenericImpl<TStatus, Statu
10096
public:
10197
void Validate(const TString& processInfo = Default<TString>()) const {
10298
if (processInfo) {
103-
Y_ABORT_UNLESS(TBase::Ok(), "error=%s, processInfo=%s", TBase::GetErrorMessage().c_str(), processInfo.c_str());
99+
Y_ABORT_UNLESS(TBase::Ok(), "error=%s, processInfo=%s", GetErrorMessage().c_str(), processInfo.c_str());
104100
} else {
105-
Y_ABORT_UNLESS(TBase::Ok(), "error=%s", TBase::GetErrorMessage().c_str());
101+
Y_ABORT_UNLESS(TBase::Ok(), "error=%s", GetErrorMessage().c_str());
106102
}
107103
}
104+
105+
[[nodiscard]] TString GetErrorMessage() const {
106+
return TBase::GetErrorDescription();
107+
}
108108
};
109109

110110
template <class TStatus, TStatus StatusOk, TStatus DefaultError>
111-
class TYQLConclusionStatusImpl : public TConclusionStatusGenericImpl<TStatus, StatusOk, DefaultError, NYql::TIssues, TYQLConclusionStatusImpl<TStatus, StatusOk, DefaultError>> {
111+
class TYQLConclusionStatusImpl : public TConclusionStatusGenericImpl<TYQLConclusionStatusImpl<TStatus, StatusOk, DefaultError>, NYql::TIssues, TStatus, StatusOk, DefaultError> {
112112
protected:
113113
using TSelf = TYQLConclusionStatusImpl<TStatus, StatusOk, DefaultError>;
114-
using TBase = TConclusionStatusGenericImpl<TStatus, StatusOk, DefaultError, NYql::TIssues, TSelf>;
114+
using TBase = TConclusionStatusGenericImpl<TSelf, NYql::TIssues, TStatus, StatusOk, DefaultError>;
115115
using TBase::TBase;
116116

117-
friend class TConclusionStatusGenericImpl<TStatus, StatusOk, DefaultError, NYql::TIssues, TSelf>;
117+
friend class TConclusionStatusGenericImpl<TSelf, NYql::TIssues, TStatus, StatusOk, DefaultError>;
118118

119119
TYQLConclusionStatusImpl() = default;
120120

@@ -148,8 +148,8 @@ class TYQLConclusionStatusImpl : public TConclusionStatusGenericImpl<TStatus, St
148148
return *this;
149149
}
150150

151-
[[nodiscard]] virtual TString GetErrorString() const override {
152-
return TBase::GetErrorMessage().ToOneLineString();
151+
[[nodiscard]] TString GetErrorMessage() const {
152+
return TBase::GetErrorDescription().ToOneLineString();
153153
}
154154
};
155155

0 commit comments

Comments
 (0)