GPUdb C++ API  Version 6.2.0.3
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

◆ Type() [1/4]

gpudb::Type::Type ( const std::vector< Column > &  columns)

◆ Type() [2/4]

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

◆ Type() [3/4]

gpudb::Type::Type ( const std::string &  typeSchema)

◆ Type() [4/4]

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

Member Function Documentation

◆ create()

std::string gpudb::Type::create ( const GPUdb gpudb) const

◆ fromTable()

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

Create a Type object from a GPUdb table.

◆ fromType()

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

Create a Type object from a GPUdb type.

◆ getColumn() [1/2]

const Column& gpudb::Type::getColumn ( const size_t  index) const

◆ getColumn() [2/2]

const Column& gpudb::Type::getColumn ( const std::string &  name) const

◆ getColumnCount()

size_t gpudb::Type::getColumnCount ( ) const

◆ getColumnIndex()

size_t gpudb::Type::getColumnIndex ( const std::string &  name) const

◆ getColumns()

const std::vector<Column>& gpudb::Type::getColumns ( ) const

◆ getLabel()

const std::string& gpudb::Type::getLabel ( ) const

◆ getSchema()

const ::avro::ValidSchema& gpudb::Type::getSchema ( ) const

◆ hasColumn()

bool gpudb::Type::hasColumn ( const std::string &  name) const

◆ isTypeCompatible()

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

◆ GenericRecord

friend class GenericRecord
friend

Definition at line 17 of file Type.hpp.

◆ operator<< [1/2]

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

◆ operator<< [2/2]

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

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