1. 09 1月, 2007 4 次提交
    • T
      Support ORDER BY ... NULLS FIRST/LAST, and add ASC/DESC/NULLS FIRST/NULLS LAST · 44317582
      Tom Lane 提交于
      per-column options for btree indexes.  The planner's support for this is still
      pretty rudimentary; it does not yet know how to plan mergejoins with
      nondefault ordering options.  The documentation is pretty rudimentary, too.
      I'll work on improving that stuff later.
      
      Note incompatible change from prior behavior: ORDER BY ... USING will now be
      rejected if the operator is not a less-than or greater-than member of some
      btree opclass.  This prevents less-than-sane behavior if an operator that
      doesn't actually define a proper sort ordering is selected.
      44317582
    • P
      Prevent duplicate attribute names in XMLELEMENT. · 3a32ba2f
      Peter Eisentraut 提交于
      3a32ba2f
    • T
      Tweak joinlist creation to avoid generating useless one-element subproblems · 19f9376b
      Tom Lane 提交于
      when collapsing of JOIN trees is stopped by join_collapse_limit.  For instance
      a list of 11 LEFT JOINs with limit 8 now produces something like
      	((1 2 3 4 5 6 7 8) 9 10 11 12)
      instead of
      	(((1 2 3 4 5 6 7 8) (9)) 10 11 12)
      The latter structure is really only required for a FULL JOIN.
      Noted while studying an example from Shane Ambler.
      19f9376b
    • T
      Remove cost_hashjoin's very ancient hack to discourage (once, entirely forbid) · 9a9a143a
      Tom Lane 提交于
      hash joins with the estimated-larger relation on the inside.  There are
      several cases where doing that makes perfect sense, and in cases where it
      doesn't, the regular cost computation really ought to be able to figure that
      out.  Make some marginal tweaks in said computation to try to get results
      approximating reality a bit better.  Per an example from Shane Ambler.
      
      Also, fix an oversight in the original patch to add seq_page_cost: the costs
      of spilling a hash join to disk should be scaled by seq_page_cost.
      9a9a143a
  2. 08 1月, 2007 1 次提交
  3. 07 1月, 2007 6 次提交
  4. 06 1月, 2007 10 次提交
  5. 05 1月, 2007 4 次提交
  6. 04 1月, 2007 6 次提交
    • B
    • T
      Fix erroneous implementation of -s in postmaster.c (the switch doesn't take · eeb21891
      Tom Lane 提交于
      an optarg).  Add some comments noting that code in three different files has
      to be kept in sync.  Fix erroneous description of -S switch (it sets work_mem
      not silent_mode), and do some light copy-editing elsewhere in postgres-ref.
      eeb21891
    • T
      Fix regex_fixed_prefix() to cope reasonably well with regex patterns of the · d6061d2f
      Tom Lane 提交于
      form '^(foo)$'.  Before, these could never be optimized into indexscans.
      The recent changes to make psql and pg_dump generate such patterns (for \d
      commands and -t and related switches, respectively) therefore represented
      a big performance hit for people with large pg_class catalogs, as seen in
      recent gripe from Erik Jones.  While at it, be more paranoid about
      case-sensitivity checking in multibyte encodings, and fix some other
      corner cases in which a regex might be interpreted too liberally.
      d6061d2f
    • B
      Update pow() tests to check for both errno==EDOM _and_ result==Nan, and · 9c88830e
      Bruce Momjian 提交于
      document why this happens.  Remove exp() errno check because not needed.
      9c88830e
    • T
      Fix erroneous error tests in pow/exp. · 812095d6
      Tom Lane 提交于
      812095d6
    • T
      Clean up smgr.c/md.c APIs as per discussion a couple months ago. Instead of · ef072219
      Tom Lane 提交于
      having md.c return a success/failure boolean to smgr.c, which was just going
      to elog anyway, let md.c issue the elog messages itself.  This allows better
      error reporting, particularly in cases such as "short read" or "short write"
      which Peter was complaining of.  Also, remove the kluge of allowing mdread()
      to return zeroes from a read-beyond-EOF: this is now an error condition
      except when InRecovery or zero_damaged_pages = true.  (Hash indexes used to
      require that behavior, but no more.)  Also, enforce that mdwrite() is to be
      used for rewriting existing blocks while mdextend() is to be used for
      extending the relation EOF.  This restriction lets us get rid of the old
      ad-hoc defense against creating huge files by an accidental reference to
      a bogus block number: we'll only create new segments in mdextend() not
      mdwrite() or mdread().  (Again, when InRecovery we allow it anyway, since
      we need to allow updates of blocks that were later truncated away.)
      Also, clean up the original makeshift patch for bug #2737: move the
      responsibility for padding relation segments to full length into md.c.
      ef072219
  7. 03 1月, 2007 9 次提交