1. 29 Jun, 2007 3 commits
    • Tom Lane's avatar
      Fix computation of PG_VERSION_NUM by configure: remove unnecessary and · c786796d
      Tom Lane authored
      unportable backslashes in awk script (per Patrick Welche), and add
      brackets to prevent autoconf from mangling sed's regexp (the sed call
      here never did what was expected).
      c786796d
    • Tom Lane's avatar
      Add a note that pg_start_backup will take awhile because of new · 4303c0fd
      Tom Lane authored
      distributed checkpoint behavior.  Explain how to work around this
      by issuing a manual CHECKPOINT command.  Per discussion with Heikki.
      4303c0fd
    • Tom Lane's avatar
      Fix a passel of ancient bugs in to_char(), including two distinct buffer · 6faf7956
      Tom Lane authored
      overruns (neither of which seem likely to be exploitable as security holes,
      fortunately, since the provoker can't control the data written).  One of
      these is due to choosing to stomp on the output of a called function, which
      is bad news in any case; make it treat the called functions' results as
      read-only.  Avoid some unnecessary palloc/pfree traffic too; it's not
      really helpful to free small temporary objects, and again this is presuming
      more than it ought to about the nature of the results of called functions.
      Per report from Patrick Welche and additional code-reading by Imad.
      6faf7956
  2. 28 Jun, 2007 4 commits
  3. 26 Jun, 2007 3 commits
  4. 25 Jun, 2007 2 commits
  5. 23 Jun, 2007 1 commit
    • Tom Lane's avatar
      Separate parse-analysis for utility commands out of parser/analyze.c · 46379d6e
      Tom Lane authored
      (which now deals only in optimizable statements), and put that code
      into a new file parser/parse_utilcmd.c.  This helps clarify and enforce
      the design rule that utility statements shouldn't be processed during
      the regular parse analysis phase; all interpretation of their meaning
      should happen after they are given to ProcessUtility to execute.
      (We need this because we don't retain any locks for a utility statement
      that's in a plan cache, nor have any way to detect that it's stale.)
      
      We are also able to simplify the API for parse_analyze() and related
      routines, because they will now always return exactly one Query structure.
      
      In passing, fix bug #3403 concerning trying to add a serial column to
      an existing temp table (this is largely Heikki's work, but we needed
      all that restructuring to make it safe).
      46379d6e
  6. 22 Jun, 2007 2 commits
  7. 21 Jun, 2007 4 commits
  8. 20 Jun, 2007 7 commits
  9. 19 Jun, 2007 3 commits
  10. 18 Jun, 2007 3 commits
  11. 17 Jun, 2007 2 commits
    • Tom Lane's avatar
      Marginal hacking to improve the speed of COPY OUT. I had found in a bit of · 011b51cb
      Tom Lane authored
      profiling that CopyAttributeOutText was taking an unreasonable fraction of
      the backend run time (like 66%!) on the following trivial test case:
      
      $ time psql -c "copy (select repeat('xyzzy',50) from generate_series(1,10000000)) to stdout" regression >/dev/null
      
      The time is all being spent on scanning the string for characters to be
      escaped, which most of the time there aren't any of.  Some tweaking to take
      as many tests as possible out of the inner loop reduced the runtime of this
      example by more than 10%.  In a real-world case it wouldn't be as useful
      a speedup, but it still seems worth adding a few lines here.
      011b51cb
    • Tom Lane's avatar
      Revert an ill-considered portion of my patch of 12-Mar, which tried to save a · 6775c010
      Tom Lane authored
      few lines in sql_exec_error_callback() by using the function source string
      field that the patch added to SQL function cache entries.  This doesn't work
      because the fn_extra field isn't filled in yet during init_sql_fcache().
      Probably it could be made to work, but it doesn't seem appropriate to contort
      the main code paths to make an error-reporting path a tad faster.  Per report
      from Pavel Stehule.
      6775c010
  12. 15 Jun, 2007 2 commits
    • Tom Lane's avatar
      Tweak the API for per-datatype typmodin functions so that they are passed · 23347231
      Tom Lane authored
      an array of strings rather than an array of integers, and allow any simple
      constant or identifier to be used in typmods; for example
      	create table foo (f1 widget(42,'23skidoo',point));
      Of course the typmodin function has still got to pack this info into a
      non-negative int32 for storage, but it's still a useful improvement in
      flexibility, especially considering that you can do nearly anything if you
      are willing to keep the info in a side table.  We can get away with this
      change since we have not yet released a version providing user-definable
      typmods.  Per discussion.
      23347231
    • Michael Meskes's avatar
      839fcc9f
  13. 14 Jun, 2007 4 commits