Skip to main content

#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).
 

Static Public Member Functions

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

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 17 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_tindex) 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,
boolcheck_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.

◆ GenericRecord

friend class GenericRecord
friend

Definition at line 19 of file Type.hpp.

◆ operator<< [1/2]

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

◆ operator<< [2/2]

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

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