YugabyteDB (2.13.0.0-b42, bfc6a6643e7399ac8a0e81d06a3ee6d6571b33ab)

Coverage Report

Created: 2022-03-09 17:30

/Users/deen/code/yugabyte-db/src/yb/yql/cql/ql/ptree/pt_type.h
Line
Count
Source (jump to first uncovered line)
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
// Tree node definitions for datatypes.
16
//--------------------------------------------------------------------------------------------------
17
18
#ifndef YB_YQL_CQL_QL_PTREE_PT_TYPE_H_
19
#define YB_YQL_CQL_QL_PTREE_PT_TYPE_H_
20
21
#include "yb/client/schema.h"
22
23
#include "yb/common/ql_type.h"
24
25
#include "yb/yql/cql/ql/ptree/pt_name.h"
26
#include "yb/yql/cql/ql/ptree/tree_node.h"
27
28
namespace yb {
29
namespace ql {
30
31
class PTBaseType : public TreeNode {
32
 public:
33
  //------------------------------------------------------------------------------------------------
34
  // Public types.
35
  typedef MCSharedPtr<PTBaseType> SharedPtr;
36
  typedef MCSharedPtr<const PTBaseType> SharedPtrConst;
37
38
  //------------------------------------------------------------------------------------------------
39
  // Constructor and destructor.
40
  explicit PTBaseType(MemoryContext *memctx = nullptr, YBLocationPtr loc = nullptr)
41
5.68k
      : TreeNode(memctx, loc) {
42
5.68k
  }
43
5.40k
  virtual ~PTBaseType() {
44
5.40k
  }
45
46
5.09k
  virtual CHECKED_STATUS Analyze(SemContext *sem_context) {
47
5.09k
    return Status::OK();
48
5.09k
  }
49
50
0
  virtual bool IsApplicableForPrimaryKey() {
51
0
    return true;
52
0
  }
53
54
8.91k
  virtual bool is_counter() const {
55
8.91k
    return false;
56
8.91k
  }
57
58
  virtual InternalType internal_type() const = 0;
59
  virtual std::shared_ptr<QLType> ql_type() const = 0;
60
61
  static PTBaseType::SharedPtr FromQLType(MemoryContext *memctx,
62
                                          const std::shared_ptr<QLType>& ql_type);
63
};
64
65
template<InternalType itype_, DataType data_type_, bool applicable_for_primary_key_>
66
class PTPrimitiveType : public PTBaseType {
67
 public:
68
  //------------------------------------------------------------------------------------------------
69
  // Public types.
70
  typedef MCSharedPtr<PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_>> SharedPtr;
71
  typedef MCSharedPtr<const PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_>>
72
      SharedPtrConst;
73
74
  //------------------------------------------------------------------------------------------------
75
  // Constructor and destructor.
76
  explicit PTPrimitiveType(MemoryContext *memctx = nullptr,
77
                           YBLocationPtr loc = nullptr)
78
5.68k
      : PTBaseType(memctx, loc) {
79
5.68k
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
28
      : PTBaseType(memctx, loc) {
79
28
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
37
      : PTBaseType(memctx, loc) {
79
37
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
37
      : PTBaseType(memctx, loc) {
79
37
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
27
      : PTBaseType(memctx, loc) {
79
27
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
45
      : PTBaseType(memctx, loc) {
79
45
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
54
      : PTBaseType(memctx, loc) {
79
54
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
3.46k
      : PTBaseType(memctx, loc) {
79
3.46k
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
27
      : PTBaseType(memctx, loc) {
79
27
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
38
      : PTBaseType(memctx, loc) {
79
38
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
94
      : PTBaseType(memctx, loc) {
79
94
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
43
      : PTBaseType(memctx, loc) {
79
43
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
25
      : PTBaseType(memctx, loc) {
79
25
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
137
      : PTBaseType(memctx, loc) {
79
137
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
20
      : PTBaseType(memctx, loc) {
79
20
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
18
      : PTBaseType(memctx, loc) {
79
18
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
51
      : PTBaseType(memctx, loc) {
79
51
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
75
      : PTBaseType(memctx, loc) {
79
75
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
16
      : PTBaseType(memctx, loc) {
79
16
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
1.03k
      : PTBaseType(memctx, loc) {
79
1.03k
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE15ELb0EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
89
      : PTBaseType(memctx, loc) {
79
89
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE13ELNS_8DataTypeE16ELb0EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
72
      : PTBaseType(memctx, loc) {
79
72
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE14ELNS_8DataTypeE14ELb0EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
73
      : PTBaseType(memctx, loc) {
79
73
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE21ELb0EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
83
      : PTBaseType(memctx, loc) {
79
83
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE17ELNS_8DataTypeE22ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
78
92
      : PTBaseType(memctx, loc) {
79
92
  }
80
5.40k
  virtual ~PTPrimitiveType() {
81
5.40k
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EED2Ev
Line
Count
Source
80
28
  virtual ~PTPrimitiveType() {
81
28
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EED2Ev
Line
Count
Source
80
37
  virtual ~PTPrimitiveType() {
81
37
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EED2Ev
Line
Count
Source
80
37
  virtual ~PTPrimitiveType() {
81
37
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EED2Ev
Line
Count
Source
80
27
  virtual ~PTPrimitiveType() {
81
27
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EED2Ev
Line
Count
Source
80
45
  virtual ~PTPrimitiveType() {
81
45
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EED2Ev
Line
Count
Source
80
54
  virtual ~PTPrimitiveType() {
81
54
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EED2Ev
Line
Count
Source
80
3.43k
  virtual ~PTPrimitiveType() {
81
3.43k
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EED2Ev
Line
Count
Source
80
27
  virtual ~PTPrimitiveType() {
81
27
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EED2Ev
Line
Count
Source
80
38
  virtual ~PTPrimitiveType() {
81
38
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EED2Ev
Line
Count
Source
80
94
  virtual ~PTPrimitiveType() {
81
94
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EED2Ev
Line
Count
Source
80
43
  virtual ~PTPrimitiveType() {
81
43
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EED2Ev
Line
Count
Source
80
25
  virtual ~PTPrimitiveType() {
81
25
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EED2Ev
Line
Count
Source
80
63
  virtual ~PTPrimitiveType() {
81
63
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EED2Ev
Line
Count
Source
80
20
  virtual ~PTPrimitiveType() {
81
20
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EED2Ev
Line
Count
Source
80
18
  virtual ~PTPrimitiveType() {
81
18
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EED2Ev
Line
Count
Source
80
51
  virtual ~PTPrimitiveType() {
81
51
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EED2Ev
Line
Count
Source
80
75
  virtual ~PTPrimitiveType() {
81
75
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EED2Ev
Line
Count
Source
80
16
  virtual ~PTPrimitiveType() {
81
16
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EED2Ev
Line
Count
Source
80
867
  virtual ~PTPrimitiveType() {
81
867
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE15ELb0EED2Ev
Line
Count
Source
80
89
  virtual ~PTPrimitiveType() {
81
89
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE13ELNS_8DataTypeE16ELb0EED2Ev
Line
Count
Source
80
72
  virtual ~PTPrimitiveType() {
81
72
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE14ELNS_8DataTypeE14ELb0EED2Ev
Line
Count
Source
80
73
  virtual ~PTPrimitiveType() {
81
73
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE21ELb0EED2Ev
Line
Count
Source
80
83
  virtual ~PTPrimitiveType() {
81
83
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE17ELNS_8DataTypeE22ELb1EED2Ev
Line
Count
Source
80
92
  virtual ~PTPrimitiveType() {
81
92
  }
82
83
  template<typename... TypeArgs>
84
4.09k
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
4.09k
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
4.09k
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
28
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
28
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
28
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
37
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
37
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
37
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
37
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
37
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
37
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
27
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
27
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
27
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
45
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
45
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
45
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
54
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
54
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
54
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
3.46k
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
3.46k
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
3.46k
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
27
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
27
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
27
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
38
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
38
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
38
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
94
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
94
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
94
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
43
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
43
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
43
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
25
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
25
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
25
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
137
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
137
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
137
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
20
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
20
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
20
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EE10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS8_IS5_EEPNS_8internal9ArenaBaseINSC_11ArenaTraitsEEEDpOT_
Line
Count
Source
84
18
  inline static PTPrimitiveType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
85
18
    return MCMakeShared<PTPrimitiveType>(memctx, std::forward<TypeArgs>(args)...);
86
18
  }
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EE10MakeSharedIJEEENSt3__110shared_ptrIS5_EEPNS_8internal9ArenaBaseINSA_11ArenaTraitsEEEDpOT_
87
88
  // Node type.
89
0
  virtual TreeNodeOpcode opcode() const override {
90
0
    return TreeNodeOpcode::kPTPrimitiveType;
91
0
  }
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE15ELb0EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE13ELNS_8DataTypeE16ELb0EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE14ELNS_8DataTypeE14ELb0EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE21ELb0EE6opcodeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE17ELNS_8DataTypeE22ELb1EE6opcodeEv
92
93
0
  virtual InternalType internal_type() const override {
94
0
    return itype_;
95
0
  }
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE15ELb0EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE13ELNS_8DataTypeE16ELb0EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE14ELNS_8DataTypeE14ELb0EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE21ELb0EE13internal_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE17ELNS_8DataTypeE22ELb1EE13internal_typeEv
96
97
0
  virtual DataType data_type() const {
98
0
    return data_type_;
99
0
  }
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE15ELb0EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE13ELNS_8DataTypeE16ELb0EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE14ELNS_8DataTypeE14ELb0EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE21ELb0EE9data_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE17ELNS_8DataTypeE22ELb1EE9data_typeEv
100
101
8.86k
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
8.86k
    return QLType::Create(data_type_);
105
8.86k
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EE7ql_typeEv
Line
Count
Source
101
63
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
63
    return QLType::Create(data_type_);
105
63
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EE7ql_typeEv
Line
Count
Source
101
37
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
37
    return QLType::Create(data_type_);
105
37
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EE7ql_typeEv
Line
Count
Source
101
73
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
73
    return QLType::Create(data_type_);
105
73
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EE7ql_typeEv
Line
Count
Source
101
57
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
57
    return QLType::Create(data_type_);
105
57
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EE7ql_typeEv
Line
Count
Source
101
106
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
106
    return QLType::Create(data_type_);
105
106
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EE7ql_typeEv
Line
Count
Source
101
143
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
143
    return QLType::Create(data_type_);
105
143
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EE7ql_typeEv
Line
Count
Source
101
5.65k
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
5.65k
    return QLType::Create(data_type_);
105
5.65k
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EE7ql_typeEv
Line
Count
Source
101
57
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
57
    return QLType::Create(data_type_);
105
57
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EE7ql_typeEv
Line
Count
Source
101
83
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
83
    return QLType::Create(data_type_);
105
83
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EE7ql_typeEv
Line
Count
Source
101
185
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
185
    return QLType::Create(data_type_);
105
185
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EE7ql_typeEv
Line
Count
Source
101
78
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
78
    return QLType::Create(data_type_);
105
78
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EE7ql_typeEv
Line
Count
Source
101
51
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
51
    return QLType::Create(data_type_);
105
51
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EE7ql_typeEv
Line
Count
Source
101
205
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
205
    return QLType::Create(data_type_);
105
205
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EE7ql_typeEv
Line
Count
Source
101
42
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
42
    return QLType::Create(data_type_);
105
42
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EE7ql_typeEv
Line
Count
Source
101
36
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
36
    return QLType::Create(data_type_);
105
36
  }
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE15ELb0EE7ql_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE13ELNS_8DataTypeE16ELb0EE7ql_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE14ELNS_8DataTypeE14ELb0EE7ql_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE21ELb0EE7ql_typeEv
Unexecuted instantiation: _ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE17ELNS_8DataTypeE22ELb1EE7ql_typeEv
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EE7ql_typeEv
Line
Count
Source
101
99
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
99
    return QLType::Create(data_type_);
105
99
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EE7ql_typeEv
Line
Count
Source
101
157
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
157
    return QLType::Create(data_type_);
105
157
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EE7ql_typeEv
Line
Count
Source
101
16
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
16
    return QLType::Create(data_type_);
105
16
  }
_ZNK2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EE7ql_typeEv
Line
Count
Source
101
1.72k
  virtual std::shared_ptr<QLType> ql_type() const override {
102
    // Since all instances of a primitive type share one static QLType object, we can just call
103
    // "Create" to get the shared object.
104
1.72k
    return QLType::Create(data_type_);
105
1.72k
  }
106
107
149
  virtual bool IsApplicableForPrimaryKey() override {
108
149
    return applicable_for_primary_key_;
109
149
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE11ELNS_8DataTypeE13ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
2
  virtual bool IsApplicableForPrimaryKey() override {
108
2
    return applicable_for_primary_key_;
109
2
  }
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE20ELNS_8DataTypeE25ELb0EE25IsApplicableForPrimaryKeyEv
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE18ELNS_8DataTypeE17ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
2
  virtual bool IsApplicableForPrimaryKey() override {
108
2
    return applicable_for_primary_key_;
109
2
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE19ELNS_8DataTypeE18ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
2
  virtual bool IsApplicableForPrimaryKey() override {
108
2
    return applicable_for_primary_key_;
109
2
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE10ELNS_8DataTypeE9ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
4
  virtual bool IsApplicableForPrimaryKey() override {
108
4
    return applicable_for_primary_key_;
109
4
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE8ELNS_8DataTypeE6ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
3
  virtual bool IsApplicableForPrimaryKey() override {
108
3
    return applicable_for_primary_key_;
109
3
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE3ELNS_8DataTypeE3ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
71
  virtual bool IsApplicableForPrimaryKey() override {
108
71
    return applicable_for_primary_key_;
109
71
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE1ELNS_8DataTypeE1ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
3
  virtual bool IsApplicableForPrimaryKey() override {
108
3
    return applicable_for_primary_key_;
109
3
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE2ELNS_8DataTypeE2ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
3
  virtual bool IsApplicableForPrimaryKey() override {
108
3
    return applicable_for_primary_key_;
109
3
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
3
  virtual bool IsApplicableForPrimaryKey() override {
108
3
    return applicable_for_primary_key_;
109
3
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE15ELNS_8DataTypeE11ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
1
  virtual bool IsApplicableForPrimaryKey() override {
108
1
    return applicable_for_primary_key_;
109
1
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE16ELNS_8DataTypeE12ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
1
  virtual bool IsApplicableForPrimaryKey() override {
108
1
    return applicable_for_primary_key_;
109
1
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE9ELNS_8DataTypeE10ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
2
  virtual bool IsApplicableForPrimaryKey() override {
108
2
    return applicable_for_primary_key_;
109
2
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE21ELNS_8DataTypeE23ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
2
  virtual bool IsApplicableForPrimaryKey() override {
108
2
    return applicable_for_primary_key_;
109
2
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE22ELNS_8DataTypeE24ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
2
  virtual bool IsApplicableForPrimaryKey() override {
108
2
    return applicable_for_primary_key_;
109
2
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
3
  virtual bool IsApplicableForPrimaryKey() override {
108
3
    return applicable_for_primary_key_;
109
3
  }
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
3
  virtual bool IsApplicableForPrimaryKey() override {
108
3
    return applicable_for_primary_key_;
109
3
  }
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EE25IsApplicableForPrimaryKeyEv
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
19
  virtual bool IsApplicableForPrimaryKey() override {
108
19
    return applicable_for_primary_key_;
109
19
  }
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE15ELb0EE25IsApplicableForPrimaryKeyEv
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE13ELNS_8DataTypeE16ELb0EE25IsApplicableForPrimaryKeyEv
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE14ELNS_8DataTypeE14ELb0EE25IsApplicableForPrimaryKeyEv
Unexecuted instantiation: _ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE12ELNS_8DataTypeE21ELb0EE25IsApplicableForPrimaryKeyEv
_ZN2yb2ql15PTPrimitiveTypeILNS_9QLValuePB9ValueCaseE17ELNS_8DataTypeE22ELb1EE25IsApplicableForPrimaryKeyEv
Line
Count
Source
107
23
  virtual bool IsApplicableForPrimaryKey() override {
108
23
    return applicable_for_primary_key_;
109
23
  }
110
};
111
112
// types with no type arguments
113
template<InternalType itype_, DataType data_type_, bool applicable_for_primary_key_ = true>
114
class PTSimpleType : public PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_> {
115
 public:
116
  //------------------------------------------------------------------------------------------------
117
  // Public types.
118
  typedef MCSharedPtr<PTSimpleType<itype_, data_type_>> SharedPtr;
119
  typedef MCSharedPtr<const PTSimpleType<itype_, data_type_>> SharedPtrConst;
120
121
  //------------------------------------------------------------------------------------------------
122
  // Constructor and destructor.
123
  explicit PTSimpleType(MemoryContext *memctx = nullptr,
124
                        YBLocationPtr loc = nullptr)
125
1.18k
      : PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_>(memctx, loc) {
126
1.18k
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
125
51
      : PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_>(memctx, loc) {
126
51
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
125
75
      : PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_>(memctx, loc) {
126
75
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
125
16
      : PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_>(memctx, loc) {
126
16
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EEC2EPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEENSt3__110shared_ptrINS0_10YBLocationEEE
Line
Count
Source
125
1.03k
      : PTPrimitiveType<itype_, data_type_, applicable_for_primary_key_>(memctx, loc) {
126
1.03k
  }
127
1.00k
  virtual ~PTSimpleType() {
128
1.00k
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE5ELNS_8DataTypeE7ELb1EED2Ev
Line
Count
Source
127
51
  virtual ~PTSimpleType() {
128
51
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE6ELNS_8DataTypeE8ELb1EED2Ev
Line
Count
Source
127
75
  virtual ~PTSimpleType() {
128
75
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE4ELNS_8DataTypeE4ELb0EED2Ev
Line
Count
Source
127
16
  virtual ~PTSimpleType() {
128
16
  }
_ZN2yb2ql12PTSimpleTypeILNS_9QLValuePB9ValueCaseE7ELNS_8DataTypeE5ELb1EED2Ev
Line
Count
Source
127
867
  virtual ~PTSimpleType() {
128
867
  }
129
};
130
131
//--------------------------------------------------------------------------------------------------
132
// Numeric Types.
133
using PTBoolean = PTSimpleType<InternalType::kBoolValue, DataType::BOOL>;
134
using PTTinyInt = PTSimpleType<InternalType::kInt8Value, DataType::INT8>;
135
using PTSmallInt = PTSimpleType<InternalType::kInt16Value, DataType::INT16>;
136
using PTInt = PTSimpleType<InternalType::kInt32Value, DataType::INT32>;
137
using PTBigInt = PTSimpleType<InternalType::kInt64Value, DataType::INT64>;
138
139
using PTVarInt = PTSimpleType<InternalType::kVarintValue, DataType::VARINT>;
140
using PTDecimal = PTSimpleType<InternalType::kDecimalValue, DataType::DECIMAL>;
141
142
class PTFloat : public PTSimpleType<InternalType::kFloatValue, DataType::FLOAT> {
143
 public:
144
  typedef MCSharedPtr<PTFloat> SharedPtr;
145
  typedef MCSharedPtr<const PTFloat> SharedPtrConst;
146
147
  explicit PTFloat(MemoryContext *memctx,
148
                   YBLocationPtr loc = nullptr,
149
                   int8_t precision = 24);
150
  virtual ~PTFloat();
151
152
  template<typename... TypeArgs>
153
51
  inline static PTFloat::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
154
51
    return MCMakeShared<PTFloat>(memctx, std::forward<TypeArgs>(args)...);
155
51
  }
Unexecuted instantiation: _ZN2yb2ql7PTFloat10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEiEEENS4_IS1_EEPNS_8internal9ArenaBaseINS8_11ArenaTraitsEEEDpOT_
_ZN2yb2ql7PTFloat10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEERxEEENS4_IS1_EEPNS_8internal9ArenaBaseINS9_11ArenaTraitsEEEDpOT_
Line
Count
Source
153
51
  inline static PTFloat::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
154
51
    return MCMakeShared<PTFloat>(memctx, std::forward<TypeArgs>(args)...);
155
51
  }
Unexecuted instantiation: _ZN2yb2ql7PTFloat10MakeSharedIJEEENSt3__110shared_ptrIS1_EEPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEEDpOT_
156
157
0
  int8_t precision() const {
158
0
    return precision_;
159
0
  }
160
161
 private:
162
  int8_t precision_;
163
};
164
165
class PTDouble : public PTSimpleType<InternalType::kDoubleValue, DataType::DOUBLE> {
166
 public:
167
  typedef MCSharedPtr<PTDouble> SharedPtr;
168
  typedef MCSharedPtr<const PTDouble> SharedPtrConst;
169
170
  explicit PTDouble(MemoryContext *memctx,
171
                    YBLocationPtr loc = nullptr,
172
                    int8_t precision = 24);
173
  virtual ~PTDouble();
174
175
  template<typename... TypeArgs>
176
75
  inline static PTDouble::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
177
75
    return MCMakeShared<PTDouble>(memctx, std::forward<TypeArgs>(args)...);
178
75
  }
_ZN2yb2ql8PTDouble10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS4_IS1_EEPNS_8internal9ArenaBaseINS8_11ArenaTraitsEEEDpOT_
Line
Count
Source
176
75
  inline static PTDouble::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
177
75
    return MCMakeShared<PTDouble>(memctx, std::forward<TypeArgs>(args)...);
178
75
  }
Unexecuted instantiation: _ZN2yb2ql8PTDouble10MakeSharedIJEEENSt3__110shared_ptrIS1_EEPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEEDpOT_
179
180
0
  int8_t precision() const {
181
0
    return precision_;
182
0
  }
183
184
 private:
185
  int8_t precision_;
186
};
187
188
//--------------------------------------------------------------------------------------------------
189
// Counter Types.
190
class PTCounter : public PTSimpleType<InternalType::kInt64Value, DataType::INT64, false> {
191
 public:
192
  typedef MCSharedPtr<PTCounter> SharedPtr;
193
  typedef MCSharedPtr<const PTCounter> SharedPtrConst;
194
195
  explicit PTCounter(MemoryContext *memctx, YBLocationPtr loc);
196
  virtual ~PTCounter();
197
198
  template<typename... TypeArgs>
199
16
  inline static PTCounter::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
200
16
    return MCMakeShared<PTCounter>(memctx, std::forward<TypeArgs>(args)...);
201
16
  }
202
203
48
  bool is_counter() const {
204
48
    return true;
205
48
  }
206
};
207
208
//--------------------------------------------------------------------------------------------------
209
// Char-based types.
210
211
class PTCharBaseType : public PTSimpleType<InternalType::kStringValue, DataType::STRING> {
212
 public:
213
  typedef MCSharedPtr<PTCharBaseType> SharedPtr;
214
  typedef MCSharedPtr<const PTCharBaseType> SharedPtrConst;
215
216
  explicit PTCharBaseType(MemoryContext *memctx = nullptr,
217
                          YBLocationPtr loc = nullptr,
218
                          ssize_t max_length = -1);
219
  virtual ~PTCharBaseType();
220
221
0
  ssize_t max_length() {
222
0
    return max_length_;
223
0
  }
224
225
0
  void set_max_length(ssize_t length) {
226
0
    max_length_ = length;
227
0
  }
228
229
 protected:
230
  ssize_t max_length_;
231
};
232
233
class PTChar : public PTCharBaseType {
234
 public:
235
  typedef MCSharedPtr<PTChar> SharedPtr;
236
  typedef MCSharedPtr<const PTChar> SharedPtrConst;
237
238
  explicit PTChar(MemoryContext *memctx = nullptr,
239
                  YBLocationPtr loc = nullptr,
240
                  int32_t max_length = 1);
241
  virtual ~PTChar();
242
243
  template<typename... TypeArgs>
244
0
  inline static PTChar::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
245
0
    return MCMakeShared<PTChar>(memctx, std::forward<TypeArgs>(args)...);
246
0
  }
247
248
0
  virtual InternalType type_id() const {
249
0
    return InternalType::kStringValue;
250
0
  }
251
};
252
253
class PTVarchar : public PTCharBaseType {
254
 public:
255
  typedef MCSharedPtr<PTVarchar> SharedPtr;
256
  typedef MCSharedPtr<const PTVarchar> SharedPtrConst;
257
258
  explicit PTVarchar(MemoryContext *memctx = nullptr,
259
                     YBLocationPtr loc = nullptr,
260
                     int32_t max_length = 64*1024);
261
  virtual ~PTVarchar();
262
263
  template<typename... TypeArgs>
264
1.03k
  inline static PTVarchar::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
265
1.03k
    return MCMakeShared<PTVarchar>(memctx, std::forward<TypeArgs>(args)...);
266
1.03k
  }
_ZN2yb2ql9PTVarchar10MakeSharedIJNSt3__110shared_ptrINS0_8LocationEEEEEENS4_IS1_EEPNS_8internal9ArenaBaseINS8_11ArenaTraitsEEEDpOT_
Line
Count
Source
264
1.03k
  inline static PTVarchar::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
265
1.03k
    return MCMakeShared<PTVarchar>(memctx, std::forward<TypeArgs>(args)...);
266
1.03k
  }
Unexecuted instantiation: _ZN2yb2ql9PTVarchar10MakeSharedIJEEENSt3__110shared_ptrIS1_EEPNS_8internal9ArenaBaseINS6_11ArenaTraitsEEEDpOT_
267
268
0
  virtual InternalType type_id() const {
269
0
    return InternalType::kStringValue;
270
0
  }
271
};
272
273
// Other char-based types.
274
using PTJsonb = PTSimpleType<InternalType::kJsonbValue, DataType::JSONB, false>;
275
using PTInet = PTSimpleType<InternalType::kInetaddressValue, DataType::INET>;
276
using PTBlob = PTSimpleType<InternalType::kBinaryValue, DataType::BINARY>;
277
278
//--------------------------------------------------------------------------------------------------
279
// UUID types.
280
using PTUuid = PTSimpleType<InternalType::kUuidValue, DataType::UUID>;
281
using PTTimeUuid = PTSimpleType<InternalType::kTimeuuidValue, DataType::TIMEUUID>;
282
283
//--------------------------------------------------------------------------------------------------
284
// Datetime types.
285
using PTTimestamp = PTSimpleType<InternalType::kTimestampValue, DataType::TIMESTAMP>;
286
using PTDate = PTSimpleType<InternalType::kDateValue, DataType::DATE>;
287
using PTTime = PTSimpleType<InternalType::kTimeValue, DataType::TIME>;
288
289
//--------------------------------------------------------------------------------------------------
290
// Collection types.
291
class PTMap : public PTPrimitiveType<InternalType::kMapValue, DataType::MAP, false> {
292
 public:
293
  typedef MCSharedPtr<PTMap> SharedPtr;
294
  typedef MCSharedPtr<const PTMap> SharedPtrConst;
295
296
  PTMap(MemoryContext *memctx,
297
        YBLocationPtr loc,
298
        const PTBaseType::SharedPtr& keys_type,
299
        const PTBaseType::SharedPtr& values_type);
300
301
  virtual ~PTMap();
302
303
  template<typename... TypeArgs>
304
89
  inline static PTMap::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
305
89
    return MCMakeShared<PTMap>(memctx, std::forward<TypeArgs>(args)...);
306
89
  }
307
308
115
  virtual std::shared_ptr<QLType> ql_type() const {
309
115
    return ql_type_;
310
115
  }
311
312
  virtual CHECKED_STATUS Analyze(SemContext *sem_context);
313
314
 protected:
315
  PTBaseType::SharedPtr keys_type_;
316
  PTBaseType::SharedPtr values_type_;
317
  std::shared_ptr<QLType> ql_type_;
318
};
319
320
class PTSet : public PTPrimitiveType<InternalType::kSetValue, DataType::SET, false> {
321
 public:
322
  typedef MCSharedPtr<PTSet> SharedPtr;
323
  typedef MCSharedPtr<const PTSet> SharedPtrConst;
324
325
  PTSet(MemoryContext *memctx,
326
        YBLocationPtr loc,
327
        const PTBaseType::SharedPtr& elems_type);
328
329
  virtual ~PTSet();
330
331
  template<typename... TypeArgs>
332
72
  inline static PTSet::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
333
72
    return MCMakeShared<PTSet>(memctx, std::forward<TypeArgs>(args)...);
334
72
  }
335
336
115
  virtual std::shared_ptr<QLType> ql_type() const {
337
115
    return ql_type_;
338
115
  }
339
340
  virtual CHECKED_STATUS Analyze(SemContext *sem_context);
341
342
 protected:
343
  PTBaseType::SharedPtr elems_type_;
344
  std::shared_ptr<QLType> ql_type_;
345
};
346
347
class PTList : public PTPrimitiveType<InternalType::kListValue, DataType::LIST, false> {
348
 public:
349
  typedef MCSharedPtr<PTList> SharedPtr;
350
  typedef MCSharedPtr<const PTList> SharedPtrConst;
351
352
  PTList(MemoryContext *memctx,
353
         YBLocationPtr loc,
354
         const PTBaseType::SharedPtr& elems_type);
355
356
  virtual ~PTList();
357
358
  template<typename... TypeArgs>
359
73
  inline static PTList::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
360
73
    return MCMakeShared<PTList>(memctx, std::forward<TypeArgs>(args)...);
361
73
  }
362
363
100
  virtual std::shared_ptr<QLType> ql_type() const {
364
100
    return ql_type_;
365
100
  }
366
367
  virtual CHECKED_STATUS Analyze(SemContext *sem_context);
368
369
 protected:
370
  PTBaseType::SharedPtr elems_type_;
371
  std::shared_ptr<QLType> ql_type_;
372
};
373
374
class PTUserDefinedType : public PTPrimitiveType<InternalType::kMapValue,
375
                                                 DataType::USER_DEFINED_TYPE,
376
                                                 false> {
377
 public:
378
  typedef MCSharedPtr<PTUserDefinedType> SharedPtr;
379
  typedef MCSharedPtr<const PTUserDefinedType> SharedPtrConst;
380
381
  PTUserDefinedType(MemoryContext *memctx,
382
                    YBLocationPtr loc,
383
                    const PTQualifiedName::SharedPtr& name);
384
385
  virtual ~PTUserDefinedType();
386
387
  template<typename... TypeArgs>
388
83
  inline static PTUserDefinedType::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
389
83
    return MCMakeShared<PTUserDefinedType>(memctx, std::forward<TypeArgs>(args)...);
390
83
  }
391
392
  virtual CHECKED_STATUS Analyze(SemContext *sem_context);
393
394
229
  virtual std::shared_ptr<QLType> ql_type() const {
395
229
    return ql_type_;
396
229
  }
397
398
 private:
399
  PTQualifiedName::SharedPtr name_;
400
401
  // These fields will be set during analysis (retrieving type info from metadata server)
402
  std::shared_ptr<QLType> ql_type_;
403
};
404
405
class PTFrozen : public PTPrimitiveType<InternalType::kFrozenValue, DataType::FROZEN, true> {
406
 public:
407
  typedef MCSharedPtr<PTFrozen> SharedPtr;
408
  typedef MCSharedPtr<const PTFrozen> SharedPtrConst;
409
410
  PTFrozen(MemoryContext *memctx,
411
           YBLocationPtr loc,
412
           const PTBaseType::SharedPtr& elems_type);
413
414
  virtual ~PTFrozen();
415
416
  template<typename... TypeArgs>
417
92
  inline static PTFrozen::SharedPtr MakeShared(MemoryContext *memctx, TypeArgs&&... args) {
418
92
    return MCMakeShared<PTFrozen>(memctx, std::forward<TypeArgs>(args)...);
419
92
  }
420
421
  virtual CHECKED_STATUS Analyze(SemContext *sem_context);
422
423
242
  virtual std::shared_ptr<QLType> ql_type() const {
424
242
    return ql_type_;
425
242
  }
426
427
 private:
428
  PTBaseType::SharedPtr elems_type_;
429
  std::shared_ptr<QLType> ql_type_;
430
};
431
432
}  // namespace ql
433
}  // namespace yb
434
435
#endif  // YB_YQL_CQL_QL_PTREE_PT_TYPE_H_