YugabyteDB (2.13.1.0-b60, 21121d69985fbf76aa6958d8f04a9bfa936293b5)

Coverage Report

Created: 2022-03-22 16:43

/Users/deen/code/yugabyte-db/src/yb/util/status_ec.h
Line
Count
Source
1
//
2
// Copyright (c) YugaByte, Inc.
3
//
4
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5
// in compliance with the License.  You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software distributed under the License
10
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11
// or implied.  See the License for the specific language governing permissions and limitations
12
// under the License.
13
//
14
//
15
16
#ifndef YB_UTIL_STATUS_EC_H
17
#define YB_UTIL_STATUS_EC_H
18
19
#include <boost/optional.hpp>
20
21
#include "yb/gutil/endian.h"
22
23
#include "yb/util/status.h"
24
25
namespace yb {
26
27
// Base class for all error tags that use integral representation.
28
// For instance time duration.
29
template <class Traits>
30
class IntegralBackedErrorTag {
31
 public:
32
  typedef typename Traits::ValueType Value;
33
34
42.5M
  static Value Decode(const uint8_t* source) {
35
42.5M
    if (!source) {
36
33.8M
      return Value();
37
33.8M
    }
38
8.67M
    return Traits::FromRepresentation(
39
8.67M
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
42.5M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::TransactionErrorCode> >::Decode(unsigned char const*)
Line
Count
Source
34
3.10M
  static Value Decode(const uint8_t* source) {
35
3.10M
    if (!source) {
36
32.2k
      return Value();
37
32.2k
    }
38
3.07M
    return Traits::FromRepresentation(
39
3.07M
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
3.10M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::YBPgErrorCode> >::Decode(unsigned char const*)
Line
Count
Source
34
1.19M
  static Value Decode(const uint8_t* source) {
35
1.19M
    if (!source) {
36
0
      return Value();
37
0
    }
38
1.19M
    return Traits::FromRepresentation(
39
1.19M
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
1.19M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::PgsqlResponsePB_RequestStatus> >::Decode(unsigned char const*)
Line
Count
Source
34
2.18M
  static Value Decode(const uint8_t* source) {
35
2.18M
    if (!source) {
36
2.15M
      return Value();
37
2.15M
    }
38
26.5k
    return Traits::FromRepresentation(
39
26.5k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
2.18M
  }
yb::IntegralBackedErrorTag<yb::tserver::MonoDeltaTraits>::Decode(unsigned char const*)
Line
Count
Source
34
12.3k
  static Value Decode(const uint8_t* source) {
35
12.3k
    if (!source) {
36
12.3k
      return Value();
37
12.3k
    }
38
0
    return Traits::FromRepresentation(
39
0
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
12.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code> >::Decode(unsigned char const*)
Line
Count
Source
34
1.42M
  static Value Decode(const uint8_t* source) {
35
1.42M
    if (!source) {
36
1.41M
      return Value();
37
1.41M
    }
38
7.08k
    return Traits::FromRepresentation(
39
7.08k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
1.42M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code> >::Decode(unsigned char const*)
Line
Count
Source
34
1.43M
  static Value Decode(const uint8_t* source) {
35
1.43M
    if (!source) {
36
1.17M
      return Value();
37
1.17M
    }
38
260k
    return Traits::FromRepresentation(
39
260k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
1.43M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::client::ClientErrorCode> >::Decode(unsigned char const*)
Line
Count
Source
34
28.4M
  static Value Decode(const uint8_t* source) {
35
28.4M
    if (
!source28.4M
) {
36
28.4M
      return Value();
37
28.4M
    }
38
18.4E
    return Traits::FromRepresentation(
39
18.4E
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
28.4M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB> >::Decode(unsigned char const*)
Line
Count
Source
34
27.8k
  static Value Decode(const uint8_t* source) {
35
27.8k
    if (!source) {
36
9.54k
      return Value();
37
9.54k
    }
38
18.3k
    return Traits::FromRepresentation(
39
18.3k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
27.8k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<int> >::Decode(unsigned char const*)
Line
Count
Source
34
4.43M
  static Value Decode(const uint8_t* source) {
35
4.43M
    if (!source) {
36
531k
      return Value();
37
531k
    }
38
3.90M
    return Traits::FromRepresentation(
39
3.90M
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
4.43M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB> >::Decode(unsigned char const*)
Line
Count
Source
34
73.0k
  static Value Decode(const uint8_t* source) {
35
73.0k
    if (!source) {
36
0
      return Value();
37
0
    }
38
73.0k
    return Traits::FromRepresentation(
39
73.0k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
73.0k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code> >::Decode(unsigned char const*)
Line
Count
Source
34
56.2k
  static Value Decode(const uint8_t* source) {
35
56.2k
    if (!source) {
36
11.0k
      return Value();
37
11.0k
    }
38
45.1k
    return Traits::FromRepresentation(
39
45.1k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
56.2k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code> >::Decode(unsigned char const*)
Line
Count
Source
34
307
  static Value Decode(const uint8_t* source) {
35
307
    if (!source) {
36
306
      return Value();
37
306
    }
38
1
    return Traits::FromRepresentation(
39
1
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
307
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<long long> >::Decode(unsigned char const*)
Line
Count
Source
34
66.7k
  static Value Decode(const uint8_t* source) {
35
66.7k
    if (!source) {
36
32.1k
      return Value();
37
32.1k
    }
38
34.6k
    return Traits::FromRepresentation(
39
34.6k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
66.7k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<unsigned long> >::Decode(unsigned char const*)
Line
Count
Source
34
11.6k
  static Value Decode(const uint8_t* source) {
35
11.6k
    if (!source) {
36
0
      return Value();
37
0
    }
38
11.6k
    return Traits::FromRepresentation(
39
11.6k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
11.6k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::ql::ErrorCode> >::Decode(unsigned char const*)
Line
Count
Source
34
20.3k
  static Value Decode(const uint8_t* source) {
35
20.3k
    if (!source) {
36
11
      return Value();
37
11
    }
38
20.3k
    return Traits::FromRepresentation(
39
20.3k
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
20.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<rocksdb::TimeoutCode> >::Decode(unsigned char const*)
Line
Count
Source
34
1
  static Value Decode(const uint8_t* source) {
35
1
    if (!source) {
36
0
      return Value();
37
0
    }
38
1
    return Traits::FromRepresentation(
39
1
        Load<typename Traits::RepresentationType, LittleEndian>(source));
40
1
  }
41
42
23.7M
  static size_t DecodeSize(const uint8_t* source) {
43
23.7M
    return sizeof(typename Traits::RepresentationType);
44
23.7M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
19.3k
  static size_t DecodeSize(const uint8_t* source) {
43
19.3k
    return sizeof(typename Traits::RepresentationType);
44
19.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
519k
  static size_t DecodeSize(const uint8_t* source) {
43
519k
    return sizeof(typename Traits::RepresentationType);
44
519k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
4
  static size_t DecodeSize(const uint8_t* source) {
43
4
    return sizeof(typename Traits::RepresentationType);
44
4
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::client::ClientErrorCode> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
4.04k
  static size_t DecodeSize(const uint8_t* source) {
43
4.04k
    return sizeof(typename Traits::RepresentationType);
44
4.04k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
71.9k
  static size_t DecodeSize(const uint8_t* source) {
43
71.9k
    return sizeof(typename Traits::RepresentationType);
44
71.9k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
28.3k
  static size_t DecodeSize(const uint8_t* source) {
43
28.3k
    return sizeof(typename Traits::RepresentationType);
44
28.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::ql::ErrorCode> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
20.3k
  static size_t DecodeSize(const uint8_t* source) {
43
20.3k
    return sizeof(typename Traits::RepresentationType);
44
20.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
836k
  static size_t DecodeSize(const uint8_t* source) {
43
836k
    return sizeof(typename Traits::RepresentationType);
44
836k
  }
Unexecuted instantiation: yb::IntegralBackedErrorTag<yb::tserver::MonoDeltaTraits>::DecodeSize(unsigned char const*)
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::YBPgErrorCode> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
5.19M
  static size_t DecodeSize(const uint8_t* source) {
43
5.19M
    return sizeof(typename Traits::RepresentationType);
44
5.19M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::PgsqlResponsePB_RequestStatus> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
127k
  static size_t DecodeSize(const uint8_t* source) {
43
127k
    return sizeof(typename Traits::RepresentationType);
44
127k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<unsigned long> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
51.0k
  static size_t DecodeSize(const uint8_t* source) {
43
51.0k
    return sizeof(typename Traits::RepresentationType);
44
51.0k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<long long> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
183k
  static size_t DecodeSize(const uint8_t* source) {
43
183k
    return sizeof(typename Traits::RepresentationType);
44
183k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::TransactionErrorCode> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
11.5M
  static size_t DecodeSize(const uint8_t* source) {
43
11.5M
    return sizeof(typename Traits::RepresentationType);
44
11.5M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<rocksdb::TimeoutCode> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
1
  static size_t DecodeSize(const uint8_t* source) {
43
1
    return sizeof(typename Traits::RepresentationType);
44
1
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<int> >::DecodeSize(unsigned char const*)
Line
Count
Source
42
5.11M
  static size_t DecodeSize(const uint8_t* source) {
43
5.11M
    return sizeof(typename Traits::RepresentationType);
44
5.11M
  }
45
46
15.6M
  static size_t EncodedSize(Value value) {
47
15.6M
    return sizeof(typename Traits::RepresentationType);
48
15.6M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::ql::ErrorCode> >::EncodedSize(yb::ql::ErrorCode)
Line
Count
Source
46
24.7k
  static size_t EncodedSize(Value value) {
47
24.7k
    return sizeof(typename Traits::RepresentationType);
48
24.7k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::TransactionErrorCode> >::EncodedSize(yb::TransactionErrorCode)
Line
Count
Source
46
1.10M
  static size_t EncodedSize(Value value) {
47
1.10M
    return sizeof(typename Traits::RepresentationType);
48
1.10M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::YBPgErrorCode> >::EncodedSize(yb::YBPgErrorCode)
Line
Count
Source
46
567k
  static size_t EncodedSize(Value value) {
47
567k
    return sizeof(typename Traits::RepresentationType);
48
567k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::PgsqlResponsePB_RequestStatus> >::EncodedSize(yb::PgsqlResponsePB_RequestStatus)
Line
Count
Source
46
26.1k
  static size_t EncodedSize(Value value) {
47
26.1k
    return sizeof(typename Traits::RepresentationType);
48
26.1k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<unsigned long> >::EncodedSize(unsigned long)
Line
Count
Source
46
26.1k
  static size_t EncodedSize(Value value) {
47
26.1k
    return sizeof(typename Traits::RepresentationType);
48
26.1k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code> >::EncodedSize(yb::tserver::TabletServerErrorPB_Code)
Line
Count
Source
46
392k
  static size_t EncodedSize(Value value) {
47
392k
    return sizeof(typename Traits::RepresentationType);
48
392k
  }
Unexecuted instantiation: yb::IntegralBackedErrorTag<yb::tserver::MonoDeltaTraits>::EncodedSize(yb::MonoDelta)
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code> >::EncodedSize(yb::consensus::ConsensusErrorPB_Code)
Line
Count
Source
46
46
  static size_t EncodedSize(Value value) {
47
46
    return sizeof(typename Traits::RepresentationType);
48
46
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB> >::EncodedSize(yb::tablet::RaftGroupStatePB)
Line
Count
Source
46
149k
  static size_t EncodedSize(Value value) {
47
149k
    return sizeof(typename Traits::RepresentationType);
48
149k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::client::ClientErrorCode> >::EncodedSize(yb::client::ClientErrorCode)
Line
Count
Source
46
6
  static size_t EncodedSize(Value value) {
47
6
    return sizeof(typename Traits::RepresentationType);
48
6
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB> >::EncodedSize(yb::rpc::ErrorStatusPB_RpcErrorCodePB)
Line
Count
Source
46
533k
  static size_t EncodedSize(Value value) {
47
533k
    return sizeof(typename Traits::RepresentationType);
48
533k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<int> >::EncodedSize(int)
Line
Count
Source
46
12.7M
  static size_t EncodedSize(Value value) {
47
12.7M
    return sizeof(typename Traits::RepresentationType);
48
12.7M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<long long> >::EncodedSize(long long)
Line
Count
Source
46
10.9k
  static size_t EncodedSize(Value value) {
47
10.9k
    return sizeof(typename Traits::RepresentationType);
48
10.9k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code> >::EncodedSize(yb::master::MasterErrorPB_Code)
Line
Count
Source
46
44.3k
  static size_t EncodedSize(Value value) {
47
44.3k
    return sizeof(typename Traits::RepresentationType);
48
44.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<rocksdb::TimeoutCode> >::EncodedSize(rocksdb::TimeoutCode)
Line
Count
Source
46
352
  static size_t EncodedSize(Value value) {
47
352
    return sizeof(typename Traits::RepresentationType);
48
352
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code> >::EncodedSize(yb::cdc::CDCErrorPB_Code)
Line
Count
Source
46
2
  static size_t EncodedSize(Value value) {
47
2
    return sizeof(typename Traits::RepresentationType);
48
2
  }
49
50
7.83M
  static uint8_t* Encode(Value value, uint8_t* out) {
51
7.83M
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
7.83M
    return out + sizeof(typename Traits::RepresentationType);
53
7.83M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::ql::ErrorCode> >::Encode(yb::ql::ErrorCode, unsigned char*)
Line
Count
Source
50
12.3k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
12.3k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
12.3k
    return out + sizeof(typename Traits::RepresentationType);
53
12.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::TransactionErrorCode> >::Encode(yb::TransactionErrorCode, unsigned char*)
Line
Count
Source
50
553k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
553k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
553k
    return out + sizeof(typename Traits::RepresentationType);
53
553k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::YBPgErrorCode> >::Encode(yb::YBPgErrorCode, unsigned char*)
Line
Count
Source
50
283k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
283k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
283k
    return out + sizeof(typename Traits::RepresentationType);
53
283k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::PgsqlResponsePB_RequestStatus> >::Encode(yb::PgsqlResponsePB_RequestStatus, unsigned char*)
Line
Count
Source
50
13.0k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
13.0k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
13.0k
    return out + sizeof(typename Traits::RepresentationType);
53
13.0k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<unsigned long> >::Encode(unsigned long, unsigned char*)
Line
Count
Source
50
13.0k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
13.0k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
13.0k
    return out + sizeof(typename Traits::RepresentationType);
53
13.0k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code> >::Encode(yb::tserver::TabletServerErrorPB_Code, unsigned char*)
Line
Count
Source
50
196k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
196k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
196k
    return out + sizeof(typename Traits::RepresentationType);
53
196k
  }
Unexecuted instantiation: yb::IntegralBackedErrorTag<yb::tserver::MonoDeltaTraits>::Encode(yb::MonoDelta, unsigned char*)
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code> >::Encode(yb::consensus::ConsensusErrorPB_Code, unsigned char*)
Line
Count
Source
50
23
  static uint8_t* Encode(Value value, uint8_t* out) {
51
23
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
23
    return out + sizeof(typename Traits::RepresentationType);
53
23
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB> >::Encode(yb::tablet::RaftGroupStatePB, unsigned char*)
Line
Count
Source
50
74.5k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
74.5k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
74.5k
    return out + sizeof(typename Traits::RepresentationType);
53
74.5k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::client::ClientErrorCode> >::Encode(yb::client::ClientErrorCode, unsigned char*)
Line
Count
Source
50
3
  static uint8_t* Encode(Value value, uint8_t* out) {
51
3
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
3
    return out + sizeof(typename Traits::RepresentationType);
53
3
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB> >::Encode(yb::rpc::ErrorStatusPB_RpcErrorCodePB, unsigned char*)
Line
Count
Source
50
266k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
266k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
266k
    return out + sizeof(typename Traits::RepresentationType);
53
266k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<int> >::Encode(int, unsigned char*)
Line
Count
Source
50
6.39M
  static uint8_t* Encode(Value value, uint8_t* out) {
51
6.39M
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
6.39M
    return out + sizeof(typename Traits::RepresentationType);
53
6.39M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<long long> >::Encode(long long, unsigned char*)
Line
Count
Source
50
5.49k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
5.49k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
5.49k
    return out + sizeof(typename Traits::RepresentationType);
53
5.49k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code> >::Encode(yb::master::MasterErrorPB_Code, unsigned char*)
Line
Count
Source
50
22.1k
  static uint8_t* Encode(Value value, uint8_t* out) {
51
22.1k
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
22.1k
    return out + sizeof(typename Traits::RepresentationType);
53
22.1k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<rocksdb::TimeoutCode> >::Encode(rocksdb::TimeoutCode, unsigned char*)
Line
Count
Source
50
176
  static uint8_t* Encode(Value value, uint8_t* out) {
51
176
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
176
    return out + sizeof(typename Traits::RepresentationType);
53
176
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code> >::Encode(yb::cdc::CDCErrorPB_Code, unsigned char*)
Line
Count
Source
50
1
  static uint8_t* Encode(Value value, uint8_t* out) {
51
1
    Store<typename Traits::RepresentationType, LittleEndian>(out, Traits::ToRepresentation(value));
52
1
    return out + sizeof(typename Traits::RepresentationType);
53
1
  }
54
55
2.19M
  static std::string DecodeToString(const uint8_t* source) {
56
2.19M
    return Traits::ToString(Decode(source));
57
2.19M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
18.3k
  static std::string DecodeToString(const uint8_t* source) {
56
18.3k
    return Traits::ToString(Decode(source));
57
18.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
66.4k
  static std::string DecodeToString(const uint8_t* source) {
56
66.4k
    return Traits::ToString(Decode(source));
57
66.4k
  }
Unexecuted instantiation: yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code> >::DecodeToString(unsigned char const*)
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::client::ClientErrorCode> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
6
  static std::string DecodeToString(const uint8_t* source) {
56
6
    return Traits::ToString(Decode(source));
57
6
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
18.5k
  static std::string DecodeToString(const uint8_t* source) {
56
18.5k
    return Traits::ToString(Decode(source));
57
18.5k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
56
  static std::string DecodeToString(const uint8_t* source) {
56
56
    return Traits::ToString(Decode(source));
57
56
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::ql::ErrorCode> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
4.51k
  static std::string DecodeToString(const uint8_t* source) {
56
4.51k
    return Traits::ToString(Decode(source));
57
4.51k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
70.6k
  static std::string DecodeToString(const uint8_t* source) {
56
70.6k
    return Traits::ToString(Decode(source));
57
70.6k
  }
Unexecuted instantiation: yb::IntegralBackedErrorTag<yb::tserver::MonoDeltaTraits>::DecodeToString(unsigned char const*)
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<long long> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
17.3k
  static std::string DecodeToString(const uint8_t* source) {
56
17.3k
    return Traits::ToString(Decode(source));
57
17.3k
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<yb::TransactionErrorCode> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
1.13M
  static std::string DecodeToString(const uint8_t* source) {
56
1.13M
    return Traits::ToString(Decode(source));
57
1.13M
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<rocksdb::TimeoutCode> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
1
  static std::string DecodeToString(const uint8_t* source) {
56
1
    return Traits::ToString(Decode(source));
57
1
  }
yb::IntegralBackedErrorTag<yb::PlainIntegralTraits<int> >::DecodeToString(unsigned char const*)
Line
Count
Source
55
864k
  static std::string DecodeToString(const uint8_t* source) {
56
864k
    return Traits::ToString(Decode(source));
57
864k
  }
58
};
59
60
class StringVectorBackedErrorTag {
61
 public:
62
  typedef typename std::vector<std::string> Value;
63
  typedef uint64_t SizeType;
64
65
  static Value Decode(const uint8_t* source);
66
67
28.0k
  static size_t DecodeSize(const uint8_t* source) {
68
28.0k
    return Load<SizeType, LittleEndian>(source);
69
28.0k
  }
70
71
  static size_t EncodedSize(const Value& value);
72
73
  static uint8_t* Encode(const Value& value, uint8_t* out);
74
75
  static std::string DecodeToString(const uint8_t* source);
76
};
77
78
template <class Enum>
79
typename std::enable_if<std::is_enum<Enum>::value, std::string>::type
80
1.31M
IntegralToString(Enum e) {
81
1.31M
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
1.31M
}
std::__1::enable_if<std::is_enum<yb::rpc::ErrorStatusPB_RpcErrorCodePB>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::rpc::ErrorStatusPB_RpcErrorCodePB>(yb::rpc::ErrorStatusPB_RpcErrorCodePB)
Line
Count
Source
80
18.3k
IntegralToString(Enum e) {
81
18.3k
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
18.3k
}
std::__1::enable_if<std::is_enum<yb::tablet::RaftGroupStatePB>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::tablet::RaftGroupStatePB>(yb::tablet::RaftGroupStatePB)
Line
Count
Source
80
66.5k
IntegralToString(Enum e) {
81
66.5k
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
66.5k
}
Unexecuted instantiation: std::__1::enable_if<std::is_enum<yb::cdc::CDCErrorPB_Code>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::cdc::CDCErrorPB_Code>(yb::cdc::CDCErrorPB_Code)
std::__1::enable_if<std::is_enum<yb::client::ClientErrorCode>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::client::ClientErrorCode>(yb::client::ClientErrorCode)
Line
Count
Source
80
6
IntegralToString(Enum e) {
81
6
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
6
}
std::__1::enable_if<std::is_enum<yb::master::MasterErrorPB_Code>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::master::MasterErrorPB_Code>(yb::master::MasterErrorPB_Code)
Line
Count
Source
80
18.6k
IntegralToString(Enum e) {
81
18.6k
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
18.6k
}
std::__1::enable_if<std::is_enum<yb::consensus::ConsensusErrorPB_Code>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::consensus::ConsensusErrorPB_Code>(yb::consensus::ConsensusErrorPB_Code)
Line
Count
Source
80
56
IntegralToString(Enum e) {
81
56
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
56
}
std::__1::enable_if<std::is_enum<yb::ql::ErrorCode>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::ql::ErrorCode>(yb::ql::ErrorCode)
Line
Count
Source
80
4.51k
IntegralToString(Enum e) {
81
4.51k
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
4.51k
}
std::__1::enable_if<std::is_enum<yb::tserver::TabletServerErrorPB_Code>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::tserver::TabletServerErrorPB_Code>(yb::tserver::TabletServerErrorPB_Code)
Line
Count
Source
80
70.8k
IntegralToString(Enum e) {
81
70.8k
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
70.8k
}
std::__1::enable_if<std::is_enum<yb::TransactionErrorCode>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<yb::TransactionErrorCode>(yb::TransactionErrorCode)
Line
Count
Source
80
1.13M
IntegralToString(Enum e) {
81
1.13M
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
1.13M
}
std::__1::enable_if<std::is_enum<rocksdb::TimeoutCode>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<rocksdb::TimeoutCode>(rocksdb::TimeoutCode)
Line
Count
Source
80
1
IntegralToString(Enum e) {
81
1
  return std::to_string(static_cast<typename std::underlying_type<Enum>::type>(e));
82
1
}
83
84
template <class Value>
85
typename std::enable_if<!std::is_enum<Value>::value, std::string>::type
86
881k
IntegralToString(Value value) {
87
881k
  return std::to_string(value);
88
881k
}
std::__1::enable_if<!(std::is_enum<long long>::value), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<long long>(long long)
Line
Count
Source
86
17.3k
IntegralToString(Value value) {
87
17.3k
  return std::to_string(value);
88
17.3k
}
std::__1::enable_if<!(std::is_enum<int>::value), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::type yb::IntegralToString<int>(int)
Line
Count
Source
86
864k
IntegralToString(Value value) {
87
864k
  return std::to_string(value);
88
864k
}
89
90
// Base class for error tags that have integral value type.
91
template <class Value>
92
class PlainIntegralTraits {
93
 public:
94
  typedef Value ValueType;
95
  typedef ValueType RepresentationType;
96
97
8.67M
  static ValueType FromRepresentation(RepresentationType source) {
98
8.67M
    return source;
99
8.67M
  }
yb::PlainIntegralTraits<yb::TransactionErrorCode>::FromRepresentation(yb::TransactionErrorCode)
Line
Count
Source
97
3.07M
  static ValueType FromRepresentation(RepresentationType source) {
98
3.07M
    return source;
99
3.07M
  }
yb::PlainIntegralTraits<yb::YBPgErrorCode>::FromRepresentation(yb::YBPgErrorCode)
Line
Count
Source
97
1.19M
  static ValueType FromRepresentation(RepresentationType source) {
98
1.19M
    return source;
99
1.19M
  }
yb::PlainIntegralTraits<yb::PgsqlResponsePB_RequestStatus>::FromRepresentation(yb::PgsqlResponsePB_RequestStatus)
Line
Count
Source
97
26.6k
  static ValueType FromRepresentation(RepresentationType source) {
98
26.6k
    return source;
99
26.6k
  }
yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code>::FromRepresentation(yb::consensus::ConsensusErrorPB_Code)
Line
Count
Source
97
7.09k
  static ValueType FromRepresentation(RepresentationType source) {
98
7.09k
    return source;
99
7.09k
  }
yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code>::FromRepresentation(yb::tserver::TabletServerErrorPB_Code)
Line
Count
Source
97
260k
  static ValueType FromRepresentation(RepresentationType source) {
98
260k
    return source;
99
260k
  }
yb::PlainIntegralTraits<yb::client::ClientErrorCode>::FromRepresentation(yb::client::ClientErrorCode)
Line
Count
Source
97
4.03k
  static ValueType FromRepresentation(RepresentationType source) {
98
4.03k
    return source;
99
4.03k
  }
yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB>::FromRepresentation(yb::rpc::ErrorStatusPB_RpcErrorCodePB)
Line
Count
Source
97
18.3k
  static ValueType FromRepresentation(RepresentationType source) {
98
18.3k
    return source;
99
18.3k
  }
yb::PlainIntegralTraits<int>::FromRepresentation(int)
Line
Count
Source
97
3.90M
  static ValueType FromRepresentation(RepresentationType source) {
98
3.90M
    return source;
99
3.90M
  }
yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB>::FromRepresentation(yb::tablet::RaftGroupStatePB)
Line
Count
Source
97
73.0k
  static ValueType FromRepresentation(RepresentationType source) {
98
73.0k
    return source;
99
73.0k
  }
yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code>::FromRepresentation(yb::master::MasterErrorPB_Code)
Line
Count
Source
97
45.2k
  static ValueType FromRepresentation(RepresentationType source) {
98
45.2k
    return source;
99
45.2k
  }
yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code>::FromRepresentation(yb::cdc::CDCErrorPB_Code)
Line
Count
Source
97
1
  static ValueType FromRepresentation(RepresentationType source) {
98
1
    return source;
99
1
  }
yb::PlainIntegralTraits<long long>::FromRepresentation(long long)
Line
Count
Source
97
34.6k
  static ValueType FromRepresentation(RepresentationType source) {
98
34.6k
    return source;
99
34.6k
  }
yb::PlainIntegralTraits<unsigned long>::FromRepresentation(unsigned long)
Line
Count
Source
97
11.6k
  static ValueType FromRepresentation(RepresentationType source) {
98
11.6k
    return source;
99
11.6k
  }
yb::PlainIntegralTraits<yb::ql::ErrorCode>::FromRepresentation(yb::ql::ErrorCode)
Line
Count
Source
97
20.3k
  static ValueType FromRepresentation(RepresentationType source) {
98
20.3k
    return source;
99
20.3k
  }
yb::PlainIntegralTraits<rocksdb::TimeoutCode>::FromRepresentation(rocksdb::TimeoutCode)
Line
Count
Source
97
1
  static ValueType FromRepresentation(RepresentationType source) {
98
1
    return source;
99
1
  }
100
101
7.84M
  static RepresentationType ToRepresentation(ValueType value) {
102
7.84M
    return value;
103
7.84M
  }
yb::PlainIntegralTraits<yb::ql::ErrorCode>::ToRepresentation(yb::ql::ErrorCode)
Line
Count
Source
101
12.3k
  static RepresentationType ToRepresentation(ValueType value) {
102
12.3k
    return value;
103
12.3k
  }
yb::PlainIntegralTraits<yb::TransactionErrorCode>::ToRepresentation(yb::TransactionErrorCode)
Line
Count
Source
101
553k
  static RepresentationType ToRepresentation(ValueType value) {
102
553k
    return value;
103
553k
  }
yb::PlainIntegralTraits<yb::YBPgErrorCode>::ToRepresentation(yb::YBPgErrorCode)
Line
Count
Source
101
283k
  static RepresentationType ToRepresentation(ValueType value) {
102
283k
    return value;
103
283k
  }
yb::PlainIntegralTraits<yb::PgsqlResponsePB_RequestStatus>::ToRepresentation(yb::PgsqlResponsePB_RequestStatus)
Line
Count
Source
101
13.0k
  static RepresentationType ToRepresentation(ValueType value) {
102
13.0k
    return value;
103
13.0k
  }
yb::PlainIntegralTraits<unsigned long>::ToRepresentation(unsigned long)
Line
Count
Source
101
13.0k
  static RepresentationType ToRepresentation(ValueType value) {
102
13.0k
    return value;
103
13.0k
  }
yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code>::ToRepresentation(yb::tserver::TabletServerErrorPB_Code)
Line
Count
Source
101
196k
  static RepresentationType ToRepresentation(ValueType value) {
102
196k
    return value;
103
196k
  }
yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code>::ToRepresentation(yb::consensus::ConsensusErrorPB_Code)
Line
Count
Source
101
23
  static RepresentationType ToRepresentation(ValueType value) {
102
23
    return value;
103
23
  }
yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB>::ToRepresentation(yb::tablet::RaftGroupStatePB)
Line
Count
Source
101
74.5k
  static RepresentationType ToRepresentation(ValueType value) {
102
74.5k
    return value;
103
74.5k
  }
yb::PlainIntegralTraits<yb::client::ClientErrorCode>::ToRepresentation(yb::client::ClientErrorCode)
Line
Count
Source
101
3
  static RepresentationType ToRepresentation(ValueType value) {
102
3
    return value;
103
3
  }
yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB>::ToRepresentation(yb::rpc::ErrorStatusPB_RpcErrorCodePB)
Line
Count
Source
101
266k
  static RepresentationType ToRepresentation(ValueType value) {
102
266k
    return value;
103
266k
  }
yb::PlainIntegralTraits<int>::ToRepresentation(int)
Line
Count
Source
101
6.40M
  static RepresentationType ToRepresentation(ValueType value) {
102
6.40M
    return value;
103
6.40M
  }
yb::PlainIntegralTraits<long long>::ToRepresentation(long long)
Line
Count
Source
101
5.49k
  static RepresentationType ToRepresentation(ValueType value) {
102
5.49k
    return value;
103
5.49k
  }
yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code>::ToRepresentation(yb::master::MasterErrorPB_Code)
Line
Count
Source
101
22.1k
  static RepresentationType ToRepresentation(ValueType value) {
102
22.1k
    return value;
103
22.1k
  }
yb::PlainIntegralTraits<rocksdb::TimeoutCode>::ToRepresentation(rocksdb::TimeoutCode)
Line
Count
Source
101
176
  static RepresentationType ToRepresentation(ValueType value) {
102
176
    return value;
103
176
  }
yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code>::ToRepresentation(yb::cdc::CDCErrorPB_Code)
Line
Count
Source
101
1
  static RepresentationType ToRepresentation(ValueType value) {
102
1
    return value;
103
1
  }
104
105
2.19M
  static std::string ToString(ValueType value) {
106
2.19M
    return IntegralToString(value);
107
2.19M
  }
yb::PlainIntegralTraits<yb::rpc::ErrorStatusPB_RpcErrorCodePB>::ToString(yb::rpc::ErrorStatusPB_RpcErrorCodePB)
Line
Count
Source
105
18.3k
  static std::string ToString(ValueType value) {
106
18.3k
    return IntegralToString(value);
107
18.3k
  }
yb::PlainIntegralTraits<yb::tablet::RaftGroupStatePB>::ToString(yb::tablet::RaftGroupStatePB)
Line
Count
Source
105
66.7k
  static std::string ToString(ValueType value) {
106
66.7k
    return IntegralToString(value);
107
66.7k
  }
Unexecuted instantiation: yb::PlainIntegralTraits<yb::cdc::CDCErrorPB_Code>::ToString(yb::cdc::CDCErrorPB_Code)
yb::PlainIntegralTraits<yb::client::ClientErrorCode>::ToString(yb::client::ClientErrorCode)
Line
Count
Source
105
6
  static std::string ToString(ValueType value) {
106
6
    return IntegralToString(value);
107
6
  }
yb::PlainIntegralTraits<yb::master::MasterErrorPB_Code>::ToString(yb::master::MasterErrorPB_Code)
Line
Count
Source
105
18.6k
  static std::string ToString(ValueType value) {
106
18.6k
    return IntegralToString(value);
107
18.6k
  }
yb::PlainIntegralTraits<yb::consensus::ConsensusErrorPB_Code>::ToString(yb::consensus::ConsensusErrorPB_Code)
Line
Count
Source
105
56
  static std::string ToString(ValueType value) {
106
56
    return IntegralToString(value);
107
56
  }
yb::PlainIntegralTraits<yb::ql::ErrorCode>::ToString(yb::ql::ErrorCode)
Line
Count
Source
105
4.51k
  static std::string ToString(ValueType value) {
106
4.51k
    return IntegralToString(value);
107
4.51k
  }
yb::PlainIntegralTraits<yb::tserver::TabletServerErrorPB_Code>::ToString(yb::tserver::TabletServerErrorPB_Code)
Line
Count
Source
105
70.8k
  static std::string ToString(ValueType value) {
106
70.8k
    return IntegralToString(value);
107
70.8k
  }
yb::PlainIntegralTraits<long long>::ToString(long long)
Line
Count
Source
105
17.3k
  static std::string ToString(ValueType value) {
106
17.3k
    return IntegralToString(value);
107
17.3k
  }
yb::PlainIntegralTraits<yb::TransactionErrorCode>::ToString(yb::TransactionErrorCode)
Line
Count
Source
105
1.13M
  static std::string ToString(ValueType value) {
106
1.13M
    return IntegralToString(value);
107
1.13M
  }
yb::PlainIntegralTraits<rocksdb::TimeoutCode>::ToString(rocksdb::TimeoutCode)
Line
Count
Source
105
1
  static std::string ToString(ValueType value) {
106
1
    return IntegralToString(value);
107
1
  }
yb::PlainIntegralTraits<int>::ToString(int)
Line
Count
Source
105
864k
  static std::string ToString(ValueType value) {
106
864k
    return IntegralToString(value);
107
864k
  }
108
};
109
110
template <class ValueType>
111
struct IntegralErrorTag : public IntegralBackedErrorTag<PlainIntegralTraits<ValueType>> {
112
};
113
114
// Extra error code assigned to status.
115
class StatusErrorCode {
116
 public:
117
  virtual uint8_t Category() const = 0;
118
  virtual size_t EncodedSize() const = 0;
119
  // Serialization should not be changed after error code is released, since it is
120
  // transferred over the wire.
121
  virtual uint8_t* Encode(uint8_t* out) const = 0;
122
  virtual std::string Message() const = 0;
123
124
46.0M
  virtual ~StatusErrorCode() = default;
125
};
126
127
template <class Tag>
128
class StatusErrorCodeImpl : public StatusErrorCode {
129
 public:
130
  typedef typename Tag::Value Value;
131
  // Category is a part of the wire protocol.
132
  // So it should not be changed after first release containing this category.
133
  // All used categories could be listed with the following command:
134
  // git grep -h -F "uint8_t kCategory" | awk '{ print $6 }' | sort -n
135
  static constexpr uint8_t kCategory = Tag::kCategory;
136
137
5.11M
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::StatusErrorCodeImpl(yb::ql::ErrorCode const&)
Line
Count
Source
137
12.3k
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::StatusErrorCodeImpl(yb::TransactionErrorCode const&)
Line
Count
Source
137
25.7k
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::PgsqlErrorTag>::StatusErrorCodeImpl(yb::YBPgErrorCode const&)
Line
Count
Source
137
25.7k
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::StatusErrorCodeImpl(yb::tserver::TabletServerErrorPB_Code const&)
Line
Count
Source
137
196k
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag>::StatusErrorCodeImpl(yb::tablet::RaftGroupStatePB const&)
Line
Count
Source
137
74.5k
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag>::StatusErrorCodeImpl(yb::consensus::ConsensusErrorPB_Code const&)
Line
Count
Source
137
23
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::MinRunningRequestIdTag>::StatusErrorCodeImpl(long long const&)
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::StatusErrorCodeImpl(yb::master::MasterErrorPB_Code const&)
Line
Count
Source
137
11.4k
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::StatusErrorCodeImpl(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&)
Line
Count
Source
137
359
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::ErrnoTag>::StatusErrorCodeImpl(int const&)
Line
Count
Source
137
4.76M
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
yb::StatusErrorCodeImpl<yb::cdc::CDCErrorTag>::StatusErrorCodeImpl(yb::cdc::CDCErrorPB_Code const&)
Line
Count
Source
137
1
  explicit StatusErrorCodeImpl(const Value& value) : value_(value) {}
138
2.89M
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::StatusErrorCodeImpl(yb::ql::ErrorCode&&)
yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag>::StatusErrorCodeImpl(yb::PgsqlResponsePB_RequestStatus&&)
Line
Count
Source
138
13.0k
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::PgsqlErrorTag>::StatusErrorCodeImpl(yb::YBPgErrorCode&&)
Line
Count
Source
138
258k
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::StatusErrorCodeImpl(yb::TransactionErrorCode&&)
Line
Count
Source
138
528k
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::OpIndexTag>::StatusErrorCodeImpl(unsigned long&&)
Line
Count
Source
138
13.0k
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::StatusErrorCodeImpl(yb::tserver::TabletServerErrorPB_Code&&)
Line
Count
Source
138
172k
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::StatusErrorCodeImpl(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&&)
Line
Count
Source
138
35
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::tserver::TabletServerDelayTag>::StatusErrorCodeImpl(yb::MonoDelta&&)
yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag>::StatusErrorCodeImpl(yb::rpc::ErrorStatusPB_RpcErrorCodePB&&)
Line
Count
Source
138
266k
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::ErrnoTag>::StatusErrorCodeImpl(int&&)
Line
Count
Source
138
1.63M
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::client::ClientErrorTag>::StatusErrorCodeImpl(yb::client::ClientErrorCode&&)
Line
Count
Source
138
3
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::StatusErrorCodeImpl(yb::master::MasterErrorPB_Code&&)
Line
Count
Source
138
10.7k
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
yb::StatusErrorCodeImpl<rocksdb::TimeoutErrorTag>::StatusErrorCodeImpl(rocksdb::TimeoutCode&&)
Line
Count
Source
138
176
  explicit StatusErrorCodeImpl(Value&& value) : value_(std::move(value)) {}
139
140
  explicit StatusErrorCodeImpl(const Status& status);
141
142
  static boost::optional<StatusErrorCodeImpl> FromStatus(const Status& status);
143
144
  static boost::optional<Value> ValueFromStatus(const Status& status);
145
146
8.22M
  uint8_t Category() const override {
147
8.22M
    return kCategory;
148
8.22M
  }
yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::Category() const
Line
Count
Source
146
12.3k
  uint8_t Category() const override {
147
12.3k
    return kCategory;
148
12.3k
  }
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::Category() const
Line
Count
Source
146
774k
  uint8_t Category() const override {
147
774k
    return kCategory;
148
774k
  }
yb::StatusErrorCodeImpl<yb::PgsqlErrorTag>::Category() const
Line
Count
Source
146
287k
  uint8_t Category() const override {
147
287k
    return kCategory;
148
287k
  }
yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag>::Category() const
Line
Count
Source
146
13.0k
  uint8_t Category() const override {
147
13.0k
    return kCategory;
148
13.0k
  }
yb::StatusErrorCodeImpl<yb::OpIndexTag>::Category() const
Line
Count
Source
146
29.8k
  uint8_t Category() const override {
147
29.8k
    return kCategory;
148
29.8k
  }
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::Category() const
Line
Count
Source
146
345k
  uint8_t Category() const override {
147
345k
    return kCategory;
148
345k
  }
yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::Category() const
Line
Count
Source
146
430
  uint8_t Category() const override {
147
430
    return kCategory;
148
430
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::tserver::TabletServerDelayTag>::Category() const
yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag>::Category() const
Line
Count
Source
146
23
  uint8_t Category() const override {
147
23
    return kCategory;
148
23
  }
yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag>::Category() const
Line
Count
Source
146
74.5k
  uint8_t Category() const override {
147
74.5k
    return kCategory;
148
74.5k
  }
yb::StatusErrorCodeImpl<yb::client::ClientErrorTag>::Category() const
Line
Count
Source
146
3
  uint8_t Category() const override {
147
3
    return kCategory;
148
3
  }
yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag>::Category() const
Line
Count
Source
146
266k
  uint8_t Category() const override {
147
266k
    return kCategory;
148
266k
  }
yb::StatusErrorCodeImpl<yb::ErrnoTag>::Category() const
Line
Count
Source
146
6.39M
  uint8_t Category() const override {
147
6.39M
    return kCategory;
148
6.39M
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::MinRunningRequestIdTag>::Category() const
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::Category() const
Line
Count
Source
146
22.4k
  uint8_t Category() const override {
147
22.4k
    return kCategory;
148
22.4k
  }
yb::StatusErrorCodeImpl<rocksdb::TimeoutErrorTag>::Category() const
Line
Count
Source
146
176
  uint8_t Category() const override {
147
176
    return kCategory;
148
176
  }
yb::StatusErrorCodeImpl<yb::cdc::CDCErrorTag>::Category() const
Line
Count
Source
146
2
  uint8_t Category() const override {
147
2
    return kCategory;
148
2
  }
149
150
15.6M
  size_t EncodedSize() const override {
151
15.6M
    return Tag::EncodedSize(value_);
152
15.6M
  }
yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::EncodedSize() const
Line
Count
Source
150
24.7k
  size_t EncodedSize() const override {
151
24.7k
    return Tag::EncodedSize(value_);
152
24.7k
  }
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::EncodedSize() const
Line
Count
Source
150
1.10M
  size_t EncodedSize() const override {
151
1.10M
    return Tag::EncodedSize(value_);
152
1.10M
  }
yb::StatusErrorCodeImpl<yb::PgsqlErrorTag>::EncodedSize() const
Line
Count
Source
150
567k
  size_t EncodedSize() const override {
151
567k
    return Tag::EncodedSize(value_);
152
567k
  }
yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag>::EncodedSize() const
Line
Count
Source
150
26.1k
  size_t EncodedSize() const override {
151
26.1k
    return Tag::EncodedSize(value_);
152
26.1k
  }
yb::StatusErrorCodeImpl<yb::OpIndexTag>::EncodedSize() const
Line
Count
Source
150
26.1k
  size_t EncodedSize() const override {
151
26.1k
    return Tag::EncodedSize(value_);
152
26.1k
  }
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::EncodedSize() const
Line
Count
Source
150
392k
  size_t EncodedSize() const override {
151
392k
    return Tag::EncodedSize(value_);
152
392k
  }
yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::EncodedSize() const
Line
Count
Source
150
788
  size_t EncodedSize() const override {
151
788
    return Tag::EncodedSize(value_);
152
788
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::tserver::TabletServerDelayTag>::EncodedSize() const
yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag>::EncodedSize() const
Line
Count
Source
150
46
  size_t EncodedSize() const override {
151
46
    return Tag::EncodedSize(value_);
152
46
  }
yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag>::EncodedSize() const
Line
Count
Source
150
149k
  size_t EncodedSize() const override {
151
149k
    return Tag::EncodedSize(value_);
152
149k
  }
yb::StatusErrorCodeImpl<yb::client::ClientErrorTag>::EncodedSize() const
Line
Count
Source
150
6
  size_t EncodedSize() const override {
151
6
    return Tag::EncodedSize(value_);
152
6
  }
yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag>::EncodedSize() const
Line
Count
Source
150
533k
  size_t EncodedSize() const override {
151
533k
    return Tag::EncodedSize(value_);
152
533k
  }
yb::StatusErrorCodeImpl<yb::ErrnoTag>::EncodedSize() const
Line
Count
Source
150
12.7M
  size_t EncodedSize() const override {
151
12.7M
    return Tag::EncodedSize(value_);
152
12.7M
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::MinRunningRequestIdTag>::EncodedSize() const
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::EncodedSize() const
Line
Count
Source
150
44.3k
  size_t EncodedSize() const override {
151
44.3k
    return Tag::EncodedSize(value_);
152
44.3k
  }
yb::StatusErrorCodeImpl<rocksdb::TimeoutErrorTag>::EncodedSize() const
Line
Count
Source
150
352
  size_t EncodedSize() const override {
151
352
    return Tag::EncodedSize(value_);
152
352
  }
yb::StatusErrorCodeImpl<yb::cdc::CDCErrorTag>::EncodedSize() const
Line
Count
Source
150
2
  size_t EncodedSize() const override {
151
2
    return Tag::EncodedSize(value_);
152
2
  }
153
154
7.83M
  uint8_t* Encode(uint8_t* out) const override {
155
7.83M
    return Tag::Encode(value_, out);
156
7.83M
  }
yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
12.3k
  uint8_t* Encode(uint8_t* out) const override {
155
12.3k
    return Tag::Encode(value_, out);
156
12.3k
  }
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
553k
  uint8_t* Encode(uint8_t* out) const override {
155
553k
    return Tag::Encode(value_, out);
156
553k
  }
yb::StatusErrorCodeImpl<yb::PgsqlErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
283k
  uint8_t* Encode(uint8_t* out) const override {
155
283k
    return Tag::Encode(value_, out);
156
283k
  }
yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag>::Encode(unsigned char*) const
Line
Count
Source
154
13.0k
  uint8_t* Encode(uint8_t* out) const override {
155
13.0k
    return Tag::Encode(value_, out);
156
13.0k
  }
yb::StatusErrorCodeImpl<yb::OpIndexTag>::Encode(unsigned char*) const
Line
Count
Source
154
13.0k
  uint8_t* Encode(uint8_t* out) const override {
155
13.0k
    return Tag::Encode(value_, out);
156
13.0k
  }
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
196k
  uint8_t* Encode(uint8_t* out) const override {
155
196k
    return Tag::Encode(value_, out);
156
196k
  }
yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::Encode(unsigned char*) const
Line
Count
Source
154
395
  uint8_t* Encode(uint8_t* out) const override {
155
395
    return Tag::Encode(value_, out);
156
395
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::tserver::TabletServerDelayTag>::Encode(unsigned char*) const
yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
23
  uint8_t* Encode(uint8_t* out) const override {
155
23
    return Tag::Encode(value_, out);
156
23
  }
yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
74.5k
  uint8_t* Encode(uint8_t* out) const override {
155
74.5k
    return Tag::Encode(value_, out);
156
74.5k
  }
yb::StatusErrorCodeImpl<yb::client::ClientErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
3
  uint8_t* Encode(uint8_t* out) const override {
155
3
    return Tag::Encode(value_, out);
156
3
  }
yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
266k
  uint8_t* Encode(uint8_t* out) const override {
155
266k
    return Tag::Encode(value_, out);
156
266k
  }
yb::StatusErrorCodeImpl<yb::ErrnoTag>::Encode(unsigned char*) const
Line
Count
Source
154
6.39M
  uint8_t* Encode(uint8_t* out) const override {
155
6.39M
    return Tag::Encode(value_, out);
156
6.39M
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::MinRunningRequestIdTag>::Encode(unsigned char*) const
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
22.1k
  uint8_t* Encode(uint8_t* out) const override {
155
22.1k
    return Tag::Encode(value_, out);
156
22.1k
  }
yb::StatusErrorCodeImpl<rocksdb::TimeoutErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
176
  uint8_t* Encode(uint8_t* out) const override {
155
176
    return Tag::Encode(value_, out);
156
176
  }
yb::StatusErrorCodeImpl<yb::cdc::CDCErrorTag>::Encode(unsigned char*) const
Line
Count
Source
154
1
  uint8_t* Encode(uint8_t* out) const override {
155
1
    return Tag::Encode(value_, out);
156
1
  }
157
158
38.1M
  const Value& value() const {
159
38.1M
    return value_;
160
38.1M
  }
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::value() const
Line
Count
Source
158
989k
  const Value& value() const {
159
989k
    return value_;
160
989k
  }
yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag>::value() const
Line
Count
Source
158
2.18M
  const Value& value() const {
159
2.18M
    return value_;
160
2.18M
  }
yb::StatusErrorCodeImpl<yb::tserver::TabletServerDelayTag>::value() const
Line
Count
Source
158
12.3k
  const Value& value() const {
159
12.3k
    return value_;
160
12.3k
  }
yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag>::value() const
Line
Count
Source
158
1.42M
  const Value& value() const {
159
1.42M
    return value_;
160
1.42M
  }
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::value() const
Line
Count
Source
158
1.36M
  const Value& value() const {
159
1.36M
    return value_;
160
1.36M
  }
yb::StatusErrorCodeImpl<yb::client::ClientErrorTag>::value() const
Line
Count
Source
158
28.4M
  const Value& value() const {
159
28.4M
    return value_;
160
28.4M
  }
yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::value() const
Line
Count
Source
158
32
  const Value& value() const {
159
32
    return value_;
160
32
  }
yb::StatusErrorCodeImpl<yb::ErrnoTag>::value() const
Line
Count
Source
158
3.57M
  const Value& value() const {
159
3.57M
    return value_;
160
3.57M
  }
yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag>::value() const
Line
Count
Source
158
6.31k
  const Value& value() const {
159
6.31k
    return value_;
160
6.31k
  }
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::value() const
Line
Count
Source
158
55.6k
  const Value& value() const {
159
55.6k
    return value_;
160
55.6k
  }
yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag>::value() const
Line
Count
Source
158
9.54k
  const Value& value() const {
159
9.54k
    return value_;
160
9.54k
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::MinRunningRequestIdTag>::value() const
yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::value() const
Line
Count
Source
158
31.7k
  const Value& value() const {
159
31.7k
    return value_;
160
31.7k
  }
yb::StatusErrorCodeImpl<yb::cdc::CDCErrorTag>::value() const
Line
Count
Source
158
1
  const Value& value() const {
159
1
    return value_;
160
1
  }
161
162
5.25M
  std::string Message() const override {
163
5.25M
    return Tag::ToMessage(value_);
164
5.25M
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::Message() const
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::Message() const
Line
Count
Source
162
216k
  std::string Message() const override {
163
216k
    return Tag::ToMessage(value_);
164
216k
  }
yb::StatusErrorCodeImpl<yb::PgsqlErrorTag>::Message() const
Line
Count
Source
162
189k
  std::string Message() const override {
163
189k
    return Tag::ToMessage(value_);
164
189k
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag>::Message() const
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::OpIndexTag>::Message() const
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::Message() const
Line
Count
Source
162
4.02k
  std::string Message() const override {
163
4.02k
    return Tag::ToMessage(value_);
164
4.02k
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::Message() const
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::tserver::TabletServerDelayTag>::Message() const
yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag>::Message() const
Line
Count
Source
162
23
  std::string Message() const override {
163
23
    return Tag::ToMessage(value_);
164
23
  }
yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag>::Message() const
Line
Count
Source
162
74.5k
  std::string Message() const override {
163
74.5k
    return Tag::ToMessage(value_);
164
74.5k
  }
yb::StatusErrorCodeImpl<yb::client::ClientErrorTag>::Message() const
Line
Count
Source
162
3
  std::string Message() const override {
163
3
    return Tag::ToMessage(value_);
164
3
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag>::Message() const
yb::StatusErrorCodeImpl<yb::ErrnoTag>::Message() const
Line
Count
Source
162
4.76M
  std::string Message() const override {
163
4.76M
    return Tag::ToMessage(value_);
164
4.76M
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::MinRunningRequestIdTag>::Message() const
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::Message() const
Line
Count
Source
162
9.51k
  std::string Message() const override {
163
9.51k
    return Tag::ToMessage(value_);
164
9.51k
  }
yb::StatusErrorCodeImpl<rocksdb::TimeoutErrorTag>::Message() const
Line
Count
Source
162
176
  std::string Message() const override {
163
176
    return Tag::ToMessage(value_);
164
176
  }
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::cdc::CDCErrorTag>::Message() const
165
166
 private:
167
  Value value_;
168
};
169
170
template <class Tag>
171
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const StatusErrorCodeImpl<Tag>& rhs) {
172
  return lhs.value() == rhs.value();
173
}
174
175
template <class Tag>
176
34.9M
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
34.9M
  return lhs.value() == rhs;
178
34.9M
}
bool yb::operator==<yb::PgsqlRequestStatusTag>(yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag> const&, yb::PgsqlRequestStatusTag::Value const&)
Line
Count
Source
176
2.18M
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
2.18M
  return lhs.value() == rhs;
178
2.18M
}
bool yb::operator==<yb::client::ClientErrorTag>(yb::StatusErrorCodeImpl<yb::client::ClientErrorTag> const&, yb::client::ClientErrorTag::Value const&)
Line
Count
Source
176
27.2M
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
27.2M
  return lhs.value() == rhs;
178
27.2M
}
bool yb::operator==<yb::ErrnoTag>(yb::StatusErrorCodeImpl<yb::ErrnoTag> const&, yb::ErrnoTag::Value const&)
Line
Count
Source
176
3.04M
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
3.04M
  return lhs.value() == rhs;
178
3.04M
}
bool yb::operator==<yb::tserver::TabletServerErrorTag>(yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag> const&, yb::tserver::TabletServerErrorTag::Value const&)
Line
Count
Source
176
1.19M
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
1.19M
  return lhs.value() == rhs;
178
1.19M
}
bool yb::operator==<yb::tablet::RaftGroupStateErrorTag>(yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag> const&, yb::tablet::RaftGroupStateErrorTag::Value const&)
Line
Count
Source
176
6.31k
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
6.31k
  return lhs.value() == rhs;
178
6.31k
}
bool yb::operator==<yb::master::MasterErrorTag>(yb::StatusErrorCodeImpl<yb::master::MasterErrorTag> const&, yb::master::MasterErrorTag::Value const&)
Line
Count
Source
176
34.3k
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
34.3k
  return lhs.value() == rhs;
178
34.3k
}
Unexecuted instantiation: bool yb::operator==<yb::TransactionErrorTag>(yb::StatusErrorCodeImpl<yb::TransactionErrorTag> const&, yb::TransactionErrorTag::Value const&)
bool yb::operator==<yb::rpc::RpcErrorTag>(yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag> const&, yb::rpc::RpcErrorTag::Value const&)
Line
Count
Source
176
9.54k
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
9.54k
  return lhs.value() == rhs;
178
9.54k
}
bool yb::operator==<yb::consensus::ConsensusErrorTag>(yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag> const&, yb::consensus::ConsensusErrorTag::Value const&)
Line
Count
Source
176
1.17M
bool operator==(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
177
1.17M
  return lhs.value() == rhs;
178
1.17M
}
179
180
template <class Tag>
181
bool operator==(const typename Tag::Value& lhs, const StatusErrorCodeImpl<Tag>& rhs) {
182
  return lhs == rhs.value();
183
}
184
185
template <class Tag>
186
bool operator!=(const StatusErrorCodeImpl<Tag>& lhs, const StatusErrorCodeImpl<Tag>& rhs) {
187
  return lhs.value() != rhs.value();
188
}
189
190
template <class Tag>
191
562k
bool operator!=(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
192
562k
  return lhs.value() != rhs;
193
562k
}
bool yb::operator!=<yb::TransactionErrorTag>(yb::StatusErrorCodeImpl<yb::TransactionErrorTag> const&, yb::TransactionErrorTag::Value const&)
Line
Count
Source
191
6
bool operator!=(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
192
6
  return lhs.value() != rhs;
193
6
}
bool yb::operator!=<yb::consensus::ConsensusErrorTag>(yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag> const&, yb::consensus::ConsensusErrorTag::Value const&)
Line
Count
Source
191
6
bool operator!=(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
192
6
  return lhs.value() != rhs;
193
6
}
bool yb::operator!=<yb::master::MasterErrorTag>(yb::StatusErrorCodeImpl<yb::master::MasterErrorTag> const&, yb::master::MasterErrorTag::Value const&)
Line
Count
Source
191
15.4k
bool operator!=(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
192
15.4k
  return lhs.value() != rhs;
193
15.4k
}
bool yb::operator!=<yb::ql::QLErrorTag>(yb::StatusErrorCodeImpl<yb::ql::QLErrorTag> const&, yb::ql::QLErrorTag::Value const&)
Line
Count
Source
191
15.8k
bool operator!=(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
192
15.8k
  return lhs.value() != rhs;
193
15.8k
}
bool yb::operator!=<yb::ErrnoTag>(yb::StatusErrorCodeImpl<yb::ErrnoTag> const&, yb::ErrnoTag::Value const&)
Line
Count
Source
191
531k
bool operator!=(const StatusErrorCodeImpl<Tag>& lhs, const typename Tag::Value& rhs) {
192
531k
  return lhs.value() != rhs;
193
531k
}
194
195
template <class Tag>
196
bool operator!=(const typename Tag::Value& lhs, const StatusErrorCodeImpl<Tag>& rhs) {
197
  return lhs != rhs.value();
198
}
199
200
struct StatusCategoryDescription {
201
  uint8_t id = 0;
202
  const std::string* name = nullptr;
203
  std::function<size_t(const uint8_t*)> decode_size;
204
  std::function<std::string(const uint8_t*)> to_string;
205
206
8.37M
  StatusCategoryDescription() = default;
207
208
  template <class Tag>
209
452k
  static StatusCategoryDescription Make(const std::string* name_) {
210
452k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
452k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::rpc::RpcErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.2k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.2k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.2k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::tablet::RaftGroupStateErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
26.8k
  static StatusCategoryDescription Make(const std::string* name_) {
210
26.8k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
26.8k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::cdc::CDCErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
16.4k
  static StatusCategoryDescription Make(const std::string* name_) {
210
16.4k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
16.4k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::client::ClientErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
26.8k
  static StatusCategoryDescription Make(const std::string* name_) {
210
26.8k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
26.8k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::master::MasterErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
26.8k
  static StatusCategoryDescription Make(const std::string* name_) {
210
26.8k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
26.8k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::consensus::ConsensusErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
26.8k
  static StatusCategoryDescription Make(const std::string* name_) {
210
26.8k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
26.8k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::ql::QLErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
16.8k
  static StatusCategoryDescription Make(const std::string* name_) {
210
16.8k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
16.8k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::tserver::TabletServerErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
26.8k
  static StatusCategoryDescription Make(const std::string* name_) {
210
26.8k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
26.8k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::tserver::TabletServerDelayTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
26.8k
  static StatusCategoryDescription Make(const std::string* name_) {
210
26.8k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
26.8k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::PgsqlErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.1k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.1k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.1k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::PgsqlRequestStatusTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.1k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.1k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.1k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::OpIndexTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.1k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.1k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.1k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::MinRunningRequestIdTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.1k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.1k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.1k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::TransactionErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.1k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.1k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.1k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::SplitChildTabletIdsTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.1k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.1k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.1k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<rocksdb::TimeoutErrorTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
28.1k
  static StatusCategoryDescription Make(const std::string* name_) {
210
28.1k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
28.1k
  }
yb::StatusCategoryDescription yb::StatusCategoryDescription::Make<yb::ErrnoTag>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)
Line
Count
Source
209
32.7k
  static StatusCategoryDescription Make(const std::string* name_) {
210
32.7k
    return StatusCategoryDescription{Tag::kCategory, name_, &Tag::DecodeSize, &Tag::DecodeToString};
211
32.7k
  }
212
};
213
214
class StatusCategoryRegisterer {
215
 public:
216
  explicit StatusCategoryRegisterer(const StatusCategoryDescription& description);
217
};
218
219
template <class Tag>
220
StatusErrorCodeImpl<Tag>::StatusErrorCodeImpl(const Status& status)
221
37.8M
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::TransactionErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
965k
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::PgsqlRequestStatusTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
2.18M
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::tserver::TabletServerDelayTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
12.3k
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::consensus::ConsensusErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
1.42M
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::client::ClientErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
28.4M
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::SplitChildTabletIdsTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
32
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::ErrnoTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
3.56M
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::tserver::TabletServerErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
1.19M
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::tablet::RaftGroupStateErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
6.31k
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
37.2k
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::rpc::RpcErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
9.54k
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
Unexecuted instantiation: yb::StatusErrorCodeImpl<yb::MinRunningRequestIdTag>::StatusErrorCodeImpl(yb::Status const&)
yb::StatusErrorCodeImpl<yb::ql::QLErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
15.8k
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
yb::StatusErrorCodeImpl<yb::cdc::CDCErrorTag>::StatusErrorCodeImpl(yb::Status const&)
Line
Count
Source
221
307
    : value_(Tag::Decode(status.ErrorData(Tag::kCategory))) {}
222
223
template <class Tag>
224
boost::optional<StatusErrorCodeImpl<Tag>> StatusErrorCodeImpl<Tag>::FromStatus(
225
422k
    const Status& status) {
226
422k
  const auto* error_data = status.ErrorData(Tag::kCategory);
227
422k
  if (!error_data) {
228
250k
    return boost::none;
229
250k
  }
230
172k
  return StatusErrorCodeImpl<Tag>(Tag::Decode(error_data));
231
422k
}
232
233
template <class Tag>
234
boost::optional<typename StatusErrorCodeImpl<Tag>::Value> StatusErrorCodeImpl<Tag>::ValueFromStatus(
235
11.5k
    const Status& status) {
236
11.5k
  const auto* error_data = status.ErrorData(Tag::kCategory);
237
11.5k
  if (!error_data) {
238
5
    return boost::none;
239
5
  }
240
11.5k
  return Tag::Decode(error_data);
241
11.5k
}
yb::StatusErrorCodeImpl<yb::OpIndexTag>::ValueFromStatus(yb::Status const&)
Line
Count
Source
235
11.1k
    const Status& status) {
236
11.1k
  const auto* error_data = status.ErrorData(Tag::kCategory);
237
11.1k
  if (!error_data) {
238
0
    return boost::none;
239
0
  }
240
11.1k
  return Tag::Decode(error_data);
241
11.1k
}
yb::StatusErrorCodeImpl<yb::master::MasterErrorTag>::ValueFromStatus(yb::Status const&)
Line
Count
Source
235
409
    const Status& status) {
236
409
  const auto* error_data = status.ErrorData(Tag::kCategory);
237
409
  if (!error_data) {
238
5
    return boost::none;
239
5
  }
240
404
  return Tag::Decode(error_data);
241
409
}
242
243
} // namespace yb
244
245
#endif // YB_UTIL_STATUS_EC_H