Skip to content
Snippets Groups Projects
  1. Jun 29, 2007
    • 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. Jun 28, 2007
  3. Jun 27, 2007
  4. Jun 26, 2007
  5. Jun 25, 2007
  6. Jun 24, 2007
    • 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
  7. Jun 22, 2007
  8. Jun 21, 2007
  9. Jun 20, 2007
  10. Jun 19, 2007
  11. Jun 18, 2007
    • Tom Lane's avatar
      Arrange for quote_identifier() and pg_dump to not quote keywords that are · 4c310eca
      Tom Lane authored
      unreserved according to the grammar.  The list of unreserved words has gotten
      extensive enough that the unnecessary quoting is becoming a bit of an eyesore.
      To do this, add knowledge of the keyword category to keywords.c's table.
      (Someday we might be able to generate keywords.c's table and the keyword lists
      in gram.y from a common source.)  For the moment, lie about WITH's status in
      the table so it will still get quoted --- this is because of the expectation
      that WITH will become reserved when the SQL recursive-queries patch gets done.
      
      I didn't force initdb because this affects nothing on-disk; but note that a
      few regression tests have changed expected output.
      4c310eca
    • Magnus Hagander's avatar
      53283408
    • Tom Lane's avatar
      Update obsolete comment: it's no longer the case that mdread() will allow · de6a6383
      Tom Lane authored
      reads beyond EOF, except by special coercion.
      de6a6383
    • 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
  12. Jun 17, 2007
    • 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
  13. Jun 15, 2007
    • 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
  14. Jun 14, 2007
Loading