1. 12 Oct, 2009 4 commits
  2. 10 Oct, 2009 2 commits
    • Tom Lane's avatar
      Improve similar_escape() in two different ways: · 05d24971
      Tom Lane authored
      * Stop escaping ? and {.  As of SQL:2008, SIMILAR TO is defined to have
      POSIX-compatible interpretation of ? as well as {m,n} and related constructs,
      so we should allow these things through to our regex engine.
      
      * Escape ^ and $.  It appears that our regex engine will treat ^^ at the
      beginning of the string the same as ^, and similarly for $$ at the end of
      the string, which meant that SIMILAR TO was effectively ignoring ^ at the
      start of the pattern and $ at the end.  Since these are not supposed to be
      metacharacters, this is a bug.
      
      The second part of this is arguably a back-patchable bug fix, but I'm
      hesitant to do that because it might break applications that are expecting
      something like "col SIMILAR TO '^foo$'" to work like a POSIX pattern.
      Seems safer to only change it at a major version boundary.
      
      Per discussion of an example from Doug Gorley.
      05d24971
    • Tom Lane's avatar
      Split the processing of INSERT/UPDATE/DELETE operations out of execMain.c. · 8a5849b7
      Tom Lane authored
      They are now handled by a new plan node type called ModifyTable, which is
      placed at the top of the plan tree.  In itself this change doesn't do much,
      except perhaps make the handling of RETURNING lists and inherited UPDATEs a
      tad less klugy.  But it is necessary preparation for the intended extension of
      allowing RETURNING queries inside WITH.
      
      Marko Tiikkaja
      8a5849b7
  3. 09 Oct, 2009 1 commit
    • Peter Eisentraut's avatar
      Use pg_get_triggerdef in pg_dump · b865d275
      Peter Eisentraut authored
      Add a variant of pg_get_triggerdef with a second argument "pretty" that
      causes the output to be formatted in the way pg_dump used to do.  Use this
      variant in pg_dump with server versions >= 8.5.
      
      This insulates pg_dump from most future trigger feature additions, such as
      the upcoming column triggers patch.
      
      Author: Itagaki Takahiro <itagaki.takahiro@oss.ntt.co.jp>
      b865d275
  4. 08 Oct, 2009 5 commits
  5. 07 Oct, 2009 2 commits
    • Alvaro Herrera's avatar
      Make it possibly to specify GUC params per user and per database. · 2eda8dfb
      Alvaro Herrera authored
      Create a new catalog pg_db_role_setting where they are now stored, and better
      encapsulate the code that deals with settings into its realm.  The old
      datconfig and rolconfig columns are removed.
      
      psql has gained a \drds command to display the settings.
      
      Backwards compatibility warning: while the backwards-compatible system views
      still have the config columns, they no longer completely represent the
      configuration for a user or database.
      
      Catalog version bumped.
      2eda8dfb
    • Alvaro Herrera's avatar
      Fix snapshot management, take two. · 07cefdfb
      Alvaro Herrera authored
      Partially revert the previous patch I installed and replace it with a more
      general fix: any time a snapshot is pushed as Active, we need to ensure that it
      will not be modified in the future.  This means that if the same snapshot is
      used as CurrentSnapshot, it needs to be copied separately.  This affects
      serializable transactions only, because CurrentSnapshot has already been copied
      by RegisterSnapshot and so PushActiveSnapshot does not think it needs another
      copy.  However, CommandCounterIncrement would modify CurrentSnapshot, whereas
      ActiveSnapshots must not have their command counters incremented.
      
      I say "partially" because the regression test I added for the previous bug
      has been kept.
      
      (This restores 8.3 behavior, because before snapmgr.c existed, any snapshot set
      as Active was copied.)
      
      Per bug report from Stuart Bishop in
      6bc73d4c0910042358k3d1adff3qa36f8df75198ecea@mail.gmail.com
      07cefdfb
  6. 06 Oct, 2009 3 commits
    • Peter Eisentraut's avatar
      Clean up the clean rules of the documentation · 603e72b0
      Peter Eisentraut authored
      Most things should be cleaned by "make clean", except the parts that are
      shipped in the tarball.  These rules had gotten a bit out of whack after
      the various restructurings of the documentation build rules.
      603e72b0
    • Tom Lane's avatar
      Change CREATE TABLE so that column default expressions coming from different · e0c433c4
      Tom Lane authored
      inheritance parent tables are compared using equal(), instead of doing
      strcmp() on the nodeToString representation.  The old implementation was
      always a tad cheesy, and it finally fails completely as of 8.4, now that the
      node tree might contain syntax location information.  equal() knows it's
      supposed to ignore those fields, but strcmp() hardly can.  Per recent
      report from Scott Ribe.
      e0c433c4
    • Alvaro Herrera's avatar
      Really unbreak maintainer-clean. · 051168b6
      Alvaro Herrera authored
      (Or rather, unbreak what the previous commit broke)
      051168b6
  7. 05 Oct, 2009 2 commits
  8. 03 Oct, 2009 3 commits
  9. 02 Oct, 2009 4 commits
    • Tom Lane's avatar
      Fix an oversight in an 8.3-era patch: pgstat_initstats should allow stats · 66a8417f
      Tom Lane authored
      to be collected for sequences.
      
      Report and fix by Akira Kurosawa
      66a8417f
    • Tom Lane's avatar
      Make sure that GIN fast-insert and regular code paths enforce the same · e66d7143
      Tom Lane authored
      tuple size limit.  Improve the error message for index-tuple-too-large
      so that it includes the actual size, the limit, and the index name.
      Sync with the btree occurrences of the same error.
      
      Back-patch to 8.4 because it appears that the out-of-sync problem
      is occurring in the field.
      
      Teodor and Tom
      e66d7143
    • Tom Lane's avatar
      Fix erroneous handling of shared dependencies (ie dependencies on roles) · d691cb91
      Tom Lane authored
      in CREATE OR REPLACE FUNCTION.  The original code would update pg_shdepend
      as if a new function was being created, even if it wasn't, with two bad
      consequences: pg_shdepend might record the wrong owner for the function,
      and any dependencies for roles mentioned in the function's ACL would be lost.
      The fix is very easy: just don't touch pg_shdepend at all when doing a
      function replacement.
      
      Also update the CREATE FUNCTION reference page, which never explained
      exactly what changes and doesn't change in a function replacement.
      In passing, fix the CREATE VIEW reference page similarly; there's no
      code bug there, but the docs didn't say what happens.
      d691cb91
    • Alvaro Herrera's avatar
      Ensure that a cursor has an immutable snapshot throughout its lifespan. · caa4cfa3
      Alvaro Herrera authored
      The old coding was using a regular snapshot, referenced elsewhere, that was
      subject to having its command counter updated.  Fix by creating a private copy
      of the snapshot exclusively for the cursor.
      
      Backpatch to 8.4, which is when the bug was introduced during the snapshot
      management rewrite.
      caa4cfa3
  10. 01 Oct, 2009 2 commits
  11. 30 Sep, 2009 2 commits
    • Tom Lane's avatar
      Fix bogus Assert, per buildfarm results. · f7082f26
      Tom Lane authored
      f7082f26
    • Tom Lane's avatar
      Assorted improvements in contrib/hstore. · 172eacba
      Tom Lane authored
      Remove the 64K limit on the lengths of keys and values within an hstore.
      (This changes the on-disk format, but the old format can still be read.)
      Add support for btree/hash opclasses for hstore --- this is not so much
      for actual indexing purposes as to allow use of GROUP BY, DISTINCT, etc.
      Add various other new functions and operators.
      
      Andrew Gierth
      172eacba
  12. 29 Sep, 2009 3 commits
  13. 28 Sep, 2009 2 commits
  14. 27 Sep, 2009 5 commits