1. 15 Dec, 2008 3 commits
    • Tom Lane's avatar
      Reduce the scaling factor for attstattarget to number-of-lexemes from 100 · 301194f8
      Tom Lane authored
      to 10, to compensate for the recent change in default statistics target.
      The original number was pulled out of the air anyway :-(, but it was picked
      in the context of the old default, so holding the default size of the
      MCELEM array constant seems the best thing.  Per discussion.
      301194f8
    • Tom Lane's avatar
      Remove our dependencies on MB_CUR_MAX in favor of believing that · b4d64a6d
      Tom Lane authored
      pg_database_encoding_max_length() predicts the maximum character length
      returned by wchar2char().  Per Hiroshi Inoue, MB_CUR_MAX isn't usable on
      Windows because we allow encoding = UTF8 when the locale says differently;
      and getting rid of it seems a good idea on general principles because it
      narrows our dependence on libc's locale API just a little bit more.
      
      Also install a check for overflow of the buffer size computation.
      b4d64a6d
    • Magnus Hagander's avatar
      Support specifying filename for SSL certificate, key, root certificate store · 5f3724dd
      Magnus Hagander authored
      and certificate revokation list by using connection parameters or environment
      variables.
      
      Original patch by Mark Woodward, heavily reworked by Alvaro Herrera and
      Magnus Hagander.
      5f3724dd
  2. 14 Dec, 2008 2 commits
  3. 13 Dec, 2008 3 commits
    • Tom Lane's avatar
      Increase the default value of default_statistics_target from 10 to 100, · 65e3ea76
      Tom Lane authored
      and its maximum value from 1000 to 10000.  ALTER TABLE SET STATISTICS
      similarly now allows a value up to 10000.  Per discussion.
      65e3ea76
    • Tom Lane's avatar
      Remove pg_plan_queries()'s now-useless needSnapshot parameter. It's useless · b69bde77
      Tom Lane authored
      in 8.3, too, but I'm not back-patching this change since it would break any
      extension modules that might be calling that function.
      b69bde77
    • Tom Lane's avatar
      Fix failure to ensure that a snapshot is available to datatype input functions · c98a9237
      Tom Lane authored
      when they are invoked by the parser.  We had been setting up a snapshot at
      plan time but really it needs to be done earlier, before parse analysis.
      Per report from Dmitry Koterov.
      
      Also fix two related problems discovered while poking at this one:
      exec_bind_message called datatype input functions without establishing a
      snapshot, and SET CONSTRAINTS IMMEDIATE could call trigger functions without
      establishing a snapshot.
      
      Backpatch to 8.2.  The underlying problem goes much further back, but it is
      masked in 8.1 and before because we didn't attempt to invoke domain check
      constraints within datatype input.  It would only be exposed if a C-language
      datatype input function used the snapshot; which evidently none do, or we'd
      have heard complaints sooner.  Since this code has changed a lot over time,
      a back-patch is hardly risk-free, and so I'm disinclined to patch further
      than absolutely necessary.
      c98a9237
  4. 12 Dec, 2008 2 commits
  5. 11 Dec, 2008 4 commits
  6. 10 Dec, 2008 2 commits
  7. 09 Dec, 2008 3 commits
  8. 08 Dec, 2008 4 commits
  9. 07 Dec, 2008 2 commits
  10. 06 Dec, 2008 3 commits
  11. 05 Dec, 2008 1 commit
  12. 04 Dec, 2008 7 commits
  13. 03 Dec, 2008 4 commits
    • Magnus Hagander's avatar
      Properly unregister OpenSSL callbacks when libpq is done with · 4e816286
      Magnus Hagander authored
      it's connection. This is required for applications that unload
      the libpq library (such as PHP) in which case we'd otherwise
      have pointers to these functions when they no longer exist.
      
      This needs a bit more testing before we can consider a backpatch,
      so not doing that yet.
      
      In passing, remove unused functions in backend/libpq.
      
      Bruce Momjian and Magnus Hagander, per report and analysis
      by Russell Smith.
      4e816286
    • Heikki Linnakangas's avatar
    • Heikki Linnakangas's avatar
      Introduce visibility map. The visibility map is a bitmap with one bit per · 608195a3
      Heikki Linnakangas authored
      heap page, where a set bit indicates that all tuples on the page are
      visible to all transactions, and the page therefore doesn't need
      vacuuming. It is stored in a new relation fork.
      
      Lazy vacuum uses the visibility map to skip pages that don't need
      vacuuming. Vacuum is also responsible for setting the bits in the map.
      In the future, this can hopefully be used to implement index-only-scans,
      but we can't currently guarantee that the visibility map is always 100%
      up-to-date.
      
      In addition to the visibility map, there's a new PD_ALL_VISIBLE flag on
      each heap page, also indicating that all tuples on the page are visible to
      all transactions. It's important that this flag is kept up-to-date. It
      is also used to skip visibility tests in sequential scans, which gives a
      small performance gain on seqscans.
      608195a3
    • Peter Eisentraut's avatar
      44ff9096