1. 09 Jan, 2010 4 commits
    • Andrew Dunstan's avatar
      Provide regression testing for plperlu, and for plperl+plperlu interaction. · 510f3502
      Andrew Dunstan authored
      The latter are only run if the platform can run both interpreters in the
      same backend.
      510f3502
    • Andrew Dunstan's avatar
      Build perlchunks.h for plperl on MSVC · 0346442b
      Andrew Dunstan authored
      0346442b
    • Tom Lane's avatar
      Fix makefile so it works for VPATH case. · c79640ef
      Tom Lane authored
      c79640ef
    • Andrew Dunstan's avatar
      Tidy up and refactor plperl.c. · a2b34b16
      Andrew Dunstan authored
      - Changed MULTIPLICITY check from runtime to compiletime.
          No loads the large Config module.
      - Changed plperl_init_interp() to return new interp
          and not alter the global interp_state
      - Moved plperl_safe_init() call into check_interp().
      - Removed plperl_safe_init_done state variable
          as interp_state now covers that role.
      - Changed plperl_create_sub() to take a plperl_proc_desc argument.
      - Simplified return value handling in plperl_create_sub.
      - Changed perl.com link in the docs to perl.org and tweaked
          wording to clarify that require, not use, is what's blocked.
      - Moved perl code in large multi-line C string literal macros
          out to plc_*.pl files.
      - Added a test2macro.pl utility to convert the plc_*.pl files to
          macros in a perlchunks.h file which is #included
      - Simplifed plperl_safe_init() slightly
      - Optimized pg_verifymbstr calls to avoid unneeded strlen()s.
      
      Patch from Tim Bunce, with minor editing from me.
      a2b34b16
  2. 08 Jan, 2010 4 commits
    • Michael Meskes's avatar
      Also update ChangerLog file. · 369494e4
      Michael Meskes authored
      369494e4
    • Tom Lane's avatar
      Fix oversight in EvalPlanQualFetch: after failing to lock a tuple because · 217dc525
      Tom Lane authored
      someone else has just updated it, we have to set priorXmax to that tuple's
      xmax (ie, the XID of the other xact that updated it) before looping back to
      examine the next tuple.  Obviously, the next tuple in the update chain should
      have that XID as its xmin, not the same xmin as the preceding tuple that we
      had been trying to lock.  The mismatch would cause the EvalPlanQual logic to
      decide that the tuple chain ended in a deletion, when actually there was a
      live tuple that should have been found.
      
      I inserted this error when recently adding logic to EvalPlanQual to make it
      lock tuples before returning them (as opposed to the old method in which the
      lock would occur much later, causing a great deal of work to be wasted if we
      only then discover someone else updated it).  Sigh.  Per today's report from
      Takahiro Itagaki of inconsistent results during pgbench runs.
      217dc525
    • Itagaki Takahiro's avatar
    • Itagaki Takahiro's avatar
      Add buffer access counters to pg_stat_statements. · 8964dbd5
      Itagaki Takahiro authored
      This uses the same infrastructure with EXPLAIN BUFFERS to support
      {shared|local}_blks_{hit|read|written} andtemp_blks_{read|written}
      columns in the pg_stat_statements view. The dumped file format
      also updated.
      
      Thanks to Robert Haas for the review.
      8964dbd5
  3. 07 Jan, 2010 14 commits
  4. 06 Jan, 2010 18 commits