1. 08 Jan, 2011 9 commits
    • Bruce Momjian's avatar
      2f657e4d
    • Bruce Momjian's avatar
      3095643d
    • Bruce Momjian's avatar
      In pg_upgrade, track only one copy of namespace/relname in FileNameMap · f75383e6
      Bruce Momjian authored
      because the old and new values are identical.
      f75383e6
    • Bruce Momjian's avatar
      Fix C indenting in pg_upgrade function. · 519c008a
      Bruce Momjian authored
      519c008a
    • Bruce Momjian's avatar
      Fix pg_upgrade of large object permissions by preserving pg_auth.oid, · d8d3d2a4
      Bruce Momjian authored
      which is stored in pg_largeobject_metadata.
      
      No backpatch to 9.0 because you can't migrate from 9.0 to 9.0 with the
      same catversion (because of tablespace conflict), and a pre-9.0
      migration to 9.0 has not large object permissions to migrate.
      d8d3d2a4
    • Bruce Momjian's avatar
      Force pg_upgrade's to preserve pg_class.oid, not pg_class.relfilenode. · 2896c87c
      Bruce Momjian authored
      Toast tables have identical pg_class.oid and pg_class.relfilenode, but
      for clarity it is good to preserve the pg_class.oid.
      
      Update comments regarding what is preserved, and do some
      variable/function renaming for clarity.
      2896c87c
    • Tom Lane's avatar
    • Tom Lane's avatar
      Fix the built-in GIN support procedure declarations in pg_proc.h. · a032d501
      Tom Lane authored
      Add more "internal" arguments so that these pg_proc entries reflect the
      current preferred API.  This is purely a cosmetic change, since GIN doesn't
      actually consult the pg_proc entry when calling a support function.
      Accordingly, no catversion bump.
      a032d501
    • Tom Lane's avatar
      Fix GIN to support null keys, empty and null items, and full index scans. · 73912e7f
      Tom Lane authored
      Per my recent proposal(s).  Null key datums can now be returned by
      extractValue and extractQuery functions, and will be stored in the index.
      Also, placeholder entries are made for indexable items that are NULL or
      contain no keys according to extractValue.  This means that the index is
      now always complete, having at least one entry for every indexed heap TID,
      and so we can get rid of the prohibition on full-index scans.  A full-index
      scan is implemented much the same way as partial-match scans were already:
      we build a bitmap representing all the TIDs found in the index, and then
      drive the results off that.
      
      Also, introduce a concept of a "search mode" that can be requested by
      extractQuery when the operator requires matching to empty items (this is
      just as cheap as matching to a single key) or requires a full index scan
      (which is not so cheap, but it sure beats failing or giving wrong answers).
      The behavior remains backward compatible for opclasses that don't return
      any null keys or request a non-default search mode.
      
      Using these features, we can now make the GIN index opclass for anyarray
      behave in a way that matches the actual anyarray operators for &&, <@, @>,
      and = ... which it failed to do before in assorted corner cases.
      
      This commit fixes the core GIN code and ginarrayprocs.c, updates the
      documentation, and adds some simple regression test cases for the new
      behaviors using the array operators.  The tsearch and contrib GIN opclass
      support functions still need to be looked over and probably fixed.
      
      Another thing I intend to fix separately is that this is pretty inefficient
      for cases where more than one scan condition needs a full-index search:
      we'll run duplicate GinScanEntrys, each one of which builds a large bitmap.
      There is some existing logic to merge duplicate GinScanEntrys but it needs
      refactoring to make it work for entries belonging to different scan keys.
      
      Note that most of gin.h has been split out into a new file gin_private.h,
      so that gin.h doesn't export anything that's not supposed to be used by GIN
      opclasses or the rest of the backend.  I did quite a bit of other code
      beautification work as well, mostly fixing comments and choosing more
      appropriate names for things.
      73912e7f
  2. 07 Jan, 2011 4 commits
  3. 06 Jan, 2011 5 commits
  4. 05 Jan, 2011 8 commits
  5. 04 Jan, 2011 2 commits
  6. 03 Jan, 2011 5 commits
  7. 02 Jan, 2011 3 commits
    • Peter Eisentraut's avatar
      Implement remaining fields of information_schema.sequences view · 39b88432
      Peter Eisentraut authored
      Add new function pg_sequence_parameters that returns a sequence's start,
      minimum, maximum, increment, and cycle values, and use that in the view.
      (bug #5662; design suggestion by Tom Lane)
      
      Also slightly adjust the view's column order and permissions after review of
      SQL standard.
      39b88432
    • Robert Haas's avatar
      Fix typo. · e657b55e
      Robert Haas authored
      Noted by Magnus Hagander.
      e657b55e
    • Robert Haas's avatar
      Basic foreign table support. · 0d692a0d
      Robert Haas authored
      Foreign tables are a core component of SQL/MED.  This commit does
      not provide a working SQL/MED infrastructure, because foreign tables
      cannot yet be queried.  Support for foreign table scans will need to
      be added in a future patch.  However, this patch creates the necessary
      system catalog structure, syntax support, and support for ancillary
      operations such as COMMENT and SECURITY LABEL.
      
      Shigeru Hanada, heavily revised by Robert Haas
      0d692a0d
  8. 01 Jan, 2011 4 commits