AllocSetResetの高速化
AllocSetContextにisResetという変数が追加された。これはcontextの初期化やリセット時にtrueに設定され、contextからメモリを確保したときにfalseになる。
bool isReset; /* T = no space alloced since last reset */
AllocSetResetではisResetがfalseのときは、contextが利用されているためリセット処理を実行する。isResetがtrueのときは、初期化やリセット後にcontextからメモリを確保されていないことがわかるため、何もしない。
/* Nothing to do if no pallocs since startup or last reset */ if (set->isReset) return;
これによりhash joinや集約関数の実行など、繰り返しAllocSetResetが実行されるケースで動作速度が向上する。