摘要:
由于DimensionGroupVirtual::Clone的执行代价过高, 本文分析该函数是否被调用, 如果被调用, 则分析其场景。
函数原型:
DimensionGroup *DimensionGroupVirtual::Clone(bool shallow) {
DimensionGroupVirtual *new_value = new DimensionGroupVirtual(dims_used, base_dim, f, (shallow ? 1 : 0));
if (shallow) return new_value;
for (int i = 0; i < no_dims; i++) {
if (t[i]) {
new_value->nulls_possible[i] = nulls_possible[i];
t[i]->Lock();
new_value->t[i] = new IndexTable(*t[i]);
t[i]->Unlock();
}
}
return new_value;
}
调用分析:
一. 分析DimensionGroupVirtual类的创建
来自MINewContents::Commit
void MIN