215 throw std::runtime_error(
"Unimplemented template for Value::getValue()");
222 throw std::runtime_error(
"Unimplemented template for Value::getValueReference()");
229 throw std::runtime_error(
"Unimplemented template for Value::createValue()");
258 void resizeChildrenVector(uint64_t size,
const LogicalType& childType);
261 void copyFromRowLayoutStruct(
const uint8_t* kuStruct);
263 void copyFromUnion(
const uint8_t* kuUnion);
265 std::string mapToString()
const;
266 std::string listToString()
const;
267 std::string structToString()
const;
268 std::string nodeToString()
const;
269 std::string relToString()
const;
270 std::string decimalToString()
const;
302 std::vector<std::unique_ptr<Value>> children;
303 uint32_t childrenSize;
312 return val.booleanVal;
357 return val.uint64Val;
366 return val.uint32Val;
375 return val.uint16Val;
393 return val.int128Val;
411 return val.doubleVal;
474 return val.intervalVal;
483 return val.internalIDVal;
492 return val.uint128Val;
521 return val.booleanVal;
575 return val.uint16Val;
584 return val.uint32Val;
593 return val.uint64Val;
602 return val.int128Val;
620 return val.doubleVal;
629 return *
reinterpret_cast<date_t*
>(&
val.int32Val);
683 return val.intervalVal;
692 return val.uint128Val;
701 return val.internalIDVal;
#define LBUG_API
Definition api.h:25
#define KU_ASSERT(condition)
Definition assert.h:24
static LogicalType STRING()
Definition types.h:344
NodeVal represents a node in the graph and stores the nodeID, label and properties of that node.
Definition node.h:20
RecursiveRelVal represents a path in the graph and stores the corresponding rels and nodes of that pa...
Definition recursive_rel.h:14
RelVal represents a rel in the graph and stores the relID, src/dst nodes and properties of that rel.
Definition rel.h:20
LBUG_API void setNull()
Sets the null flag of the Value to true.
T getValue() const
Definition value.h:214
LBUG_API Value(int128_t val_)
LBUG_API Value(timestamp_tz_t val_)
LBUG_API Value(int8_t val_)
LBUG_API void serialize(Serializer &serializer) const
LBUG_API Value(uint16_t val_)
LBUG_API bool isNull() const
LBUG_API void copyFromRowLayout(const uint8_t *value)
Copies from the row layout value.
LBUG_API std::string toString() const
bool allowTypeChange() const
friend class ValueVector
Definition value.h:34
LBUG_API Value(int64_t val_)
LBUG_API Value(interval_t val_)
friend class RecursiveRelVal
Definition value.h:32
friend class ArrowRowBatch
Definition value.h:33
LBUG_API std::unique_ptr< Value > copy() const
LBUG_API Value(timestamp_sec_t val_)
bool hasNoneNullChildren() const
friend class NestedVal
Definition value.h:31
LBUG_API Value(double val_)
LBUG_API Value(int32_t val_)
static Value createValue(T)
Definition value.h:228
LBUG_API Value(float val_)
LBUG_API Value(uint64_t val_)
T & getValueReference()
Definition value.h:221
friend class RelVal
Definition value.h:30
LBUG_API Value(LogicalType dataType, std::vector< std::unique_ptr< Value > > children)
LBUG_API Value(const Value &other)
LBUG_API Value(timestamp_ms_t val_)
LBUG_API void setNull(bool flag)
Sets the null flag of the Value.
LBUG_API void validateType(common::LogicalTypeID targetTypeID) const
LBUG_API Value(bool val_)
LBUG_API void setDataType(const LogicalType &dataType_)
Sets the data type of the Value.
LBUG_API Value(LogicalType type, std::string val_)
LBUG_API Value(Value &&other)=default
LBUG_API Value(const char *val_)
LBUG_API void copyFromColLayout(const uint8_t *value, ValueVector *vec=nullptr)
Copies from the col layout value.
uint64_t computeHash() const
LBUG_API Value(timestamp_ns_t val_)
friend class NodeVal
Definition value.h:29
union lbug::common::Value::Val val
LBUG_API void copyValueFrom(const Value &other)
Copies from the other.
LBUG_API bool operator==(const Value &rhs) const
LBUG_API Value(timestamp_t val_)
LBUG_API Value & operator=(Value &&other)=default
static LBUG_API Value createNullValue(const LogicalType &dataType)
LBUG_API Value(uint32_t val_)
LBUG_API const LogicalType & getDataType() const
LBUG_API Value(internalID_t val_)
LBUG_API Value(ku_uuid_t val_)
LBUG_API Value(int16_t val_)
LBUG_API Value(uint8_t *val_)
LBUG_API Value(uint128_t val_)
static LBUG_API Value createDefaultValue(const LogicalType &dataType)
std::string strVal
Definition value.h:293
LBUG_API Value(date_t val_)
LBUG_API Value(const std::string &val_)
uint32_t getChildrenSize() const
Definition value.h:252
static LBUG_API Value createNullValue()
static LBUG_API std::unique_ptr< Value > deserialize(Deserializer &deserializer)
LBUG_API Value(uint8_t val_)
Definition value_vector.h:21
Definition array_utils.h:7
internalID_t nodeID_t
Definition types.h:83
@ UINT32
Definition types.h:239
@ UINT16
Definition types.h:240
@ INT64
Definition types.h:234
@ INT16
Definition types.h:236
@ INT32
Definition types.h:235
@ UINT64
Definition types.h:238
@ BOOL
Definition types.h:233
@ INT128
Definition types.h:242
@ UINT128
Definition types.h:249
@ FLOAT
Definition types.h:244
@ UINT8
Definition types.h:241
@ INT8
Definition types.h:237
@ DOUBLE
Definition types.h:243
LogicalTypeID
Definition types.h:184
@ BLOB
Definition types.h:217
@ INTERVAL
Definition types.h:211
@ TIMESTAMP_NS
Definition types.h:209
@ UUID
Definition types.h:226
@ DATE
Definition types.h:205
@ STRING
Definition types.h:216
@ TIMESTAMP
Definition types.h:206
@ INTERNAL_ID
Definition types.h:213
@ POINTER
Definition types.h:224
@ TIMESTAMP_TZ
Definition types.h:210
@ TIMESTAMP_MS
Definition types.h:208
@ TIMESTAMP_SEC
Definition types.h:207
Definition array_utils.h:7
Definition interval_t.h:35
Definition timestamp_t.h:49
Definition timestamp_t.h:46
Definition timestamp_t.h:52
Definition timestamp_t.h:10
Definition timestamp_t.h:43
Definition uint128_t.h:15
int16_t int16Val
Definition value.h:279
int8_t int8Val
Definition value.h:280
uint8_t * pointer
Definition value.h:288
uint64_t uint64Val
Definition value.h:281
interval_t intervalVal
Definition value.h:289
int32_t int32Val
Definition value.h:278
bool booleanVal
Definition value.h:275
constexpr Val()
Definition value.h:274
uint128_t uint128Val
Definition value.h:291
uint32_t uint32Val
Definition value.h:282
double doubleVal
Definition value.h:285
uint16_t uint16Val
Definition value.h:283
int128_t int128Val
Definition value.h:276
internalID_t internalIDVal
Definition value.h:290
uint8_t uint8Val
Definition value.h:284
int64_t int64Val
Definition value.h:277
float floatVal
Definition value.h:286