1. 26 4月, 2012 3 次提交
  2. 25 4月, 2012 3 次提交
  3. 24 4月, 2012 6 次提交
    • R
      Casts to or from a domain type are ignored; warn and document. · 3ce7f18e
      Robert Haas 提交于
      Prohibiting this outright would break dumps taken from older versions
      that contain such casts, which would create far more pain than is
      justified here.
      
      Per report by Jaime Casanova and subsequent discussion.
      3ce7f18e
    • R
      Another typographical correction. · e4f06b70
      Robert Haas 提交于
      Noted by Guillaume Smet.
      e4f06b70
    • R
      Lots of doc corrections. · 5d4b60f2
      Robert Haas 提交于
      Josh Kupershmidt
      5d4b60f2
    • R
      Rearrange lazy_scan_heap to avoid visibility map race conditions. · 7ab9b2f3
      Robert Haas 提交于
      We must set the visibility map bit before releasing our exclusive lock
      on the heap page; otherwise, someone might clear the heap page bit
      before we set the visibility map bit, leading to a situation where the
      visibility map thinks the page is all-visible but it's really not.
      
      This problem has existed since 8.4, but it wasn't critical before we
      had index-only scans, since the worst case scenario was that the page
      wouldn't get vacuumed until the next scan_all vacuum.
      
      Along the way, a couple of minor, related improvements: (1) if we
      pause the heap scan to do an index vac cycle, release any visibility
      map page we're holding, since really long-running pins are not good
      for a variety of reasons; and (2) warn if we see a page that's marked
      all-visible in the visibility map but not on the page level, since
      that should never happen any more (it was allowed in previous
      releases, but not in 9.2).
      7ab9b2f3
    • R
      Reduce hash size for compute_array_stats, compute_tsvector_stats. · 85efd5f0
      Robert Haas 提交于
      The size is only a hint, but a big hint chews up a lot of memory without
      apparently improving performance much.
      
      Analysis and patch by Noah Misch.
      85efd5f0
    • R
      Minor improvements for CHECK NO INHERIT documentation. · 9d435d57
      Robert Haas 提交于
      Fix typo spotted by Thom Brown, and improve wording in another area
      where Thom spotted a typo.
      9d435d57
  4. 23 4月, 2012 1 次提交
  5. 21 4月, 2012 3 次提交
    • T
      Use fuzzy not exact cost comparison for the final tie-breaker in add_path. · 33e99153
      Tom Lane 提交于
      Instead of an exact cost comparison, use a fuzzy comparison with 1e-10
      delta after all other path metrics have proved equal.  This is to avoid
      having platform-specific roundoff behaviors determine the choice when
      two paths are really the same to our cost estimators.  Adjust the
      recently-added test case that made it obvious we had a problem here.
      33e99153
    • A
      Recast "ONLY" column CHECK constraints as NO INHERIT · 09ff76fc
      Alvaro Herrera 提交于
      The original syntax wasn't universally loved, and it didn't allow its
      usage in CREATE TABLE, only ALTER TABLE.  It now works everywhere, and
      it also allows using ALTER TABLE ONLY to add an uninherited CHECK
      constraint, per discussion.
      
      The pg_constraint column has accordingly been renamed connoinherit.
      
      This commit partly reverts some of the changes in
      61d81bd2, particularly some pg_dump and
      psql bits, because now pg_get_constraintdef includes the necessary NO
      INHERIT within the constraint definition.
      
      Author: Nikhil Sontakke
      Some tweaks by me
      09ff76fc
    • T
      Adjust join_search_one_level's handling of clauseless joins. · 1f036300
      Tom Lane 提交于
      For an initial relation that lacks any join clauses (that is, it has to be
      cartesian-product-joined to the rest of the query), we considered only
      cartesian joins with initial rels appearing later in the initial-relations
      list.  This creates an undesirable dependency on FROM-list order.  We would
      never fail to find a plan, but perhaps we might not find the best available
      plan.  Noted while discussing the logic with Amit Kapila.
      
      Improve the comments a bit in this area, too.
      
      Arguably this is a bug fix, but given the lack of complaints from the
      field I'll refrain from back-patching.
      1f036300
  6. 20 4月, 2012 2 次提交
    • T
      Revise parameterized-path mechanism to fix assorted issues. · 5b7b5518
      Tom Lane 提交于
      This patch adjusts the treatment of parameterized paths so that all paths
      with the same parameterization (same set of required outer rels) for the
      same relation will have the same rowcount estimate.  We cache the rowcount
      estimates to ensure that property, and hopefully save a few cycles too.
      Doing this makes it practical for add_path_precheck to operate without
      a rowcount estimate: it need only assume that paths with different
      parameterizations never dominate each other, which is close enough to
      true anyway for coarse filtering, because normally a more-parameterized
      path should yield fewer rows thanks to having more join clauses to apply.
      
      In add_path, we do the full nine yards of comparing rowcount estimates
      along with everything else, so that we can discard parameterized paths that
      don't actually have an advantage.  This fixes some issues I'd found with
      add_path rejecting parameterized paths on the grounds that they were more
      expensive than not-parameterized ones, even though they yielded many fewer
      rows and hence would be cheaper once subsequent joining was considered.
      
      To make the same-rowcounts assumption valid, we have to require that any
      parameterized path enforce *all* join clauses that could be obtained from
      the particular set of outer rels, even if not all of them are useful for
      indexing.  This is required at both base scans and joins.  It's a good
      thing anyway since the net impact is that join quals are checked at the
      lowest practical level in the join tree.  Hence, discard the original
      rather ad-hoc mechanism for choosing parameterization joinquals, and build
      a better one that has a more principled rule for when clauses can be moved.
      The original rule was actually buggy anyway for lack of knowledge about
      which relations are part of an outer join's outer side; getting this right
      requires adding an outer_relids field to RestrictInfo.
      5b7b5518
    • P
      Untabify DSSSL and XSL files and add to check-tabs target · cd1f4db4
      Peter Eisentraut 提交于
      Like with SGML files, using tabs in these files is confusing and
      unnecessary.
      cd1f4db4
  7. 18 4月, 2012 10 次提交
  8. 17 4月, 2012 2 次提交
  9. 16 4月, 2012 4 次提交
  10. 15 4月, 2012 1 次提交
  11. 14 4月, 2012 5 次提交