摘要:
收集现有代码的糟糕实现,前事不忘后事之师,把这些烂东西定死在耻辱柱上以免再次发生
糟糕的设计:
一. DGMaterializedIterator::GetNextPackrow
函数实现:
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]) >