1. 27 Jan, 2010 3 commits
  2. 26 Jan, 2010 10 commits
  3. 25 Jan, 2010 3 commits
    • Tom Lane's avatar
      Add get_bit/set_bit functions for bit strings, paralleling those for bytea, · 9507c8a1
      Tom Lane authored
      and implement OVERLAY() for bit strings and bytea.
      
      In passing also convert text OVERLAY() to a true built-in, instead of
      relying on a SQL function.
      
      Leonardo F, reviewed by Kevin Grittner
      9507c8a1
    • Heikki Linnakangas's avatar
      Add note that PREPARE TRANSACTION is for transaction managers, not · 1d1f425f
      Heikki Linnakangas authored
      regular applications. Also add a comment pointing out that tab-complition
      for PREPARE TRANSACTION is missing on purpose.
      1d1f425f
    • Tom Lane's avatar
      Apply Tcl_Init() to the "hold" interpreter created by pltcl. · e7dcfd05
      Tom Lane authored
      You might think this is unnecessary since that interpreter is never used
      to run code --- but it turns out that's wrong.  As of Tcl 8.5, the "clock"
      command (alone among builtin Tcl commands) is partially implemented by
      loaded-on-demand Tcl code, which means that it fails if there's not
      unknown-command support, and also that it's impossible to run it directly
      in a safe interpreter.  The way they get around the latter is that
      Tcl_CreateSlave() automatically sets up an alias command that forwards any
      execution of "clock" in a safe slave interpreter to its parent interpreter.
      Thus, when attempting to execute "clock" in trusted pltcl, the command
      actually executes in the "hold" interpreter, where it will fail if
      unknown-command support hasn't been introduced by sourcing the standard
      init.tcl script, which is done by Tcl_Init().  (This is a pretty dubious
      design decision on the Tcl boys' part, if you ask me ... but they didn't.)
      
      Back-patch all the way.  It's not clear that anyone would try to use ancient
      versions of pltcl with a recent Tcl, but it's not clear they wouldn't, either.
      Also add a regression test using "clock", in branches that have regression
      test support for pltcl.
      
      Per recent trouble report from Kyle Bateman.
      e7dcfd05
  4. 24 Jan, 2010 3 commits
    • Joe Conway's avatar
      Rewrite dblink_record_internal() and dblink_fetch() to use a tuplestore · 56cbb611
      Joe Conway authored
      (SFRM_Materialize mode) to return tuples. Since we don't return from the
      dblink function in tuplestore mode, release the PGresult with a PG_CATCH
      block on error. Also rearrange to share the same code to materialize the
      tuplestore. Patch by Takahiro Itagaki.
      56cbb611
    • Tom Lane's avatar
      Fix assorted core dumps and Assert failures that could occur during · 875353b9
      Tom Lane authored
      AbortTransaction or AbortSubTransaction, when trying to clean up after an
      error that prevented (sub)transaction start from completing:
      * access to TopTransactionResourceOwner that might not exist
      * assert failure in AtEOXact_GUC, if AtStart_GUC not called yet
      * assert failure or core dump in AfterTriggerEndSubXact, if
        AfterTriggerBeginSubXact not called yet
      
      Per testing by injecting elog(ERROR) at successive steps in StartTransaction
      and StartSubTransaction.  It's not clear whether all of these cases could
      really occur in the field, but at least one of them is easily exposed by
      simple stress testing, as per my accidental discovery yesterday.
      875353b9
    • Magnus Hagander's avatar
      Add missing closing tag. · 74f4be6c
      Magnus Hagander authored
      74f4be6c
  5. 23 Jan, 2010 3 commits
  6. 22 Jan, 2010 8 commits
  7. 21 Jan, 2010 6 commits
  8. 20 Jan, 2010 4 commits