| 234 | |
| 235 | template <bool COLLECT_VAR_LEN_VALS> |
| 236 | void RawValue::WriteNonNull(const void* value, Tuple* tuple, |
| 237 | const SlotDescriptor* slot_desc, MemPool* pool, |
| 238 | vector<StringValue*>* string_values, |
| 239 | vector<pair<CollectionValue*, int64_t>>* collection_values) { |
| 240 | DCHECK(value != nullptr && tuple != nullptr && slot_desc != nullptr); |
| 241 | |
| 242 | if (COLLECT_VAR_LEN_VALS) { |
| 243 | DCHECK(string_values != nullptr); |
| 244 | DCHECK(collection_values != nullptr); |
| 245 | } |
| 246 | |
| 247 | if (slot_desc->type().IsStructType()) { |
| 248 | WriteStruct<COLLECT_VAR_LEN_VALS>(value, tuple, slot_desc, pool, |
| 249 | string_values, collection_values); |
| 250 | } else if (slot_desc->type().IsCollectionType()) { |
| 251 | WriteCollection<COLLECT_VAR_LEN_VALS>(value, tuple, slot_desc, pool, |
| 252 | string_values, collection_values); |
| 253 | } else { |
| 254 | WritePrimitiveCollectVarlen<COLLECT_VAR_LEN_VALS>(value, tuple, slot_desc, pool, |
| 255 | string_values); |
| 256 | } |
| 257 | } |
| 258 | |
| 259 | template <bool COLLECT_VAR_LEN_VALS> |
| 260 | void RawValue::WriteStruct(const void* value, Tuple* tuple, |
nothing calls this directly
no test coverage detected