1. 13 Feb, 2011 1 commit
  2. 12 Feb, 2011 6 commits
    • Tom Lane's avatar
      Refactor ALTER EXTENSION UPDATE to have cleaner multi-step semantics. · 6c2e734f
      Tom Lane authored
      This change causes a multi-step update sequence to behave exactly as if the
      updates had been commanded one at a time, including updating the "requires"
      dependencies afresh at each step.  The initial implementation took the
      shortcut of examining only the final target version's "requires" and
      changing the catalog entry but once.  But on reflection that's a bad idea,
      since it could lead to executing old update scripts under conditions
      different than they were designed/tested for.  Better to expend a few extra
      cycles and avoid any surprises.
      
      In the same spirit, if a CREATE EXTENSION FROM operation involves applying
      a series of update files, it will act as though the CREATE had first been
      done using the initial script's target version and then the additional
      scripts were invoked with ALTER EXTENSION UPDATE.
      
      I also removed the restriction about not changing encoding in secondary
      control files.  The new rule is that a script is assumed to be in whatever
      encoding the control file(s) specify for its target version.  Since this
      reimplementation causes us to read each intermediate version's control
      file, there's no longer any uncertainty about which encoding setting would
      get applied.
      6c2e734f
    • Bruce Momjian's avatar
      Properly handle Win32 paths of 'E:abc', which can be either absolute or · 0de0cc15
      Bruce Momjian authored
      relative, by creating a function path_is_relative_and_below_cwd() to
      check for specific requirements.  It is unclear if this fixes a security
      problem or not but the new code is more robust.
      0de0cc15
    • Peter Eisentraut's avatar
      DDL support for collations · b313bca0
      Peter Eisentraut authored
      - collowner field
      - CREATE COLLATION
      - ALTER COLLATION
      - DROP COLLATION
      - COMMENT ON COLLATION
      - integration with extensions
      - pg_dump support for the above
      - dependency management
      - psql tab completion
      - psql \dO command
      b313bca0
    • Robert Haas's avatar
      Teach ALTER TABLE .. SET DATA TYPE to avoid some table rewrites. · d31e2a49
      Robert Haas authored
      When the old type is binary coercible to the new type and the using
      clause does not change the column contents, we can avoid a full table
      rewrite, though any indexes on the affected columns will still need
      to be rebuilt.  This applies, for example, when changing a varchar
      column to be of type text.
      
      The prior coding assumed that the set of operations that force a
      rewrite is identical to the set of operations that must be propagated
      to tables making use of the affected table's rowtype.  This is
      no longer true: even though the tuples in those tables wouldn't
      need to be modified, the data type change invalidate indexes built
      using those composite type columns.  Indexes on the table we're
      actually modifying can be invalidated too, of course, but the
      existing machinery is sufficient to handle that case.
      
      Along the way, add some debugging messages that make it possible
      to understand what operations ALTER TABLE is actually performing
      in these cases.
      
      Noah Misch and Robert Haas
      d31e2a49
    • Tom Lane's avatar
      Clean up installation directory choices for extensions. · 24d1280c
      Tom Lane authored
      Arrange for the control files to be in $SHAREDIR/extension not
      $SHAREDIR/contrib, since we're generally trying to deprecate the term
      "contrib" and this is a once-in-many-moons opportunity to get rid of it in
      install paths.  Fix PGXS to install the $EXTENSION file into that directory
      no matter what MODULEDIR is set to; a nondefault MODULEDIR should only
      affect the script and secondary extension files.  Fix the control file
      directory parameter to be interpreted relative to $SHAREDIR, to avoid a
      surprising disconnect between how you specify that and what you set
      MODULEDIR to.
      
      Per discussion with David Wheeler.
      24d1280c
    • Tom Lane's avatar
      Add support for multiple versions of an extension and ALTER EXTENSION UPDATE. · 12147499
      Tom Lane authored
      This follows recent discussions, so it's quite a bit different from
      Dimitri's original.  There will probably be more changes once we get a bit
      of experience with it, but let's get it in and start playing with it.
      
      This is still just core code.  I'll start converting contrib modules
      shortly.
      
      Dimitri Fontaine and Tom Lane
      12147499
  3. 11 Feb, 2011 4 commits
  4. 10 Feb, 2011 14 commits
  5. 09 Feb, 2011 7 commits
  6. 08 Feb, 2011 8 commits