1. 28 1月, 2012 9 次提交
    • T
      Use parameterized paths to generate inner indexscans more flexibly. · e2fa76d8
      Tom Lane 提交于
      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
    • P
      Show default privileges in information schema · b376ec6f
      Peter Eisentraut 提交于
      Hitherto, the information schema only showed explicitly granted
      privileges that were visible in the *acl catalog columns.  If no
      privileges had been granted, the implicit privileges were not shown.
      
      To fix that, add an SQL-accessible version of the acldefault()
      function, and use that inside the aclexplode() calls to substitute the
      catalog-specific default privilege set for null values.
      
      reviewed by Abhijit Menon-Sen
      b376ec6f
    • P
      Revert unfortunate whitespace change · bf90562a
      Peter Eisentraut 提交于
      In e5e2fc84, blank lines were removed
      after a comment block, which now looks as though the comment refers to
      the immediately following code, but it actually refers to the
      preceding code.  So put the blank lines back.
      bf90562a
    • P
      Disallow ALTER DOMAIN on non-domain type everywhere · 27874583
      Peter Eisentraut 提交于
      This has been the behavior already in most cases, but through
      omission, ALTER DOMAIN / OWNER TO and ALTER DOMAIN / SET SCHEMA would
      silently work on non-domain types as well.
      27874583
    • P
      Hide most variable-length fields from Form_pg_* structs · 8137f2c3
      Peter Eisentraut 提交于
      Those fields only appear in the structs so that genbki.pl can create
      the BKI bootstrap files for the catalogs.  But they are not actually
      usable from C.  So hiding them can prevent coding mistakes, saves
      stack space, and can help the compiler.
      
      In certain catalogs, the first variable-length field has been kept
      visible after manual inspection.  These exceptions are noted in C
      comments.
      
      reviewed by Tom Lane
      8137f2c3
    • P
      Do not access indclass through Form_pg_index · 8a3f745f
      Peter Eisentraut 提交于
      Normally, accessing variable-length members of catalog structures past
      the first one doesn't work at all.  Here, it happened to work because
      indnatts was checked to be 1, and so the defined FormData_pg_index
      layout, using int2vector[1] and oidvector[1] for variable-length
      arrays, happened to match the actual memory layout.  But it's a very
      fragile assumption, and it's not in a performance-critical path, so
      code it properly using heap_getattr() instead.
      
      bug analysis by Tom Lane
      8a3f745f
    • R
      Document that COUNT(*) might not need a seq scan any more. · eb6af016
      Robert Haas 提交于
      Noted by Josh Kupershmidt.
      eb6af016
    • R
      Document that analyzing an empty table doesn't update the statistics. · db6de5b7
      Robert Haas 提交于
      Per a suggestion from Sergey Konoplev
      db6de5b7
    • H
      Initialize the new bgwriterLatch field properly. · cf3fff63
      Heikki Linnakangas 提交于
      Peter Geoghegan
      cf3fff63
  2. 27 1月, 2012 9 次提交
  3. 26 1月, 2012 11 次提交
  4. 25 1月, 2012 8 次提交
  5. 24 1月, 2012 3 次提交
    • B
      Reduce tab outdent of "error handling" GUC comments in postgresql.conf, · 890a9992
      Bruce Momjian 提交于
      to match surrounding outdenting.
      890a9992
    • R
      Adjustments to regression tests for security_barrier views. · 49562f5e
      Robert Haas 提交于
      Drop the role we create, so regression tests pass even when run more
      than once against the same cluster, a problem noted by Tom Lane and
      Jeff Janes.  Also, rename the temporary role so that it starts with
      "regress_", to make it unlikely that we'll collide with an existing
      role name while running "make installcheck", per further gripe from
      Tom Lane.
      49562f5e
    • S
      Resolve timing issue with logging locks for Hot Standby. · c172b7b0
      Simon Riggs 提交于
      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