1. 23 12月, 2006 1 次提交
    • T
      Restructure operator classes to allow improved handling of cross-data-type · a78fcfb5
      Tom Lane 提交于
      cases.  Operator classes now exist within "operator families".  While most
      families are equivalent to a single class, related classes can be grouped
      into one family to represent the fact that they are semantically compatible.
      Cross-type operators are now naturally adjunct parts of a family, without
      having to wedge them into a particular opclass as we had done originally.
      
      This commit restructures the catalogs and cleans up enough of the fallout so
      that everything still works at least as well as before, but most of the work
      needed to actually improve the planner's behavior will come later.  Also,
      there are not yet CREATE/DROP/ALTER OPERATOR FAMILY commands; the only way
      to create a new family right now is to allow CREATE OPERATOR CLASS to make
      one by default.  I owe some more documentation work, too.  But that can all
      be done in smaller pieces once this infrastructure is in place.
      a78fcfb5
  2. 22 12月, 2006 3 次提交
  3. 19 12月, 2006 2 次提交
  4. 18 12月, 2006 1 次提交
  5. 16 12月, 2006 3 次提交
    • A
      enable \timing oputput for \copy commands · 7bdc55cc
      Andrew Dunstan 提交于
      7bdc55cc
    • T
      Fix some planner bugs exposed by reports from Arjen van der Meijden. These · 281f4018
      Tom Lane 提交于
      are all in new-in-8.2 logic associated with indexability of ScalarArrayOpExpr
      (IN-clauses) or amortization of indexscan costs across repeated indexscans
      on the inside of a nestloop.  In particular:
      
      Fix some logic errors in the estimation for multiple scans induced by a
      ScalarArrayOpExpr indexqual.
      
      Include a small cost component in bitmap index scans to reflect the costs of
      manipulating the bitmap itself; this is mainly to prevent a bitmap scan from
      appearing to have the same cost as a plain indexscan for fetching a single
      tuple.
      
      Also add a per-index-scan-startup CPU cost component; while prior releases
      were clearly too pessimistic about the cost of repeated indexscans, the
      original 8.2 coding allowed the cost of an indexscan to effectively go to zero
      if repeated often enough, which is overly optimistic.
      
      Pay some attention to index correlation when estimating costs for a nestloop
      inner indexscan: this is significant when the plan fetches multiple heap
      tuples per iteration, since high correlation means those tuples are probably
      on the same or adjacent heap pages.
      281f4018
    • T
      Put JST back into the default set of timezone abbreviations; · 782d68e3
      Tom Lane 提交于
      was removed in an unexplainable moment of brain fade.
      782d68e3
  6. 15 12月, 2006 3 次提交
  7. 13 12月, 2006 3 次提交
  8. 11 12月, 2006 1 次提交
    • T
      Add a paramtypmod field to Param nodes. This is dead weight for Params · 9fa12ddd
      Tom Lane 提交于
      representing externally-supplied values, since the APIs that carry such
      values only specify type not typmod.  However, for PARAM_SUBLINK Params
      it is handy to carry the typmod of the sublink's output column.  This
      is a much cleaner solution for the recently reported 'could not find
      pathkey item to sort' and 'failed to find unique expression in subplan
      tlist' bugs than my original 8.2-compatible patch.  Besides, someday we
      might want to support typmods for external parameters ...
      9fa12ddd
  9. 09 12月, 2006 1 次提交
    • T
      Remove the logId/logSeg fields from pg_control, because they are not needed · 0cb91ccb
      Tom Lane 提交于
      in normal operation, and we can avoid rewriting pg_control at every log
      segment switch if we don't insist that these values be valid.  Reducing
      the number of pg_control updates is a good idea for both performance and
      reliability.  It does make pg_resetxlog's life a bit harder, but that seems
      a good tradeoff; and anyway the change to pg_resetxlog amounts to automating
      something people formerly needed to do by hand, namely look at the existing
      pg_xlog files to make sure the new WAL start point was past them.
      
      In passing, change the wording of xlog.c's "database system was interrupted"
      messages: describe the pg_control timestamp as "last known up at" rather than
      implying it is the exact time of service interruption.  With this change the
      timestamp will generally be the time of the last checkpoint, which could be
      many minutes before the failure; and we've already seen indications that
      people tend to misinterpret the old wording.
      
      initdb forced due to change in pg_control layout.  Simon Riggs and Tom Lane
      0cb91ccb
  10. 08 12月, 2006 3 次提交
  11. 07 12月, 2006 3 次提交
    • T
      Fix planning of SubLinks to ensure that Vars generated from transformation of · b307d7a6
      Tom Lane 提交于
      a sublink's test expression have the correct vartypmod, rather than defaulting
      to -1.  There's at least one place where this is important because we're
      expecting these Vars to be exactly equal() to those appearing in the subplan
      itself.  This is a pretty klugy solution --- it would likely be cleaner to
      change Param nodes to include a typmod field --- but we can't do that in the
      already-released 8.2 branch.
      Per bug report from Hubert Fongarnand.
      b307d7a6
    • N
      Add a txn_start column to pg_stat_activity. This makes it easier to · 886a02d1
      Neil Conway 提交于
      identify long-running transactions. Since we already need to record
      the transaction-start time (e.g. for now()), we don't need any
      additional system calls to report this information.
      
      Catversion bumped, initdb required.
      886a02d1
    • N
      Various improvements to the GUC description strings. Punctuate and · dd740e1f
      Neil Conway 提交于
      capitalize the strings like sentences. Remove unnecessarily
      specific descriptions of the units used by GUC variables, since
      we now allow any reasonable unit to be specified.
      dd740e1f
  12. 05 12月, 2006 2 次提交
  13. 04 12月, 2006 2 次提交
  14. 02 12月, 2006 3 次提交
  15. 01 12月, 2006 2 次提交
    • T
      Minor adjustments to make failures in startup/shutdown behave more cleanly. · 5f60086e
      Tom Lane 提交于
      StartupXLOG and ShutdownXLOG no longer need to be critical sections, because
      in all contexts where they are invoked, elog(ERROR) would be translated to
      elog(FATAL) anyway.  (One change in bgwriter.c is needed to make this true:
      set ExitOnAnyError before trying to exit.  This is a good fix anyway since
      the existing code would have gone into an infinite loop on elog(ERROR) during
      shutdown.)  That avoids a misleading report of PANIC during semi-orderly
      failures.  Modify the postmaster to include the startup process in the set of
      processes that get SIGTERM when a fast shutdown is requested, and also fix it
      to not try to restart the bgwriter if the bgwriter fails while trying to write
      the shutdown checkpoint.  Net result is that "pg_ctl stop -m fast" does
      something reasonable for a system in warm standby mode, and so should Unix
      system shutdown (ie, universal SIGTERM).  Per gripe from Stephen Harris and
      some corner-case testing of my own.
      5f60086e
    • T
      Fix bug with page deletion. If inner page is removed and it tries to · ef148d6b
      Teodor Sigaev 提交于
      remove page on next level linked from next inner page, ginScanToDelete()
      wrongly sets parent page. Bug reveals when many item pointers from index
      was deleted ( several hundred thousands).
      
      Bug is discovered by hubert depesz lubaczewski <depesz@gmail.com>
      
      Suppose, we need rc2 before release...
      ef148d6b
  16. 30 11月, 2006 2 次提交
  17. 29 11月, 2006 3 次提交
    • P
      Spelling fix · 0943799f
      Peter Eisentraut 提交于
      0943799f
    • T
      Update timezone data to tzdata2006p zic distribution. It seems Western · 765cc158
      Tom Lane 提交于
      Australia decided to institute DST with one month's notice ... way to go,
      politicians.
      765cc158
    • T
      Mark to_char(timestamp without timezone) as stable, not immutable, since its · 64353640
      Tom Lane 提交于
      result now depends on the lc_messages setting, as noted by Bruce.
      Also, mark to_number() and the numeric-type variants of to_char() as stable,
      because their results depend on lc_numeric; this is a longstanding oversight.
      Also, mark to_date() and to_char(interval) as stable; although these appear
      not to depend on any GUC variables as of CVS HEAD, that seems a property
      unlikely to survive future improvements.  It seems best to mark all the
      formatting functions stable and be done with it.
      catversion not bumped, because this does not seem critical enough to force
      a post-RC1 initdb, and anyway we cannot do so in the back branches.
      64353640
  18. 28 11月, 2006 2 次提交