1. 28 Jan, 2012 1 commit
    • Tom Lane's avatar
      Use parameterized paths to generate inner indexscans more flexibly. · e2fa76d8
      Tom Lane authored
      This patch fixes the planner so that it can generate nestloop-with-
      inner-indexscan plans even with one or more levels of joining between
      the indexscan and the nestloop join that is supplying the parameter.
      The executor was fixed to handle such cases some time ago, but the
      planner was not ready.  This should improve our plans in many situations
      where join ordering restrictions formerly forced complete table scans.
      
      There is probably a fair amount of tuning work yet to be done, because
      of various heuristics that have been added to limit the number of
      parameterized paths considered.  However, we are not going to find out
      what needs to be adjusted until the code gets some real-world use, so
      it's time to get it in there where it can be tested easily.
      
      Note API change for index AM amcostestimate functions.  I'm not aware of
      any non-core index AMs, but if there are any, they will need minor
      adjustments.
      e2fa76d8
  2. 27 Jan, 2012 13 commits
  3. 26 Jan, 2012 11 commits
  4. 25 Jan, 2012 8 commits
  5. 24 Jan, 2012 6 commits
  6. 23 Jan, 2012 1 commit
    • Simon Riggs's avatar
      Resolve timing issue with logging locks for Hot Standby. · c172b7b0
      Simon Riggs authored
      We log AccessExclusiveLocks for replay onto standby nodes,
      but because of timing issues on ProcArray it is possible to
      log a lock that is still held by a just committed transaction
      that is very soon to be removed. To avoid any timing issue we
      avoid applying locks made by transactions with InvalidXid.
      
      Simon Riggs, bug report Tom Lane, diagnosis Pavan Deolasee
      c172b7b0