1. 24 Apr, 2009 4 commits
  2. 23 Apr, 2009 6 commits
  3. 22 Apr, 2009 2 commits
  4. 21 Apr, 2009 5 commits
  5. 20 Apr, 2009 1 commit
  6. 19 Apr, 2009 7 commits
    • Tom Lane's avatar
      ce53791b
    • Tom Lane's avatar
      Rethink the idea of having plpgsql depend on parser/gram.h. Aside from the · 85128e5d
      Tom Lane authored
      fact that this is breaking the MSVC build, it's probably not really a good
      idea to expand the dependencies of gram.h any further than the core parser;
      for instance the value of SCONST might depend on which bison version you'd
      built with.  Better to expose an additional call point in parser.c, so
      move what I had put into pl_funcs.c into parser.c.  Also PGDLLIMPORT'ify
      the reference to standard_conforming_strings, per buildfarm results.
      85128e5d
    • Tom Lane's avatar
      Fix de-escaping checks so that we will reject \000 as well as other invalidly · 22c92226
      Tom Lane authored
      encoded sequences.  Per discussion of a couple of days ago.
      22c92226
    • Tom Lane's avatar
      Fix textsearch documentation examples to not recommend concatenating separate · c1c40e58
      Tom Lane authored
      fields without putting a space between.  Per gripe from Rick Schumeyer.
      c1c40e58
    • Tom Lane's avatar
      Fix estimate_num_groups() to not fail on PlaceHolderVars, per report from · 1d97c19a
      Tom Lane authored
      Stefan Kaltenbrunner.  The most reasonable behavior (at least for the near
      term) seems to be to ignore the PlaceHolderVar and examine its argument
      instead.  In support of this, change the API of pull_var_clause() to allow
      callers to request recursion into PlaceHolderVars.  Currently
      estimate_num_groups() is the only customer for that behavior, but where
      there's one there may be others.
      1d97c19a
    • Tom Lane's avatar
      Revise plpgsql's scanner to process comments and string literals in a way · 3a624e92
      Tom Lane authored
      more nearly matching the core SQL scanner.  The user-visible effects are:
      
      * Block comments (slash-star comments) now nest, as per SQL spec.
      
      * In standard_conforming_strings mode, backslash as the last character of a
        non-E string literal is now correctly taken as an ordinary character;
        formerly it was misinterpreted as escaping the ending quote.  (Since the
        string also had to pass through the core scanner, this invariably led
        to syntax errors.)
      
      * Formerly, backslashes in the format string of RAISE were always treated as
        quoting the next character, regardless of mode.  Now, they are ordinary
        characters with standard_conforming_strings on, while with it off, they
        introduce the same set of escapes as in the core SQL scanner.  Also,
        escape_string_warning is now effective for RAISE format strings.  These
        changes make RAISE format strings work just like any other string literal.
      
      This is implemented by copying and pasting a lot of logic from the core
      scanner.  It would be a good idea to look into getting rid of plpgsql's
      scanner entirely in favor of using the core scanner.  However, that involves
      more change than I can justify making during beta --- in particular, the core
      scanner would have to become re-entrant.
      
      In passing, remove the kluge that made the plpgsql scanner emit T_FUNCTION or
      T_TRIGGER as a made-up first token.  That presumably had some value once upon
      a time, but now it's just useless complication for both the scanner and the
      grammar.
      3a624e92
    • Tom Lane's avatar
      Mention as a potential incompatibility the fact that SELECT DISTINCT, UNION, · 7f2f798b
      Tom Lane authored
      etc are no longer guaranteed to produce sorted output; per gripe from Ian
      Barwick.  Also improve the release note entries about to_timestamp(), per
      Brendan Jurd.
      7f2f798b
  7. 18 Apr, 2009 1 commit
  8. 17 Apr, 2009 1 commit
  9. 16 Apr, 2009 2 commits
    • Tom Lane's avatar
      Fix planner to restore its previous level of intelligence about pushing · d7a6a04d
      Tom Lane authored
      constants through full joins, as in
      
      	select * from tenk1 a full join tenk1 b using (unique1)
      	where unique1 = 42;
      
      which should generate a fairly cheap plan where we apply the constraint
      unique1 = 42 in each relation scan.  This had been broken by my patch of
      2008-06-27, which is now reverted in favor of a more invasive but hopefully
      less incorrect approach.  That patch was meant to prevent incorrect extraction
      of OR'd indexclauses from OR conditions above an outer join.  To do that
      correctly we need more information than the outerjoin_delay flag can provide,
      so add a nullable_relids field to RestrictInfo that records exactly which
      relations are nulled by outer joins that are underneath a particular qual
      clause.  A side benefit is that we can make the test in create_or_index_quals
      more specific: it is now smart enough to extract an OR'd indexclause into the
      outer side of an outer join, even though it must not do so in the inner side.
      The old coding couldn't distinguish these cases so it could not do either.
      d7a6a04d
    • Alvaro Herrera's avatar
      Fix the regression test error message for array_fill, too. · c5593d54
      Alvaro Herrera authored
      Per note from Andrew Dunstan.
      c5593d54
  10. 15 Apr, 2009 6 commits
  11. 14 Apr, 2009 5 commits