1. 23 Feb, 2010 5 commits
  2. 22 Feb, 2010 11 commits
  3. 20 Feb, 2010 6 commits
  4. 19 Feb, 2010 13 commits
  5. 18 Feb, 2010 5 commits
    • Tom Lane's avatar
      Volatile-ize all five places where we expect a PG_TRY block to restore · a232f30f
      Tom Lane authored
      old memory context in plpython.  Before only one of them was marked
      volatile, but per report from Zdenek Kotala, some compilers do the
      wrong thing here.
      a232f30f
    • Tom Lane's avatar
      Provide some rather hokey ways for EXPLAIN to print FieldStore and assignment · 858d1699
      Tom Lane authored
      ArrayRef expressions that are not in the immediate context of an INSERT or
      UPDATE targetlist.  Such cases never arise in stored rules, so ruleutils.c
      hadn't tried to handle them.  However, they do occur in the targetlists of
      plans derived from such statements, and now that EXPLAIN VERBOSE tries to
      print targetlists, we need some way to deal with the case.
      
      I chose to represent an assignment ArrayRef as "array[subscripts] := source",
      which is fairly reasonable and doesn't omit any information.  However,
      FieldStore is problematic because the planner will fold multiple assignments
      to fields of the same composite column into one FieldStore, resulting in a
      structure that is hard to understand at all, let alone display comprehensibly.
      So in that case I punted and just made it print the source expression(s).
      
      Backpatch to 8.4 --- the lack of functionality exists in older releases,
      but doesn't seem to be important for lack of anything that would call it.
      858d1699
    • Tom Lane's avatar
      Fix ExecEvalArrayRef to pass down the old value of the array element or slice · 11d5ba97
      Tom Lane authored
      being assigned to, in case the expression to be assigned is a FieldStore that
      would need to modify that value.  The need for this was foreseen some time
      ago, but not implemented then because we did not have arrays of composites.
      Now we do, but the point evidently got overlooked in that patch.  Net result
      is that updating a field of an array element doesn't work right, as
      illustrated if you try the new regression test on an unpatched backend.
      Noted while experimenting with EXPLAIN VERBOSE, which has also got some issues
      in this area.
      
      Backpatch to 8.3, where arrays of composites were introduced.
      11d5ba97
    • Heikki Linnakangas's avatar
      Fix pq_getbyte_if_available() function. It was confused on what it · 3e87ba6e
      Heikki Linnakangas authored
      returns if no data is immediately available. Patch by me with numerous
      fixes from Fujii Masao and Magnus Hagander.
      3e87ba6e
    • Itagaki Takahiro's avatar
      date_recv should accept infinities. · 1a1ad632
      Itagaki Takahiro authored
      Reported by James William Pye.
      1a1ad632