1. 02 Oct, 2003 3 commits
  2. 01 Oct, 2003 2 commits
  3. 30 Sep, 2003 4 commits
  4. 29 Sep, 2003 30 commits
  5. 28 Sep, 2003 1 commit
    • Tom Lane's avatar
      Restructure plpgsql's caching of 'simple' expression evaluation trees · 8b510838
      Tom Lane authored
      to be less dangerous, and often faster as well.  ExprState trees are
      not kept across transaction boundaries; this eliminates problems with
      resource leakage in failed transactions.  But by keeping them in a
      per-transaction EState, we can safely arrange for a single ExprState
      to be shared by all the expression evaluations done in a given plpgsql
      function call.  (Formerly it seemed necessary to create and destroy an
      ExprState for each exec_eval_simple_expr() call.)  This saves time in
      any scenario where a plpgsql function executes more than one expression.
      Seems to be about as fast as 7.3 for simple cases, and significantly
      faster for functions that do a lot of calculations.
      8b510838