MCPcopy Create free account
hub / github.com/cwida/FastLanes / ExtDicFlush

Method ExtDicFlush

src/encoder/col_encoder.cpp:93–202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

91 /* Dict Size*/
92 n_t dict_bsz {0};
93 auto& stt = eng_stt_up->analyze_state_up;
94 switch (stt->m_exp_t) {
95 case ExpT::INVALID:
96 case ExpT::UNDECIDED:
97 case ExpT::UNCOMPRESSED:
98 case ExpT::BYTE_ARR:
99 case ExpT::FFOR:
100 case ExpT::DELTA:
101 case ExpT::RLE:
102 dict_bsz = 0;
103 break;
104 case ExpT::FSST: {
105 dict_bsz = FSST_MAXHEADER + sizeof(dict_hdr_t);
106 break;
107 }
108 case ExpT::FSST12: {
109 dict_bsz = FSST12_MAXHEADER + sizeof(dict_hdr_t);
110 break;
111 }
112 case ExpT::DICT:
113 case ExpT::DICT_RLE:
114 case ExpT::DICT_FRQ:
115 case ExpT::DICT_VAL: {
116 dict_bsz = eng_stt_up->analyze_state_up->dic_up->size();
117 break;
118 }
119 // TODO [FIXME]
120 default:
121 dict_bsz = 0;
122 break;
123 }
124
125 /* Compress */
126 switch (stt->m_exp_t) {
127 case ExpT::INVALID:
128 case ExpT::UNDECIDED:
129 case ExpT::UNCOMPRESSED:
130 case ExpT::BYTE_ARR:
131 case ExpT::FFOR:
132 case ExpT::DELTA:
133 case ExpT::RLE:
134 case ExpT::FSST:
135 case ExpT::FSST12:
136 case ExpT::ALP:
137 break;
138 case ExpT::DICT:
139 case ExpT::DICT_RLE:
140 case ExpT::DICT_FRQ:
141 case ExpT::DICT_VAL: {
142 eng_stt_up->analyze_state_up->dic_up->Compress(*eng_stt_up->compress_state_up);
143 } break;
144 // TODO [FIXME]
145 default:
146 FLS_ABORT("IMPLEMENT ME");
147 throw std::runtime_error("IMPLEMENT ME");
148 }
149
150 /*Write*/

Callers

nothing calls this directly

Calls 8

fsst_exportFunction · 0.85
fsst12_exportFunction · 0.85
UnsafeAppendMethod · 0.80
AdvanceMethod · 0.80
SizeMethod · 0.45
sizeMethod · 0.45
mutable_dataMethod · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected