Thread: A caveat of partitioning tables in the document

A caveat of partitioning tables in the document

From
Kasahara Tatsuhito
Date:
Hi.

The latest document (doc/src/sgml/ddl.sgml) says
=======================================
2974    <itemizedlist>
2975     <listitem>
2976      <para>
2977       Constraint exclusion only works when the query's <literal>WHERE</>
2978       clause contains constants.  A parameterized query will not be
2979       optimized, since the planner cannot know which partitions the
2980       parameter value might select at run time.  For the same reason,
2981       <quote>stable</> functions such as <function>CURRENT_DATE</function>
2982       must be avoided.
2983      </para>
2984     </listitem
=======================================
but in my understanding, this problem will be solved on 9.2 (with
parameterized plans).

Or some issues still remain ?

Best regards,

-- 
Tatsuhito Kasahara
kasahara.tatsuhito _at_ gmail.com



Re: A caveat of partitioning tables in the document

From
Fujii Masao
Date:
On Wed, Aug 22, 2012 at 12:59 AM, Kasahara Tatsuhito
<kasahara.tatsuhito@gmail.com> wrote:
> Hi.
>
> The latest document (doc/src/sgml/ddl.sgml) says
> =======================================
> 2974    <itemizedlist>
> 2975     <listitem>
> 2976      <para>
> 2977       Constraint exclusion only works when the query's <literal>WHERE</>
> 2978       clause contains constants.  A parameterized query will not be
> 2979       optimized, since the planner cannot know which partitions the
> 2980       parameter value might select at run time.  For the same reason,
> 2981       <quote>stable</> functions such as <function>CURRENT_DATE</function>
> 2982       must be avoided.
> 2983      </para>
> 2984     </listitem
> =======================================
> but in my understanding, this problem will be solved on 9.2 (with
> parameterized plans).
>
> Or some issues still remain ?

At least this limitation "A parameterized query will not be optimized,
since the planner cannot know which partitions the parameter value
might select at run time." has been solved unless I'm missing something.
So we should just get rid of that sentence from the document.

Regards,

-- 
Fujii Masao



Re: A caveat of partitioning tables in the document

From
Tom Lane
Date:
Fujii Masao <masao.fujii@gmail.com> writes:
> On Wed, Aug 22, 2012 at 12:59 AM, Kasahara Tatsuhito
> <kasahara.tatsuhito@gmail.com> wrote:
>> The latest document (doc/src/sgml/ddl.sgml) says
>> =======================================
>> 2974    <itemizedlist>
>> 2975     <listitem>
>> 2976      <para>
>> 2977       Constraint exclusion only works when the query's <literal>WHERE</>
>> 2978       clause contains constants.  A parameterized query will not be
>> 2979       optimized, since the planner cannot know which partitions the
>> 2980       parameter value might select at run time.  For the same reason,
>> 2981       <quote>stable</> functions such as <function>CURRENT_DATE</function>
>> 2982       must be avoided.
>> 2983      </para>
>> 2984     </listitem
>> =======================================
>> but in my understanding, this problem will be solved on 9.2 (with
>> parameterized plans).
>> 
>> Or some issues still remain ?

> At least this limitation "A parameterized query will not be optimized,
> since the planner cannot know which partitions the parameter value
> might select at run time." has been solved unless I'm missing something.
> So we should just get rid of that sentence from the document.

Yes, I think we can take that out now.  The issue with stable functions
still remains though.
        regards, tom lane



Re: A caveat of partitioning tables in the document

From
Kasahara Tatsuhito
Date:
2012/8/23 Tom Lane <tgl@sss.pgh.pa.us>:
> Fujii Masao <masao.fujii@gmail.com> writes:
>> On Wed, Aug 22, 2012 at 12:59 AM, Kasahara Tatsuhito
>> <kasahara.tatsuhito@gmail.com> wrote:
>>> The latest document (doc/src/sgml/ddl.sgml) says
>>> =======================================
>>> 2974    <itemizedlist>
>>> 2975     <listitem>
>>> 2976      <para>
>>> 2977       Constraint exclusion only works when the query's <literal>WHERE</>
>>> 2978       clause contains constants.  A parameterized query will not be
>>> 2979       optimized, since the planner cannot know which partitions the
>>> 2980       parameter value might select at run time.  For the same reason,
>>> 2981       <quote>stable</> functions such as <function>CURRENT_DATE</function>
>>> 2982       must be avoided.
>>> 2983      </para>
>>> 2984     </listitem
>>> =======================================
>>> but in my understanding, this problem will be solved on 9.2 (with
>>> parameterized plans).
>>>
>>> Or some issues still remain ?
>
>> At least this limitation "A parameterized query will not be optimized,
>> since the planner cannot know which partitions the parameter value
>> might select at run time." has been solved unless I'm missing something.
>> So we should just get rid of that sentence from the document.
>
> Yes, I think we can take that out now.  The issue with stable functions
> still remains though.

Thanks for your replay.

I see we can remove the topic from the doc except a issue with stable functions.

Best regards,

-- 
Tatsuhito Kasahara
kasahara.tatsuhito _at_ gmail.com