Skip to content
Snippets Groups Projects
  1. Apr 30, 2007
    • Tom Lane's avatar
      Change the timestamps recorded in transaction commit/abort xlog records · c4320619
      Tom Lane authored
      from time_t to TimestampTz representation.  This provides full gettimeofday()
      resolution of the timestamps, which might be useful when attempting to
      do point-in-time recovery --- previously it was not possible to specify
      the stop point with sub-second resolution.  But mostly this is to get
      rid of TimestampTz-to-time_t conversion overhead during commit.  Per my
      proposal of a day or two back.
      c4320619
    • Tom Lane's avatar
      Fix oversight in my patch of yesterday: forgot to ensure that stats would · 641912b4
      Tom Lane authored
      still be forced out at backend exit.
      641912b4
    • Tom Lane's avatar
      Implement rate-limiting logic on how often backends will attempt to send · 957d08c8
      Tom Lane authored
      messages to the stats collector.  This avoids the problem that enabling
      stats_row_level for autovacuum has a significant overhead for short
      read-only transactions, as noted by Arjen van der Meijden.  We can avoid
      an extra gettimeofday call by piggybacking on the one done for WAL-logging
      xact commit or abort (although that doesn't help read-only transactions,
      since they don't WAL-log anything).
      
      In my proposal for this, I noted that we could change the WAL log entries
      for commit/abort to record full TimestampTz precision, instead of only
      time_t as at present.  That's not done in this patch, but will be committed
      separately.
      957d08c8
    • Tom Lane's avatar
      Marginal performance hack: use a dedicated routine instead of copyObject · 57b82bf3
      Tom Lane authored
      to copy nodes that are known to be Vars during plan reference adjustment.
      Saves useless memzero operation as well as the big switch in copyObject.
      57b82bf3
    • Tom Lane's avatar
      Marginal performance hack: avoid unnecessary work in expression_tree_mutator. · afaa6b98
      Tom Lane authored
      We can just palloc, instead of using makeNode, when we are going to
      overwrite the whole node anyway in the FLATCOPY macro.  Also, use
      FLATCOPY instead of copyObject for common node types Var and Const.
      afaa6b98
    • Tom Lane's avatar
      Marginal performance hack: remove the loop that used to be needed to · 39a333aa
      Tom Lane authored
      look through a freelist for a chunk of adequate size.  For a long time
      now, all elements of a given freelist have been exactly the same
      allocated size, so we don't need a loop.  Since the loop never iterated
      more than once, you'd think this wouldn't matter much, but it makes a
      noticeable savings in a simple test --- perhaps because the compiler
      isn't optimizing on a mistaken assumption that the loop would repeat.
      AllocSetAlloc is called often enough that saving even a couple of
      instructions is worthwhile.
      39a333aa
  2. Apr 29, 2007
  3. Apr 28, 2007
    • Tom Lane's avatar
      Modify processing of DECLARE CURSOR and EXPLAIN so that they can resolve the · bbbe825f
      Tom Lane authored
      types of unspecified parameters when submitted via extended query protocol.
      This worked in 8.2 but I had broken it during plancache changes.  DECLARE
      CURSOR is now treated almost exactly like a plain SELECT through parse
      analysis, rewrite, and planning; only just before sending to the executor
      do we divert it away to ProcessUtility.  This requires a special-case check
      in a number of places, but practically all of them were already special-casing
      SELECT INTO, so it's not too ugly.  (Maybe it would be a good idea to merge
      the two by treating IntoClause as a form of utility statement?  Not going to
      worry about that now, though.)  That approach doesn't work for EXPLAIN,
      however, so for that I punted and used a klugy solution of running parse
      analysis an extra time if under extended query protocol.
      bbbe825f
  4. Apr 27, 2007
  5. Apr 26, 2007
  6. Apr 25, 2007
  7. Apr 24, 2007
  8. Apr 23, 2007
  9. Apr 22, 2007
  10. Apr 21, 2007
Loading