MCPcopy Create free account
hub / github.com/apache/impala / PrintValueAsBytes

Method PrintValueAsBytes

be/src/runtime/raw-value.cc:43–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41constexpr float RawValue::CANONICAL_FLOAT_ZERO;
42
43void RawValue::PrintValueAsBytes(const void* value, const ColumnType& type,
44 stringstream* stream) {
45 if (value == NULL) return;
46
47 const char* chars = reinterpret_cast<const char*>(value);
48 const StringValue* string_val = NULL;
49 switch (type.type) {
50 case TYPE_BOOLEAN:
51 stream->write(chars, sizeof(bool));
52 return;
53 case TYPE_TINYINT:
54 stream->write(chars, sizeof(int8_t));
55 break;
56 case TYPE_SMALLINT:
57 stream->write(chars, sizeof(int16_t));
58 break;
59 case TYPE_INT:
60 stream->write(chars, sizeof(int32_t));
61 break;
62 case TYPE_DATE:
63 stream->write(chars, sizeof(DateValue));
64 break;
65 case TYPE_BIGINT:
66 stream->write(chars, sizeof(int64_t));
67 break;
68 case TYPE_FLOAT:
69 stream->write(chars, sizeof(float));
70 break;
71 case TYPE_DOUBLE:
72 stream->write(chars, sizeof(double));
73 break;
74 case TYPE_STRING:
75 case TYPE_VARCHAR:
76 string_val = reinterpret_cast<const StringValue*>(value);
77 stream->write(string_val->Ptr(), string_val->Len());
78 break;
79 case TYPE_TIMESTAMP:
80 stream->write(chars, TimestampValue::Size());
81 break;
82 case TYPE_CHAR:
83 stream->write(chars, type.len);
84 break;
85 case TYPE_DECIMAL:
86 stream->write(chars, type.GetByteSize());
87 break;
88 default:
89 DCHECK(false) << "bad RawValue::PrintValue() type: " << type.DebugString();
90 }
91}
92
93void RawValue::PrintValue(const void* value, const ColumnType& type, int scale,
94 string* str) {

Callers

nothing calls this directly

Calls 5

GetByteSizeMethod · 0.80
writeMethod · 0.45
PtrMethod · 0.45
LenMethod · 0.45
DebugStringMethod · 0.45

Tested by

no test coverage detected