1. 19 Feb, 2010 3 commits
  2. 18 Feb, 2010 9 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
    • Bruce Momjian's avatar
      Add missing close tag. · 9529f4d5
      Bruce Momjian authored
      9529f4d5
    • Bruce Momjian's avatar
      Wordsmithing of HS and SR documentation, with some wording improvements · 1bee1a37
      Bruce Momjian authored
      from Erik Rijkers too.
      1bee1a37
    • Tom Lane's avatar
      Force READY portals into FAILED state when a transaction or subtransaction · 7981c342
      Tom Lane authored
      is aborted, if they were created within the failed xact.  This prevents
      ExecutorEnd from being run on them, which is a good idea because they may
      contain references to tables or other objects that no longer exist.
      In particular this is hazardous when auto_explain is active, but it's
      really rather surprising that nobody has seen an issue with this before.
      I'm back-patching this to 8.4, since that's the first version that contains
      auto_explain or an ExecutorEnd hook, but I wonder whether we shouldn't
      back-patch further.
      7981c342
    • Tom Lane's avatar
      Fix up pg_dump's treatment of large object ownership and ACLs. We now emit · c0d5be5d
      Tom Lane authored
      a separate archive entry for each BLOB, and use pg_dump's standard methods
      for dealing with its ownership, ACL if any, and comment if any.  This means
      that switches like --no-owner and --no-privileges do what they're supposed
      to.  Preliminary testing says that performance is still reasonable even
      with many blobs, though we'll have to see how that shakes out in the field.
      
      KaiGai Kohei, revised by me
      c0d5be5d
  3. 17 Feb, 2010 10 commits
  4. 16 Feb, 2010 13 commits
  5. 15 Feb, 2010 5 commits