收集现有代码的糟糕实现,前事不忘后事之师,把这些烂东西定死在耻辱柱上以免再次发生
int DimensionGroupMaterialized::DGMaterializedIterator::GetNextPackrow(int dim, int ahead) {
MEASURE_FET("DGMaterializedIterator::GetNextPackrow(int dim, int ahead)");
if (ahead == 0) return GetCurPackrow(dim);
IndexTable *cur_t = t[dim];
if (cur_t == NULL) return -1;
uint64_t end_block = cur_t->EndOfCurrentBlock(cur_pos);
if (next_pack[dim] >= no_obj || uint64_t(next_pack[dim]) >= end_block) return -1;
uint64_t ahead_pos = 0;
// cout << "dim " << dim << ", " << next_pack[dim] << " -> " <<
// ahead1[dim