MCPcopy Create free account
hub / github.com/bytedance/bolt / listRows

Method listRows

bolt/exec/HashTable.cpp:2053–2081  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2051template <bool ignoreNullKeys>
2052template <RowContainer::ProbeType probeType>
2053int32_t HashTable<ignoreNullKeys>::listRows(
2054 RowsIterator* iter,
2055 int32_t maxRows,
2056 uint64_t maxBytes,
2057 char** rows) {
2058 if (iter->hashTableIndex_ == -1) {
2059 auto numRows = rows_->listRows<probeType>(
2060 &iter->rowContainerIterator_, maxRows, maxBytes, rows);
2061 if (numRows) {
2062 return numRows;
2063 }
2064 iter->hashTableIndex_ = 0;
2065 iter->rowContainerIterator_.reset();
2066 }
2067 while (iter->hashTableIndex_ < otherTables_.size()) {
2068 auto numRows =
2069 otherTables_[iter->hashTableIndex_]
2070 ->rows()
2071 ->template listRows<probeType>(
2072 &iter->rowContainerIterator_, maxRows, maxBytes, rows);
2073 if (numRows) {
2074 return numRows;
2075 }
2076 ++iter->hashTableIndex_;
2077 iter->rowContainerIterator_.reset();
2078 }
2079
2080 return 0;
2081}
2082
2083template <bool ignoreNullKeys>
2084int32_t HashTable<ignoreNullKeys>::listNotProbedRows(

Callers 15

sortPartitionsMethod · 0.45
shuffleMethod · 0.45
fillSpillRunsMethod · 0.45
noMoreInputMethod · 0.45
getOutputMethod · 0.45
extractSpillResultMethod · 0.45
partitionRowsMethod · 0.45
rehashMethod · 0.45
analyzeMethod · 0.45
TEST_PFunction · 0.45
TEST_FFunction · 0.45

Calls 3

resetMethod · 0.45
sizeMethod · 0.45
rowsMethod · 0.45

Tested by 5

TEST_PFunction · 0.36
TEST_FFunction · 0.36
DEBUG_ONLY_TEST_FFunction · 0.36
TEST_PFunction · 0.36
TEST_PFunction · 0.36