GPUdb C++ API  Version 7.0.19.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gpudb::Type Class Reference

#include <gpudb/Type.hpp>

Classes

class  Column
 

Public Member Functions

 Type (const std::vector< Column > &columns)
 
 Type (const std::string &label, const std::vector< Column > &columns)
 
 Type (const std::string &typeSchema)
 
 Type (const std::string &label, const std::string &typeSchema, const std::map< std::string, std::vector< std::string > > &properties)
 
const std::string & getLabel () const
 
const std::vector< Column > & getColumns () const
 
const ColumngetColumn (const size_t index) const
 
const ColumngetColumn (const std::string &name) const
 
size_t getColumnCount () const
 
size_t getColumnIndex (const std::string &name) const
 
bool hasColumn (const std::string &name) const
 
const ::avro::ValidSchema & getSchema () const
 
std::string create (const GPUdb &gpudb) const
 
bool isTypeCompatible (const Type &other, bool check_query_compatibility=false) const
 Check if the given type's columns' data types are compatible (checks primitive types and type-related properties, including nullability). More...
 

Static Public Member Functions

static Type fromTable (const GPUdb &gpudb, const std::string &tableName)
 Create a Type object from a GPUdb table. More...
 
static Type fromType (const GPUdb &gpudb, const std::string &typeId)
 Create a Type object from a GPUdb type. More...
 

Friends

class GenericRecord
 
std::ostream & operator<< (std::ostream &os, Type &type)
 
std::ostream & operator<< (std::ostream &os, const Type &type)
 

Detailed Description

Definition at line 15 of file Type.hpp.

Constructor & Destructor Documentation

gpudb::Type::Type ( const std::vector< Column > &  columns)
gpudb::Type::Type ( const std::string &  label,
const std::vector< Column > &  columns 
)
gpudb::Type::Type ( const std::string &  typeSchema)
gpudb::Type::Type ( const std::string &  label,
const std::string &  typeSchema,
const std::map< std::string, std::vector< std::string > > &  properties 
)

Member Function Documentation

std::string gpudb::Type::create ( const GPUdb gpudb) const
static Type gpudb::Type::fromTable ( const GPUdb gpudb,
const std::string &  tableName 
)
static

Create a Type object from a GPUdb table.

static Type gpudb::Type::fromType ( const GPUdb gpudb,
const std::string &  typeId 
)
static

Create a Type object from a GPUdb type.

const Column& gpudb::Type::getColumn ( const size_t  index) const
const Column& gpudb::Type::getColumn ( const std::string &  name) const
size_t gpudb::Type::getColumnCount ( ) const
size_t gpudb::Type::getColumnIndex ( const std::string &  name) const
const std::vector<Column>& gpudb::Type::getColumns ( ) const
const std::string& gpudb::Type::getLabel ( ) const
const ::avro::ValidSchema& gpudb::Type::getSchema ( ) const
bool gpudb::Type::hasColumn ( const std::string &  name) const
bool gpudb::Type::isTypeCompatible ( const Type other,
bool  check_query_compatibility = false 
) const

Check if the given type's columns' data types are compatible (checks primitive types and type-related properties, including nullability).

By default, does not check query compatibility (e.g. 'data', 'disk_optimized', 'store_only', and 'text_search'.), but will if specified.

Friends And Related Function Documentation

friend class GenericRecord
friend

Definition at line 17 of file Type.hpp.

std::ostream& operator<< ( std::ostream &  os,
Type type 
)
friend
std::ostream& operator<< ( std::ostream &  os,
const Type type 
)
friend

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