1. 03 Aug, 2000 2 commits
  2. 29 Jul, 2000 1 commit
  3. 06 Jul, 2000 1 commit
  4. 05 Jul, 2000 1 commit
  5. 15 Jun, 2000 1 commit
  6. 14 Jun, 2000 2 commits
  7. 09 Jun, 2000 1 commit
  8. 05 Jun, 2000 1 commit
  9. 30 May, 2000 1 commit
  10. 28 May, 2000 1 commit
    • Tom Lane's avatar
      First round of changes for new fmgr interface. fmgr itself and the · 0a7fb4e9
      Tom Lane authored
      key call sites are changed, but most called functions are still oldstyle.
      An exception is that the PL managers are updated (so, for example, NULL
      handling now behaves as expected in plperl and plpgsql functions).
      NOTE initdb is forced due to added column in pg_proc.
      0a7fb4e9
  11. 26 May, 2000 1 commit
  12. 16 Apr, 2000 1 commit
    • Tom Lane's avatar
      Add new selectivity estimation functions for pattern-matching operators · 82849df6
      Tom Lane authored
      (LIKE and regexp matches).  These are not yet referenced in pg_operator,
      so by default the system will continue to use eqsel/neqsel.
      Also, tweak convert_to_scalar() logic so that common prefixes of strings
      are stripped off, allowing better accuracy when all strings in a table
      share a common prefix.
      82849df6
  13. 12 Apr, 2000 1 commit
  14. 09 Apr, 2000 1 commit
  15. 30 Mar, 2000 1 commit
  16. 23 Mar, 2000 1 commit
  17. 20 Mar, 2000 3 commits
  18. 26 Feb, 2000 1 commit
  19. 16 Feb, 2000 1 commit
  20. 15 Feb, 2000 1 commit
    • Tom Lane's avatar
      New cost model for planning, incorporating a penalty for random page · b1577a7c
      Tom Lane authored
      accesses versus sequential accesses, a (very crude) estimate of the
      effects of caching on random page accesses, and cost to evaluate WHERE-
      clause expressions.  Export critical parameters for this model as SET
      variables.  Also, create SET variables for the planner's enable flags
      (enable_seqscan, enable_indexscan, etc) so that these can be controlled
      more conveniently than via PGOPTIONS.
      
      Planner now estimates both startup cost (cost before retrieving
      first tuple) and total cost of each path, so it can optimize queries
      with LIMIT on a reasonable basis by interpolating between these costs.
      Same facility is a win for EXISTS(...) subqueries and some other cases.
      
      Redesign pathkey representation to achieve a major speedup in planning
      (I saw as much as 5X on a 10-way join); also minor changes in planner
      to reduce memory consumption by recycling discarded Path nodes and
      not constructing unnecessary lists.
      
      Minor cleanups to display more-plausible costs in some cases in
      EXPLAIN output.
      
      Initdb forced by change in interface to index cost estimation
      functions.
      b1577a7c
  21. 26 Jan, 2000 1 commit
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  22. 24 Jan, 2000 2 commits
    • Tom Lane's avatar
      First cut at making useful selectivity estimates for range queries · 0dbffa70
      Tom Lane authored
      (ie, WHERE x > lowbound AND x < highbound).  It's not very bright yet
      but it does something useful.  Also, rename intltsel/intgtsel to
      scalarltsel/scalargtsel to reflect usage better.  Extend convert_to_scalar
      to do something a little bit useful with string data types.  Still need
      to make it do something with date/time datatypes, but I'll wait for
      Thomas's datetime unification dust to settle first.  Eventually the
      routine ought not have any type-specific knowledge at all; it ought to
      be calling a type-dependent routine found via a pg_type column; but
      that's a task for another day.
      0dbffa70
    • Bruce Momjian's avatar
      da5aba10
  23. 23 Jan, 2000 2 commits
  24. 22 Jan, 2000 1 commit
  25. 15 Jan, 2000 2 commits
  26. 10 Jan, 2000 1 commit
  27. 09 Jan, 2000 1 commit
  28. 25 Nov, 1999 2 commits
  29. 22 Nov, 1999 1 commit
  30. 18 Sep, 1999 1 commit
    • Tom Lane's avatar
      Mega-commit to make heap_open/heap_openr/heap_close take an · bd272cac
      Tom Lane authored
      additional argument specifying the kind of lock to acquire/release (or
      'NoLock' to do no lock processing).  Ensure that all relations are locked
      with some appropriate lock level before being examined --- this ensures
      that relevant shared-inval messages have been processed and should prevent
      problems caused by concurrent VACUUM.  Fix several bugs having to do with
      mismatched increment/decrement of relation ref count and mismatched
      heap_open/close (which amounts to the same thing).  A bogus ref count on
      a relation doesn't matter much *unless* a SI Inval message happens to
      arrive at the wrong time, which is probably why we got away with this
      sloppiness for so long.  Repair missing grab of AccessExclusiveLock in
      DROP TABLE, ALTER/RENAME TABLE, etc, as noted by Hiroshi.
      Recommend 'make clean all' after pulling this update; I modified the
      Relation struct layout slightly.
      Will post further discussion to pghackers list shortly.
      bd272cac
  31. 09 Sep, 1999 1 commit
    • Tom Lane's avatar
      Repair error noticed by Roberto Cornacchia: selectivity code · 51db6455
      Tom Lane authored
      was rejecting negative attnums as bogus, which of course they are not.
      Add code to get_attdisbursion to produce a useful value for OID attribute,
      since VACUUM does not store stats for system attributes.
      Also, repair bug that's been in eqjoinsel for a long time: it was taking
      the max of the two columns' disbursions, whereas it should use the min.
      51db6455
  32. 21 Aug, 1999 1 commit