Skip to content
Snippets Groups Projects
  1. Aug 29, 2012
  2. Jun 10, 2012
  3. Feb 13, 2012
  4. Feb 07, 2012
  5. Jan 02, 2012
  6. Sep 04, 2011
    • Tom Lane's avatar
      Clean up the #include mess a little. · 1609797c
      Tom Lane authored
      walsender.h should depend on xlog.h, not vice versa.  (Actually, the
      inclusion was circular until a couple hours ago, which was even sillier;
      but Bruce broke it in the expedient rather than logically correct
      direction.)  Because of that poor decision, plus blind application of
      pgrminclude, we had a situation where half the system was depending on
      xlog.h to include such unrelated stuff as array.h and guc.h.  Clean up
      the header inclusion, and manually revert a lot of what pgrminclude had
      done so things build again.
      
      This episode reinforces my feeling that pgrminclude should not be run
      without adult supervision.  Inclusion changes in header files in particular
      need to be reviewed with great care.  More generally, it'd be good if we
      had a clearer notion of module layering to dictate which headers can sanely
      include which others ... but that's a big task for another day.
      1609797c
  7. Sep 01, 2011
  8. Apr 07, 2011
    • Tom Lane's avatar
      Revise the API for GUC variable assign hooks. · 2594cf0e
      Tom Lane authored
      The previous functions of assign hooks are now split between check hooks
      and assign hooks, where the former can fail but the latter shouldn't.
      Aside from being conceptually clearer, this approach exposes the
      "canonicalized" form of the variable value to guc.c without having to do
      an actual assignment.  And that lets us fix the problem recently noted by
      Bernd Helmle that the auto-tune patch for wal_buffers resulted in bogus
      log messages about "parameter "wal_buffers" cannot be changed without
      restarting the server".  There may be some speed advantage too, because
      this design lets hook functions avoid re-parsing variable values when
      restoring a previous state after a rollback (they can store a pre-parsed
      representation of the value instead).  This patch also resolves a
      longstanding annoyance about custom error messages from variable assign
      hooks: they should modify, not appear separately from, guc.c's own message
      about "invalid parameter value".
      2594cf0e
  9. Feb 27, 2011
    • Tom Lane's avatar
      Refactor the executor's API to support data-modifying CTEs better. · a874fe7b
      Tom Lane authored
      The originally committed patch for modifying CTEs didn't interact well
      with EXPLAIN, as noted by myself, and also had corner-case problems with
      triggers, as noted by Dean Rasheed.  Those problems show it is really not
      practical for ExecutorEnd to call any user-defined code; so split the
      cleanup duties out into a new function ExecutorFinish, which must be called
      between the last ExecutorRun call and ExecutorEnd.  Some Asserts have been
      added to these functions to help verify correct usage.
      
      It is no longer necessary for callers of the executor to call
      AfterTriggerBeginQuery/AfterTriggerEndQuery for themselves, as this is now
      done by ExecutorStart/ExecutorFinish respectively.  If you really need to
      suppress that and do it for yourself, pass EXEC_FLAG_SKIP_TRIGGERS to
      ExecutorStart.
      
      Also, refactor portal commit processing to allow for the possibility that
      PortalDrop will invoke user-defined code.  I think this is not actually
      necessary just yet, since the portal-execution-strategy logic forces any
      non-pure-SELECT query to be run to completion before we will consider
      committing.  But it seems like good future-proofing.
      a874fe7b
  10. Jan 01, 2011
  11. Sep 20, 2010
  12. Feb 26, 2010
  13. Feb 16, 2010
  14. Jan 06, 2010
  15. Jan 02, 2010
  16. Dec 15, 2009
  17. Dec 12, 2009
    • Robert Haas's avatar
      Export ExplainBeginOutput() and ExplainEndOutput() for auto_explain. · 02490d46
      Robert Haas authored
      Without these functions, anyone outside of explain.c can't actually use
      ExplainPrintPlan, because the ExplainState won't be initialized properly.
      The user-visible result of this was a crash when using auto_explain with
      the JSON output format.
      
      Report by Euler Taveira de Oliveira.  Analysis by Tom Lane.  Patch by me.
      02490d46
  18. Dec 11, 2009
  19. Aug 10, 2009
  20. Jul 27, 2009
    • Tom Lane's avatar
      Extend EXPLAIN to allow generic options to be specified. · d4382c4a
      Tom Lane authored
      The original syntax made it difficult to add options without making them
      into reserved words.  This change parenthesizes the options to avoid that
      problem, and makes provision for an explicit (and perhaps non-Boolean)
      value for each option.  The original syntax is still supported, but only
      for the two original options ANALYZE and VERBOSE.
      
      As a test case, add a COSTS option that can suppress the planner cost
      estimates.  This may be useful for including EXPLAIN output in the regression
      tests, which are otherwise unable to cope with cross-platform variations in
      cost estimates.
      
      Robert Haas
      d4382c4a
  21. Jun 11, 2009
  22. Jan 05, 2009
  23. Jan 02, 2009
    • Tom Lane's avatar
      Tweak guc.c to allow underscores in the names of custom variable classes, · ccdb6627
      Tom Lane authored
      and change auto_explain's custom GUC variables to be named auto_explain.xxx
      not just explain.xxx.  Per discussion in connection with the
      pg_stat_statements patch, it seems like a good idea to have the convention
      that custom variable classes are named the same as their defining module.
      Committing separately since this should happen regardless of what happens
      with pg_stat_statements itself.
      ccdb6627
  24. Jan 01, 2009
  25. Nov 19, 2008
Loading