OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
anonymous_namespace{DdlCommandExecutor.cpp}::JsonColumnEncoding Class Reference
+ Inheritance diagram for anonymous_namespace{DdlCommandExecutor.cpp}::JsonColumnEncoding:
+ Collaboration diagram for anonymous_namespace{DdlCommandExecutor.cpp}::JsonColumnEncoding:

Public Member Functions

 JsonColumnEncoding (const rapidjson::Value &data_type)
 
- Public Member Functions inherited from ddl_utils::Encoding
 Encoding (std::string *encoding_name, int encoding_param)
 
virtual ~Encoding ()
 
virtual const std::string * get_encoding_name () const
 
virtual int get_encoding_param () const
 

Static Private Member Functions

static std::string * getEncodingName (const rapidjson::Value &data_type)
 
static int getEncodingParam (const rapidjson::Value &data_type)
 

Additional Inherited Members

- Protected Attributes inherited from ddl_utils::Encoding
std::unique_ptr< std::string > encoding_name
 
int encoding_param
 

Detailed Description

Definition at line 232 of file DdlCommandExecutor.cpp.

Constructor & Destructor Documentation

anonymous_namespace{DdlCommandExecutor.cpp}::JsonColumnEncoding::JsonColumnEncoding ( const rapidjson::Value &  data_type)
inline

Definition at line 234 of file DdlCommandExecutor.cpp.

235  : ddl_utils::Encoding(getEncodingName(data_type), getEncodingParam(data_type)) {}
static int getEncodingParam(const rapidjson::Value &data_type)
static std::string * getEncodingName(const rapidjson::Value &data_type)

Member Function Documentation

std::string * JsonColumnEncoding::getEncodingName ( const rapidjson::Value &  data_type)
staticprivate

Definition at line 1129 of file DdlCommandExecutor.cpp.

References CHECK.

1129  {
1130  CHECK(data_type.IsObject());
1131  CHECK(data_type.HasMember("encoding"));
1132  CHECK(data_type["encoding"].IsObject());
1133 
1134  const auto& encoding = data_type["encoding"].GetObject();
1135  CHECK(encoding.HasMember("type"));
1136  CHECK(encoding["type"].IsString());
1137  return new std::string(encoding["type"].GetString());
1138 }
#define CHECK(condition)
Definition: Logger.h:291
int JsonColumnEncoding::getEncodingParam ( const rapidjson::Value &  data_type)
staticprivate

Definition at line 1140 of file DdlCommandExecutor.cpp.

References CHECK.

1140  {
1141  CHECK(data_type.IsObject());
1142  CHECK(data_type.HasMember("encoding"));
1143  CHECK(data_type["encoding"].IsObject());
1144 
1145  int encoding_size = 0;
1146  const auto& encoding = data_type["encoding"].GetObject();
1147  if (encoding.HasMember("size") && !encoding["size"].IsNull()) {
1148  CHECK(encoding["size"].IsInt());
1149  encoding_size = encoding["size"].GetInt();
1150  }
1151  return encoding_size;
1152 }
#define CHECK(condition)
Definition: Logger.h:291

The documentation for this class was generated from the following file: