MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / getElementSize

Function getElementSize

src/main/storage_driver.cpp:59–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57}
58
59static uint32_t getElementSize(const LogicalType& type) {
60 switch (type.getLogicalTypeID()) {
61 case LogicalTypeID::BOOL:
62 case LogicalTypeID::INT128:
63 case LogicalTypeID::INT64:
64 case LogicalTypeID::INT32:
65 case LogicalTypeID::INT16:
66 case LogicalTypeID::INT8:
67 case LogicalTypeID::UINT64:
68 case LogicalTypeID::UINT32:
69 case LogicalTypeID::UINT16:
70 case LogicalTypeID::UINT8:
71 case LogicalTypeID::DOUBLE:
72 case LogicalTypeID::FLOAT:
73 return PhysicalTypeUtils::getFixedTypeSize(type.getPhysicalType());
74 case LogicalTypeID::ARRAY: {
75 auto& childType = ArrayType::getChildType(type);
76 if (!validateNumericalType(childType)) {
77 throw RuntimeException(getUnsupportedTypeErrMsg(type));
78 }
79 auto numElements = ArrayType::getNumElements(type);
80 return numElements * PhysicalTypeUtils::getFixedTypeSize(childType.getPhysicalType());
81 }
82 default:
83 throw RuntimeException(getUnsupportedTypeErrMsg(type));
84 }
85}
86
87void StorageDriver::scan(const std::string& nodeName, const std::string& propertyName,
88 common::offset_t* offsets, size_t numOffsets, uint8_t* result, size_t numThreads) {

Callers 1

scanMethod · 0.85

Calls 6

getChildTypeFunction · 0.85
validateNumericalTypeFunction · 0.85
getUnsupportedTypeErrMsgFunction · 0.85
getNumElementsFunction · 0.85
getLogicalTypeIDMethod · 0.80
getPhysicalTypeMethod · 0.45

Tested by

no test coverage detected