1. 11 9月, 2008 5 次提交
    • A
      Initialize the minimum frozen Xid in vac_update_datfrozenxid using · d53a5668
      Alvaro Herrera 提交于
      GetOldestXmin() instead of RecentGlobalXmin; this is safer because we do not
      depend on the latter being correctly set elsewhere, and while it is more
      expensive, this code path is not performance-critical.  This is a real
      risk for autovacuum, because it can execute whole cycles without doing
      a single vacuum, which would mean that RecentGlobalXmin would stay at its
      initialization value, FirstNormalTransactionId, causing a bogus value to be
      inserted in pg_database.  This bug could explain some recent reports of
      failure to truncate pg_clog.
      
      At the same time, change the initialization of RecentGlobalXmin to
      InvalidTransactionId, and ensure that it's set to something else whenever
      it's going to be used.  Using it as FirstNormalTransactionId in HOT page
      pruning could incur in data loss.  InitPostgres takes care of setting it
      to a valid value, but the extra checks are there to prevent "special"
      backends from behaving in unusual ways.
      
      Per Tom Lane's detailed problem dissection in 29544.1221061979@sss.pgh.pa.us
      d53a5668
    • T
      Tweak newly added set_config_sourcefile() so that the target record · b8646012
      Tom Lane 提交于
      isn't left corrupt if guc_strdup should fail.
      b8646012
    • T
      Make our parsing of INTERVAL literals spec-compliant (or at least a heck of · f867339c
      Tom Lane 提交于
      a lot closer than it was before).  To do this, tweak coerce_type() to pass
      through the typmod information when invoking interval_in() on an UNKNOWN
      constant; then fix DecodeInterval to pay attention to the typmod when deciding
      how to interpret a units-less integer value.  I changed one or two other
      details as well.  I believe the code now reacts as expected by spec for all
      the literal syntaxes that are specifically enumerated in the spec.  There
      are corner cases involving strings that don't exactly match the set of fields
      called out by the typmod, for which we might want to tweak the behavior some
      more; but I think this is an area of user friendliness rather than spec
      compliance.  There remain some non-compliant details about the SQL syntax
      (as opposed to what's inside the literal string); but at least we'll throw
      error rather than silently doing the wrong thing in those cases.
      f867339c
    • A
      Add "source file" and "source line" information to each GUC variable. · 3b9ec468
      Alvaro Herrera 提交于
      initdb forced due to changes in the pg_settings view.
      
      Magnus Hagander and Alvaro Herrera.
      3b9ec468
    • T
      Avoid using sprintf() for a simple octal conversion in PQescapeByteaInternal. · bacf7b20
      Tom Lane 提交于
      Improves performance, per suggestion from Rudolf Leitgeb (bug #4414).
      The backend did this right already, but not libpq.
      bacf7b20
  2. 10 9月, 2008 2 次提交
  3. 09 9月, 2008 2 次提交
  4. 08 9月, 2008 4 次提交
  5. 07 9月, 2008 4 次提交
  6. 06 9月, 2008 6 次提交
  7. 05 9月, 2008 2 次提交
  8. 04 9月, 2008 2 次提交
  9. 03 9月, 2008 1 次提交
  10. 02 9月, 2008 5 次提交
  11. 01 9月, 2008 1 次提交
  12. 30 8月, 2008 5 次提交
  13. 29 8月, 2008 1 次提交