]> granicus.if.org Git - postgresql/commitdiff
Remove overly-pessimistic statement about constraint exclusion.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 23 Aug 2012 03:55:34 +0000 (23:55 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 23 Aug 2012 03:55:34 +0000 (23:55 -0400)
As of 9.2, constraint exclusion should work okay with prepared statements:
the planner will try custom plans with actual values of the parameters,
and observe that they are a lot cheaper than the generic plan, and thus
never fall back to using the generic plan.  Noted by Tatsuhito Kasahara.

doc/src/sgml/ddl.sgml

index 013dc7c4dacdc56bbdfd001f6a0b615ecbead84b..07bfc203ec723c0fde82c56260e404842562660f 100644 (file)
@@ -2975,11 +2975,11 @@ ANALYZE measurement;
     <listitem>
      <para>
       Constraint exclusion only works when the query's <literal>WHERE</>
-      clause contains constants.  A parameterized query will not be
-      optimized, since the planner cannot know which partitions the
-      parameter value might select at run time.  For the same reason,
-      <quote>stable</> functions such as <function>CURRENT_DATE</function>
-      must be avoided.
+      clause contains constants (or externally supplied parameters).
+      For example, a comparison against a non-immutable function such as
+      <function>CURRENT_TIMESTAMP</function> cannot be optimized, since the
+      planner cannot know which partition the function value might fall
+      into at run time.
      </para>
     </listitem>