1. 11 Sep, 2008 1 commit
    • Alvaro Herrera's avatar
      Initialize the minimum frozen Xid in vac_update_datfrozenxid using · d53a5668
      Alvaro Herrera authored
      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
  2. 10 Sep, 2008 5 commits
  3. 09 Sep, 2008 2 commits
  4. 08 Sep, 2008 4 commits
  5. 07 Sep, 2008 4 commits
  6. 06 Sep, 2008 2 commits
    • Tom Lane's avatar
      Adjust psql's new \ef command to present an empty CREATE FUNCTION template · 409c144d
      Tom Lane authored
      for editing if no function name is specified.  This seems a much cleaner way
      to offer that functionality than the original patch had.  In passing,
      de-clutter the error displays that are given for a bogus function-name
      argument, and standardize on "$function$" as the default delimiter for the
      function body.  (The original coding would use the shortest possible
      dollar-quote delimiter, which seems to create unnecessarily high risk of
      later conflicts with the user-modified function body.)
      409c144d
    • Tom Lane's avatar
      Implement a psql command "\ef" to edit the definition of a function. · 2c863ca8
      Tom Lane authored
      In support of that, create a backend function pg_get_functiondef().
      The psql command is functional but maybe a bit rough around the edges...
      
      Abhijit Menon-Sen
      2c863ca8
  7. 05 Sep, 2008 7 commits
  8. 04 Sep, 2008 1 commit
  9. 03 Sep, 2008 1 commit
  10. 02 Sep, 2008 1 commit
  11. 01 Sep, 2008 6 commits
  12. 30 Aug, 2008 2 commits
  13. 29 Aug, 2008 4 commits