1. 26 May, 2005 3 commits
    • Neil Conway's avatar
      Adjust datetime parsing to be more robust. We now pass the length of the · 63e0d612
      Neil Conway authored
      working buffer into ParseDateTime() and reject too-long input there,
      rather than checking the length of the input string before calling
      ParseDateTime(). The old method was bogus because ParseDateTime() can use
      a variable amount of working space, depending on the content of the
      input string (e.g. how many fields need to be NUL terminated). This fixes
      a minor stack overrun -- I don't _think_ it's exploitable, although I
      won't claim to be an expert.
      
      Along the way, fix a bug reported by Mark Dilger: the working buffer
      allocated by interval_in() was too short, which resulted in rejecting
      some perfectly valid interval input values. I added a regression test for
      this fix.
      63e0d612
    • Tom Lane's avatar
      Tweak the backend scanner (and psqlscan.l, which must track the backend · 15e4d1e2
      Tom Lane authored
      scanner anyway) to avoid having any backup states.  According to the
      flex manual, this should speed things up, and indeed the backend scanner
      is about a third faster according to some quick profiling checks.
      I haven't tried to measure the speed change in psql, but it probably
      is similar.
      15e4d1e2
    • Bruce Momjian's avatar
      Add PL/pgSQL SQLSTATE and SQLERRM support which sets these values on · 38af680a
      Bruce Momjian authored
      error.
      
      Pavel Stehule
      38af680a
  2. 25 May, 2005 4 commits
  3. 24 May, 2005 10 commits
  4. 23 May, 2005 7 commits
  5. 22 May, 2005 1 commit
    • Tom Lane's avatar
      Teach the planner to remove SubqueryScan nodes from the plan if they · e2159f38
      Tom Lane authored
      aren't doing anything useful (ie, neither selection nor projection).
      Also, extend to SubqueryScan the hacks already in place to avoid
      unnecessary ExecProject calls when the result would just be the same
      tuple the subquery already delivered.  This saves some overhead in
      UNION and other set operations, as well as avoiding overhead for
      unflatten-able subqueries.  Per example from Sokolov Yura.
      e2159f38
  6. 21 May, 2005 5 commits
  7. 20 May, 2005 7 commits
  8. 19 May, 2005 3 commits