Lbug C++ API
Loading...
Searching...
No Matches
lbug::common::LogicalType Class Reference

#include <types.h>

Public Member Functions

 LogicalType ()
LBUG_API LogicalType (LogicalTypeID typeID, TypeCategory info=TypeCategory::INTERNAL)
 EXPLICIT_COPY_DEFAULT_MOVE (LogicalType)
LBUG_API bool operator== (const LogicalType &other) const
LBUG_API bool operator!= (const LogicalType &other) const
LBUG_API std::string toString () const
LogicalTypeID getLogicalTypeID () const
bool containsAny () const
bool isInternalType () const
PhysicalTypeID getPhysicalType () const
void setExtraTypeInfo (std::unique_ptr< ExtraTypeInfo > typeInfo)
const ExtraTypeInfogetExtraTypeInfo () const
void serialize (Serializer &serializer) const

Static Public Member Functions

static bool isBuiltInType (const std::string &str)
static LogicalType convertFromString (const std::string &str, main::ClientContext *context)
static LBUG_API PhysicalTypeID getPhysicalType (LogicalTypeID logicalType, const std::unique_ptr< ExtraTypeInfo > &extraTypeInfo=nullptr)
static LogicalType deserialize (Deserializer &deserializer)
static LBUG_API std::vector< LogicalTypecopy (const std::vector< LogicalType > &types)
static LBUG_API std::vector< LogicalTypecopy (const std::vector< LogicalType * > &types)
static LogicalType ANY ()
static LogicalType ANY (PhysicalTypeID physicalType)
static LogicalType BOOL ()
static LogicalType HASH ()
static LogicalType INT64 ()
static LogicalType INT32 ()
static LogicalType INT16 ()
static LogicalType INT8 ()
static LogicalType UINT64 ()
static LogicalType UINT32 ()
static LogicalType UINT16 ()
static LogicalType UINT8 ()
static LogicalType INT128 ()
static LogicalType DOUBLE ()
static LogicalType FLOAT ()
static LogicalType DATE ()
static LogicalType TIMESTAMP_NS ()
static LogicalType TIMESTAMP_MS ()
static LogicalType TIMESTAMP_SEC ()
static LogicalType TIMESTAMP_TZ ()
static LogicalType TIMESTAMP ()
static LogicalType INTERVAL ()
static LBUG_API LogicalType DECIMAL (uint32_t precision, uint32_t scale)
static LogicalType INTERNAL_ID ()
static LogicalType UINT128 ()
static LogicalType SERIAL ()
static LogicalType STRING ()
static LogicalType BLOB ()
static LogicalType UUID ()
static LogicalType POINTER ()
static LBUG_API LogicalType STRUCT (std::vector< StructField > &&fields)
static LBUG_API LogicalType RECURSIVE_REL (std::vector< StructField > &&fields)
static LBUG_API LogicalType NODE (std::vector< StructField > &&fields)
static LBUG_API LogicalType REL (std::vector< StructField > &&fields)
static LBUG_API LogicalType UNION (std::vector< StructField > &&fields)
static LBUG_API LogicalType LIST (LogicalType childType)
template<class T>
static LogicalType LIST (T &&childType)
static LBUG_API LogicalType MAP (LogicalType keyType, LogicalType valueType)
template<class T>
static LogicalType MAP (T &&keyType, T &&valueType)
static LBUG_API LogicalType ARRAY (LogicalType childType, uint64_t numElements)
template<class T>
static LogicalType ARRAY (T &&childType, uint64_t numElements)

Friends

struct LogicalTypeUtils
struct DecimalType
struct StructType
struct ListType
struct ArrayType
struct CAPIHelper
struct JavaAPIHelper
class lbug::processor::ParquetReader

Constructor & Destructor Documentation

◆ LogicalType() [1/2]

lbug::common::LogicalType::LogicalType ( )
inline

◆ LogicalType() [2/2]

LBUG_API lbug::common::LogicalType::LogicalType ( LogicalTypeID typeID,
TypeCategory info = TypeCategory::INTERNAL )
explicit

Member Function Documentation

◆ ANY() [1/2]

LogicalType lbug::common::LogicalType::ANY ( )
inlinestatic

◆ ANY() [2/2]

LogicalType lbug::common::LogicalType::ANY ( PhysicalTypeID physicalType)
inlinestatic

◆ ARRAY() [1/2]

LBUG_API LogicalType lbug::common::LogicalType::ARRAY ( LogicalType childType,
uint64_t numElements )
static

◆ ARRAY() [2/2]

template<class T>
LogicalType lbug::common::LogicalType::ARRAY ( T && childType,
uint64_t numElements )
inlinestatic

◆ BLOB()

LogicalType lbug::common::LogicalType::BLOB ( )
inlinestatic

◆ BOOL()

LogicalType lbug::common::LogicalType::BOOL ( )
inlinestatic

◆ containsAny()

bool lbug::common::LogicalType::containsAny ( ) const

◆ convertFromString()

LogicalType lbug::common::LogicalType::convertFromString ( const std::string & str,
main::ClientContext * context )
static

◆ copy() [1/2]

LBUG_API std::vector< LogicalType > lbug::common::LogicalType::copy ( const std::vector< LogicalType * > & types)
static

◆ copy() [2/2]

LBUG_API std::vector< LogicalType > lbug::common::LogicalType::copy ( const std::vector< LogicalType > & types)
static

◆ DATE()

LogicalType lbug::common::LogicalType::DATE ( )
inlinestatic

◆ DECIMAL()

LBUG_API LogicalType lbug::common::LogicalType::DECIMAL ( uint32_t precision,
uint32_t scale )
static

◆ deserialize()

LogicalType lbug::common::LogicalType::deserialize ( Deserializer & deserializer)
static

◆ DOUBLE()

LogicalType lbug::common::LogicalType::DOUBLE ( )
inlinestatic

◆ EXPLICIT_COPY_DEFAULT_MOVE()

lbug::common::LogicalType::EXPLICIT_COPY_DEFAULT_MOVE ( LogicalType )

◆ FLOAT()

LogicalType lbug::common::LogicalType::FLOAT ( )
inlinestatic

◆ getExtraTypeInfo()

const ExtraTypeInfo * lbug::common::LogicalType::getExtraTypeInfo ( ) const
inline

◆ getLogicalTypeID()

LogicalTypeID lbug::common::LogicalType::getLogicalTypeID ( ) const
inline

◆ getPhysicalType() [1/2]

PhysicalTypeID lbug::common::LogicalType::getPhysicalType ( ) const
inline

◆ getPhysicalType() [2/2]

LBUG_API PhysicalTypeID lbug::common::LogicalType::getPhysicalType ( LogicalTypeID logicalType,
const std::unique_ptr< ExtraTypeInfo > & extraTypeInfo = nullptr )
static

◆ HASH()

LogicalType lbug::common::LogicalType::HASH ( )
inlinestatic

◆ INT128()

LogicalType lbug::common::LogicalType::INT128 ( )
inlinestatic

◆ INT16()

LogicalType lbug::common::LogicalType::INT16 ( )
inlinestatic

◆ INT32()

LogicalType lbug::common::LogicalType::INT32 ( )
inlinestatic

◆ INT64()

LogicalType lbug::common::LogicalType::INT64 ( )
inlinestatic

◆ INT8()

LogicalType lbug::common::LogicalType::INT8 ( )
inlinestatic

◆ INTERNAL_ID()

LogicalType lbug::common::LogicalType::INTERNAL_ID ( )
inlinestatic

◆ INTERVAL()

LogicalType lbug::common::LogicalType::INTERVAL ( )
inlinestatic

◆ isBuiltInType()

bool lbug::common::LogicalType::isBuiltInType ( const std::string & str)
static

◆ isInternalType()

bool lbug::common::LogicalType::isInternalType ( ) const
inline

◆ LIST() [1/2]

LBUG_API LogicalType lbug::common::LogicalType::LIST ( LogicalType childType)
static

◆ LIST() [2/2]

template<class T>
LogicalType lbug::common::LogicalType::LIST ( T && childType)
inlinestatic

◆ MAP() [1/2]

LBUG_API LogicalType lbug::common::LogicalType::MAP ( LogicalType keyType,
LogicalType valueType )
static

◆ MAP() [2/2]

template<class T>
LogicalType lbug::common::LogicalType::MAP ( T && keyType,
T && valueType )
inlinestatic

◆ NODE()

LBUG_API LogicalType lbug::common::LogicalType::NODE ( std::vector< StructField > && fields)
static

◆ operator!=()

LBUG_API bool lbug::common::LogicalType::operator!= ( const LogicalType & other) const

◆ operator==()

LBUG_API bool lbug::common::LogicalType::operator== ( const LogicalType & other) const

◆ POINTER()

LogicalType lbug::common::LogicalType::POINTER ( )
inlinestatic

◆ RECURSIVE_REL()

LBUG_API LogicalType lbug::common::LogicalType::RECURSIVE_REL ( std::vector< StructField > && fields)
static

◆ REL()

LBUG_API LogicalType lbug::common::LogicalType::REL ( std::vector< StructField > && fields)
static

◆ SERIAL()

LogicalType lbug::common::LogicalType::SERIAL ( )
inlinestatic

◆ serialize()

void lbug::common::LogicalType::serialize ( Serializer & serializer) const

◆ setExtraTypeInfo()

void lbug::common::LogicalType::setExtraTypeInfo ( std::unique_ptr< ExtraTypeInfo > typeInfo)
inline

◆ STRING()

LogicalType lbug::common::LogicalType::STRING ( )
inlinestatic

◆ STRUCT()

LBUG_API LogicalType lbug::common::LogicalType::STRUCT ( std::vector< StructField > && fields)
static

◆ TIMESTAMP()

LogicalType lbug::common::LogicalType::TIMESTAMP ( )
inlinestatic

◆ TIMESTAMP_MS()

LogicalType lbug::common::LogicalType::TIMESTAMP_MS ( )
inlinestatic

◆ TIMESTAMP_NS()

LogicalType lbug::common::LogicalType::TIMESTAMP_NS ( )
inlinestatic

◆ TIMESTAMP_SEC()

LogicalType lbug::common::LogicalType::TIMESTAMP_SEC ( )
inlinestatic

◆ TIMESTAMP_TZ()

LogicalType lbug::common::LogicalType::TIMESTAMP_TZ ( )
inlinestatic

◆ toString()

LBUG_API std::string lbug::common::LogicalType::toString ( ) const

◆ UINT128()

LogicalType lbug::common::LogicalType::UINT128 ( )
inlinestatic

◆ UINT16()

LogicalType lbug::common::LogicalType::UINT16 ( )
inlinestatic

◆ UINT32()

LogicalType lbug::common::LogicalType::UINT32 ( )
inlinestatic

◆ UINT64()

LogicalType lbug::common::LogicalType::UINT64 ( )
inlinestatic

◆ UINT8()

LogicalType lbug::common::LogicalType::UINT8 ( )
inlinestatic

◆ UNION()

LBUG_API LogicalType lbug::common::LogicalType::UNION ( std::vector< StructField > && fields)
static

◆ UUID()

LogicalType lbug::common::LogicalType::UUID ( )
inlinestatic

◆ ArrayType

friend struct ArrayType
friend

◆ CAPIHelper

friend struct CAPIHelper
friend

◆ DecimalType

friend struct DecimalType
friend

◆ JavaAPIHelper

friend struct JavaAPIHelper
friend

◆ lbug::processor::ParquetReader

friend class lbug::processor::ParquetReader
friend

◆ ListType

friend struct ListType
friend

◆ LogicalTypeUtils

friend struct LogicalTypeUtils
friend

◆ StructType

friend struct StructType
friend

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