10
10
11
11
namespace NKikimr {
12
12
13
- template <class TStatus , TStatus StatusOk, TStatus DefaultError, class TError , class TDerived >
13
+ template <class TDerived , class TError , class TStatus , TStatus StatusOk, TStatus DefaultError >
14
14
class TConclusionStatusGenericImpl {
15
15
protected:
16
- std::optional<TError> ErrorMessage ;
16
+ std::optional<TError> ErrorDescription ;
17
17
TStatus Status = StatusOk;
18
18
19
19
TConclusionStatusGenericImpl () = default ;
20
20
21
21
TConclusionStatusGenericImpl (const TError& error, TStatus status = DefaultError)
22
- : ErrorMessage (error)
22
+ : ErrorDescription (error)
23
23
, Status(status) {
24
- Y_ABORT_UNLESS (!!ErrorMessage );
24
+ Y_ABORT_UNLESS (!!ErrorDescription );
25
25
}
26
26
27
27
TConclusionStatusGenericImpl (TError&& error, TStatus status = DefaultError)
28
- : ErrorMessage (std::move(error))
28
+ : ErrorDescription (std::move(error))
29
29
, Status(status) {
30
- Y_ABORT_UNLESS (!!ErrorMessage );
30
+ Y_ABORT_UNLESS (!!ErrorDescription );
31
31
}
32
32
33
33
public:
34
34
virtual ~TConclusionStatusGenericImpl () = default ;
35
35
36
36
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>();
43
39
}
44
40
45
41
[[nodiscard]] TStatus GetStatus () const {
@@ -66,11 +62,11 @@ class TConclusionStatusGenericImpl {
66
62
}
67
63
68
64
[[nodiscard]] bool Ok () const {
69
- return !ErrorMessage ;
65
+ return !ErrorDescription ;
70
66
}
71
67
72
68
[[nodiscard]] bool operator !() const {
73
- return !!ErrorMessage ;
69
+ return !!ErrorDescription ;
74
70
}
75
71
76
72
[[nodiscard]] static TDerived Success () {
@@ -79,13 +75,13 @@ class TConclusionStatusGenericImpl {
79
75
};
80
76
81
77
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> {
83
79
protected:
84
80
using TSelf = TConclusionStatusImpl<TStatus, StatusOk, DefaultError>;
85
- using TBase = TConclusionStatusGenericImpl<TStatus, StatusOk, DefaultError, TString, TSelf >;
81
+ using TBase = TConclusionStatusGenericImpl<TSelf, TString, TStatus, StatusOk, DefaultError >;
86
82
using TBase::TBase;
87
83
88
- friend class TConclusionStatusGenericImpl <TStatus, StatusOk, DefaultError, TString, TSelf >;
84
+ friend class TConclusionStatusGenericImpl <TSelf, TString, TStatus, StatusOk, DefaultError >;
89
85
90
86
TConclusionStatusImpl () = default ;
91
87
@@ -100,21 +96,25 @@ class TConclusionStatusImpl : public TConclusionStatusGenericImpl<TStatus, Statu
100
96
public:
101
97
void Validate (const TString& processInfo = Default<TString>()) const {
102
98
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 ());
104
100
} else {
105
- Y_ABORT_UNLESS (TBase::Ok (), " error=%s" , TBase:: GetErrorMessage ().c_str ());
101
+ Y_ABORT_UNLESS (TBase::Ok (), " error=%s" , GetErrorMessage ().c_str ());
106
102
}
107
103
}
104
+
105
+ [[nodiscard]] TString GetErrorMessage () const {
106
+ return TBase::GetErrorDescription ();
107
+ }
108
108
};
109
109
110
110
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> {
112
112
protected:
113
113
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 >;
115
115
using TBase::TBase;
116
116
117
- friend class TConclusionStatusGenericImpl <TStatus, StatusOk, DefaultError, NYql::TIssues, TSelf >;
117
+ friend class TConclusionStatusGenericImpl <TSelf, NYql::TIssues, TStatus, StatusOk, DefaultError >;
118
118
119
119
TYQLConclusionStatusImpl () = default ;
120
120
@@ -148,8 +148,8 @@ class TYQLConclusionStatusImpl : public TConclusionStatusGenericImpl<TStatus, St
148
148
return *this ;
149
149
}
150
150
151
- [[nodiscard]] virtual TString GetErrorString () const override {
152
- return TBase::GetErrorMessage ().ToOneLineString ();
151
+ [[nodiscard]] TString GetErrorMessage () const {
152
+ return TBase::GetErrorDescription ().ToOneLineString ();
153
153
}
154
154
};
155
155
0 commit comments