Why cann't simplify stable function in planning phase?

Поиск
Список
Период
Сортировка
От tender wang
Тема Why cann't simplify stable function in planning phase?
Дата
Msg-id CAHewXNnndduJQpLH1pGh0W9Xoe-k63vOx6sO9HxPeYSkpZT-tg@mail.gmail.com
обсуждение исходный текст
Ответы Re: Why cann't simplify stable function in planning phase?
Re: Why cann't simplify stable function in planning phase?
Список pgsql-hackers
Hi hackers,
   In evaluate_function(), I find codes as shown below:

 /*
  * Ordinarily we are only allowed to simplify immutable functions. But for
  * purposes of estimation, we consider it okay to simplify functions that
  * are merely stable; the risk that the result might change from planning
  * time to execution time is worth taking in preference to not being able
   * to estimate the value at all.
   */
if (funcform->provolatile == PROVOLATILE_IMMUTABLE)
    /* okay */ ;
else if (context->estimate && funcform->provolatile == PROVOLATILE_STABLE)
     /* okay */ ;
else
    return NULL;

The codes say that stable function can not be simplified here(e.g. planning phase). 
I want to know the reason why stable function can not be simplified in planning phase.
Maybe show me a example that it will be incorrect for  a query if simplify stable function in 
planning phases.

With kindest regards, tender wang

В списке pgsql-hackers по дате отправления:

Предыдущее
От: o.tselebrovskiy@postgrespro.ru
Дата:
Сообщение: A bug with ExecCheckPermissions
Следующее
От: "Hayato Kuroda (Fujitsu)"
Дата:
Сообщение: RE: Time delayed LR (WAS Re: logical replication restrictions)