1. 07 8月, 2009 3 次提交
  2. 06 8月, 2009 5 次提交
  3. 05 8月, 2009 10 次提交
  4. 04 8月, 2009 3 次提交
    • T
      Cause pg_proc.probin to be declared as text, not bytea. Everything was · f192e4a5
      Tom Lane 提交于
      already treating it as text anyway, to the point that I couldn't find anything
      to change except the datatype markings in catalog/*.h.  The only effect that
      the bytea declaration had was to cause byteaout() to be invoked when pg_dump
      (or another client program) inspected the column value.  Since pg_dump wasn't
      expecting that, but just treating what it got as text, the net result is that
      dump and reload would mangle any backslashes or non-ASCII characters in the
      filename string for a C-language function.  That is a very long-standing bug,
      but given the lack of field complaints it doesn't seem worth trying to find
      a back-patchable fix.  We'll just make this change to fix it going forward.
      
      This change will also forestall problems after the planned change to let bytea
      emit hex output instead of escaped characters.
      f192e4a5
    • J
      Implement has_sequence_privilege() · be6bca23
      Joe Conway 提交于
      Add family of functions that did not exist earlier,
      mainly due to historical omission. Original patch by
      Abhijit Menon-Sen, with review and modifications by
      Joe Conway. catversion.h bumped.
      be6bca23
    • T
      7ffb14f9
  5. 03 8月, 2009 2 次提交
    • T
      Multi-threaded version of pgbench contributed by ITAGAKI Takahiro, · 3da0dfb4
      Tatsuo Ishii 提交于
      reviewed by Greg Smith and Josh Williams.
      
      Following is the proposal from ITAGAKI Takahiro:
      
      Pgbench is a famous tool to measure postgres performance, but nowadays
      it does not work well because it cannot use multiple CPUs. On the other
      hand, postgres server can use CPUs very well, so the bottle-neck of
      workload is *in pgbench*.
      
      Multi-threading would be a solution. The attached patch adds -j
      (number of jobs) option to pgbench. If the value N is greater than 1,
      pgbench runs with N threads. Connections are equally-divided into
      them (ex. -c64 -j4 => 4 threads with 16 connections each). It can
      run on POSIX platforms with pthread and on Windows with win32 threads.
      
      Here are results of multi-threaded pgbench runs on Fedora 11 with intel
      core i7 (8 logical cores = 4 physical cores * HT). -j8 (8 threads) was
      the best and the tps is 4.5 times of -j1, that is a traditional result.
      
      $ pgbench -i -s10
      $ pgbench -n -S -c64 -j1   =>  tps = 11600.158593
      $ pgbench -n -S -c64 -j2   =>  tps = 17947.100954
      $ pgbench -n -S -c64 -j4   =>  tps = 26571.124001
      $ pgbench -n -S -c64 -j8   =>  tps = 52725.470403
      $ pgbench -n -S -c64 -j16  =>  tps = 38976.675319
      $ pgbench -n -S -c64 -j32  =>  tps = 28998.499601
      $ pgbench -n -S -c64 -j64  =>  tps = 26701.877815
      
      Is it acceptable to use pthread in contrib module?
      If ok, I will add the patch to the next commitfest.
      3da0dfb4
    • T
      Add ALTER TABLE ... ALTER COLUMN ... SET STATISTICS DISTINCT · 90725929
      Tom Lane 提交于
      Robert Haas
      90725929
  6. 02 8月, 2009 2 次提交
  7. 01 8月, 2009 1 次提交
    • T
      Create a multiplexing structure for signals to Postgres child processes. · 2487d872
      Tom Lane 提交于
      This patch gets us out from under the Unix limitation of two user-defined
      signal types.  We already had done something similar for signals directed to
      the postmaster process; this adds multiplexing for signals directed to
      backends and auxiliary processes (so long as they're connected to shared
      memory).
      
      As proof of concept, replace the former usage of SIGUSR1 and SIGUSR2
      for backends with use of the multiplexing mechanism.  There are still some
      hard-wired definitions of SIGUSR1 and SIGUSR2 for other process types,
      but getting rid of those doesn't seem interesting at the moment.
      
      Fujii Masao
      2487d872
  8. 30 7月, 2009 4 次提交
    • M
      Make sure FD_SETSIZE is set before we include any Windows · a23c6415
      Magnus Hagander 提交于
      header files.
      
      Josh Williams
      a23c6415
    • T
      Merge the Constraint and FkConstraint node types into a single type. · 060baf27
      Tom Lane 提交于
      This was foreseen to be a good idea long ago, but nobody had got round
      to doing it.  The recent patch for deferred unique constraints made
      transformConstraintAttrs() ugly enough that I decided it was time.
      This change will also greatly simplify parsing of deferred CHECK constraints,
      if anyone ever gets around to implementing that.
      
      While at it, add a location field to Constraint, and use that to provide
      an error cursor for some of the constraint-related error messages.
      060baf27
    • T
      Fix time_part and timetz_part (ie, EXTRACT() for those datatypes) to · 78aef14c
      Tom Lane 提交于
      include a fractional part in the output for MILLISECOND and SECOND cases,
      rather than truncating the source value.  This is what the float-timestamp
      code has always done, and it was clearly the code author's intent to do
      the same for integer timestamps, but he forgot about integer division in C.
      The other datatypes supported by EXTRACT() already do this correctly.
      
      Backpatch to 8.4, so that the default (integer) behavior of that branch will
      match the default (float) behavior of older branches.  Arguably we should
      patch further back, but it's possible that applications are expecting the
      broken behavior in older branches.  8.4 is new enough that expectations
      shouldn't be too settled.
      
      Per report from Greg Stark.
      78aef14c
    • T
      Support deferrable uniqueness constraints. · 25d9bf2e
      Tom Lane 提交于
      The current implementation fires an AFTER ROW trigger for each tuple that
      looks like it might be non-unique according to the index contents at the
      time of insertion.  This works well as long as there aren't many conflicts,
      but won't scale to massive unique-key reassignments.  Improving that case
      is a TODO item.
      
      Dean Rasheed
      25d9bf2e
  9. 29 7月, 2009 1 次提交
  10. 28 7月, 2009 3 次提交
  11. 27 7月, 2009 6 次提交