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

Method SkipValues

be/src/util/rle-encoding.h:777–802  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

775
776template <typename T>
777inline int32_t RleBatchDecoder<T>::SkipValues(int32_t num_values) {
778 DCHECK_GT(num_values, 0);
779
780 int32_t num_skipped = 0;
781 if (HaveBufferedLiterals()) {
782 num_skipped = SkipBufferedLiterals(num_values);
783 }
784 while (num_skipped < num_values) {
785 // Skip RLE encoded values
786 int32_t num_repeats = NextNumRepeats();
787 if (num_repeats > 0) {
788 int32_t num_repeats_to_consume = std::min(num_repeats, num_values - num_skipped);
789 SkipRepeatedValues(num_repeats_to_consume);
790 num_skipped += num_repeats_to_consume;
791 continue;
792 }
793
794 // Skip literals
795 int32_t num_literals = NextNumLiterals();
796 if (num_literals == 0) break;
797 int32_t num_literals_to_skip = std::min(num_literals, num_values - num_skipped);
798 if (!SkipLiteralValues(num_literals_to_skip)) return 0;
799 num_skipped += num_literals_to_skip;
800 }
801 return num_skipped;
802}
803
804template <typename T>
805constexpr int RleBatchDecoder<T>::LITERAL_BUFFER_LEN;

Callers 6

BSSComp_DecodeSkipFunction · 0.45
GetRleValuesSkipMethod · 0.45
ValidateRleSkipMethod · 0.45
ValidateValuesFunction · 0.45
TESTFunction · 0.45

Calls 1

minFunction · 0.85

Tested by 5

GetRleValuesSkipMethod · 0.36
ValidateRleSkipMethod · 0.36
ValidateValuesFunction · 0.36
TESTFunction · 0.36