摘要:
收集现有代码的糟糕实现,前事不忘后事之师,把这些烂东西定死在耻辱柱上以免再次发生
糟糕的设计:
一. 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]) >= end_block) return -1; uint64_t ahead_pos = 0; // cout << "dim " << dim << ", " << next_pack[dim] << " -> " << // ahead1[dim
更多推荐
2022-11-21 mysql列存储引擎-架构实现缺陷梳理-P2
发布评论