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

Method createDefaultValue

src/common/types/value/value.cpp:112–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

110}
111
112Value Value::createDefaultValue(const LogicalType& dataType) {
113 switch (dataType.getLogicalTypeID()) {
114 case LogicalTypeID::SERIAL:
115 case LogicalTypeID::INT64:
116 return Value((int64_t)0);
117 case LogicalTypeID::INT32:
118 return Value((int32_t)0);
119 case LogicalTypeID::INT16:
120 return Value((int16_t)0);
121 case LogicalTypeID::INT8:
122 return Value((int8_t)0);
123 case LogicalTypeID::UINT64:
124 return Value((uint64_t)0);
125 case LogicalTypeID::UINT32:
126 return Value((uint32_t)0);
127 case LogicalTypeID::UINT16:
128 return Value((uint16_t)0);
129 case LogicalTypeID::UINT8:
130 return Value((uint8_t)0);
131 case LogicalTypeID::INT128:
132 return Value(int128_t(0));
133 case LogicalTypeID::BOOL:
134 return Value(true);
135 case LogicalTypeID::DOUBLE:
136 return Value((double)0);
137 case LogicalTypeID::DATE:
138 return Value(date_t());
139 case LogicalTypeID::TIMESTAMP_NS:
140 return Value(timestamp_ns_t());
141 case LogicalTypeID::TIMESTAMP_MS:
142 return Value(timestamp_ms_t());
143 case LogicalTypeID::TIMESTAMP_SEC:
144 return Value(timestamp_sec_t());
145 case LogicalTypeID::TIMESTAMP_TZ:
146 return Value(timestamp_tz_t());
147 case LogicalTypeID::TIMESTAMP:
148 return Value(timestamp_t());
149 case LogicalTypeID::INTERVAL:
150 return Value(interval_t());
151 case LogicalTypeID::INTERNAL_ID:
152 return Value(nodeID_t());
153 case LogicalTypeID::UINT128:
154 return Value(uint128_t(0));
155 case LogicalTypeID::BLOB:
156 return Value(LogicalType::BLOB(), std::string(""));
157 case LogicalTypeID::UUID:
158 return Value(LogicalType::UUID(), std::string(""));
159 case LogicalTypeID::STRING:
160 case LogicalTypeID::JSON:
161 return Value(dataType.copy(), std::string(""));
162 case LogicalTypeID::FLOAT:
163 return Value((float)0);
164 case LogicalTypeID::DECIMAL: {
165 Value ret(dataType.copy());
166 ret.val.int128Val = 0;
167 ret.isNull_ = false;
168 ret.childrenSize = 0;
169 return ret;

Callers

nothing calls this directly

Calls 15

date_tClass · 0.85
timestamp_ns_tClass · 0.85
timestamp_ms_tClass · 0.85
timestamp_sec_tClass · 0.85
timestamp_tz_tClass · 0.85
getChildTypeFunction · 0.85
getNumElementsFunction · 0.85
getLogicalTypeIDMethod · 0.80
ValueClass · 0.50
int128_tClass · 0.50
timestamp_tClass · 0.50
uint128_tClass · 0.50

Tested by

no test coverage detected