1. 01 Jul, 2006 1 commit
    • Tom Lane's avatar
      Fix oversight in planning for multiple indexscans driven by · 08ccdf02
      Tom Lane authored
      ScalarArrayOpExpr index quals: we were estimating the right total
      number of rows returned, but treating the index-access part of the
      cost as if a single scan were fetching that many consecutive index
      tuples.  Actually we should treat it as a multiple indexscan, and
      if there are enough of 'em the Mackert-Lohman discount should kick in.
      08ccdf02
  2. 02 May, 2006 1 commit
  3. 27 Apr, 2006 2 commits
  4. 26 Apr, 2006 2 commits
  5. 05 Mar, 2006 1 commit
  6. 14 Jan, 2006 1 commit
  7. 25 Nov, 2005 1 commit
    • Tom Lane's avatar
      Teach planner and executor to handle ScalarArrayOpExpr as an indexable · 290166f9
      Tom Lane authored
      qualification when the underlying operator is indexable and useOr is true.
      That is, indexkey op ANY (ARRAY[...]) is effectively translated into an
      OR combination of one indexscan for each array element.  This only works
      for bitmap index scans, of course, since regular indexscans no longer
      support OR'ing of scans.  There are still some loose ends to clean up
      before changing 'x IN (list)' to translate as a ScalarArrayOpExpr;
      for instance predtest.c ought to be taught about it.  But this gets the
      basic functionality in place.
      290166f9
  8. 07 Nov, 2005 1 commit
  9. 15 Oct, 2005 1 commit
  10. 05 Jun, 2005 1 commit
    • Tom Lane's avatar
      Remove planner's private fields from Query struct, and put them into · 9ab4d981
      Tom Lane authored
      a new PlannerInfo struct, which is passed around instead of the bare
      Query in all the planning code.  This commit is essentially just a
      code-beautification exercise, but it does open the door to making
      larger changes to the planner data structures without having to muck
      with the widely-known Query struct.
      9ab4d981
  11. 06 Mar, 2005 1 commit
  12. 31 Dec, 2004 1 commit
    • PostgreSQL Daemon's avatar
      · 2ff50159
      PostgreSQL Daemon authored
      Tag appropriate files for rc3
      
      Also performed an initial run through of upgrading our Copyright date to
      extend to 2005 ... first run here was very simple ... change everything
      where: grep 1996-2004 && the word 'Copyright' ... scanned through the
      generated list with 'less' first, and after, to make sure that I only
      picked up the right entries ...
      2ff50159
  13. 09 Nov, 2004 1 commit
    • Tom Lane's avatar
      Use a hopefully-more-reliable method of detecting default selectivity · 547bb4a7
      Tom Lane authored
      estimates when combining the estimates for a range query.  As pointed out
      by Miquel van Smoorenburg, the existing check for an impossible combined
      result would quite possibly fail to detect one default and one non-default
      input.  It seems better to use the default range query estimate in such
      cases.  To do so, add a check for an estimate of exactly DEFAULT_INEQ_SEL.
      This is a bit ugly because it introduces additional coupling between
      clauselist_selectivity and scalarltsel/scalargtsel, but it's not like
      there wasn't plenty already...
      547bb4a7
  14. 29 Aug, 2004 2 commits
  15. 17 Feb, 2004 1 commit
    • Tom Lane's avatar
      Make use of statistics on index expressions. There are still some · a536ed53
      Tom Lane authored
      corner cases that could stand improvement, but it does all the basic
      stuff.  A byproduct is that the selectivity routines are no longer
      constrained to working on simple Vars; we might in future be able to
      improve the behavior for subexpressions that don't match indexes.
      a536ed53
  16. 29 Nov, 2003 1 commit
    • PostgreSQL Daemon's avatar
      · 55b11325
      PostgreSQL Daemon authored
      make sure the $Id tags are converted to $PostgreSQL as well ...
      55b11325
  17. 04 Aug, 2003 2 commits
  18. 15 May, 2003 1 commit
  19. 28 Jan, 2003 1 commit
  20. 20 Jan, 2003 1 commit
    • Tom Lane's avatar
      IN clauses appearing at top level of WHERE can now be handled as joins. · bdfbfde1
      Tom Lane authored
      There are two implementation techniques: the executor understands a new
      JOIN_IN jointype, which emits at most one matching row per left-hand row,
      or the result of the IN's sub-select can be fed through a DISTINCT filter
      and then joined as an ordinary relation.
      Along the way, some minor code cleanup in the optimizer; notably, break
      out most of the jointree-rearrangement preprocessing in planner.c and
      put it in a new file prep/prepjointree.c.
      bdfbfde1
  21. 19 Nov, 2002 1 commit
  22. 19 Oct, 2002 1 commit
    • Tom Lane's avatar
      Fix range-query estimation to not double-exclude NULLs, per gripe from · c0f7dcda
      Tom Lane authored
      Ray Ontko 28-June-02.  Also, fix prefix_selectivity for NAME lefthand
      variables (it was bogusly assuming binary compatibility), and adjust
      make_greater_string() to not call pg_mbcliplen() with invalid multibyte
      data (this last per bug report that I can't find at the moment, but it
      was in July '02).
      c0f7dcda
  23. 04 Sep, 2002 1 commit
  24. 02 Sep, 2002 1 commit
    • Bruce Momjian's avatar
      > Okay. When you get back to the original issue, the gold is hidden in · 595a5a78
      Bruce Momjian authored
      > src/backend/optimizer/path/indxpath.c; see the "special indexable
      > operators" stuff near the bottom of that file.  (It's a bit of a crock
      > that this code is hardwired there, and not somehow accessed through a
      > system catalog, but it's what we've got at the moment.)
      
      The attached patch re-enables a bytea right hand argument (as compared
      to a text right hand argument), and enables index usage, for bytea LIKE
      
      Joe Conway
      595a5a78
  25. 20 Jun, 2002 1 commit
  26. 01 Mar, 2002 1 commit
  27. 05 Nov, 2001 1 commit
  28. 28 Oct, 2001 1 commit
  29. 25 Oct, 2001 1 commit
  30. 25 Jun, 2001 1 commit
    • Tom Lane's avatar
      Optimizer can now estimate selectivity of IS NULL, IS NOT NULL, · 4d58a7ca
      Tom Lane authored
      IS TRUE, etc, with some degree of verisimilitude.  Split out
      selectivity support functions from builtins.h into a new header
      file selfuncs.h, so as to reduce the number of header files builtins.h
      must depend on.  Fix a few missing inclusions exposed thereby.
      From Joe Conway, with some kibitzing from Tom Lane.
      4d58a7ca