Skip to content
Snippets Groups Projects
  1. Jan 08, 2011
    • Tom Lane's avatar
      Update GIN support function definitions for contrib/intarray. · 69c26c57
      Tom Lane authored
      The underlying C code still needs work, but this at least gets its
      current regression test passing again.
      69c26c57
    • Bruce Momjian's avatar
      Document why pg_upgrade preserves pg_auth.oid (because they are stored · 133641a4
      Bruce Momjian authored
      in pg_largeobject_metadata).
      133641a4
    • Bruce Momjian's avatar
      2f657e4d
    • Bruce Momjian's avatar
    • 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 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. Jan 07, 2011
  3. Jan 06, 2011
  4. Jan 05, 2011
  5. Jan 02, 2011
    • 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
  6. Jan 01, 2011
  7. Dec 29, 2010
    • Tom Lane's avatar
      Improve pg_upgrade's checks for required executables. · 88c80345
      Tom Lane authored
      Don't insist on pg_dumpall and psql being present in the old cluster,
      since they are not needed.  Do insist on pg_resetxlog being present
      (in both old and new), since we need it.  Also check for pg_config,
      but only in the new cluster.  Remove the useless attempt to call
      pg_config in the old cluster; we don't need to know the old value of
      --pkglibdir.  (In the case of a stripped-down migration installation
      there might be nothing there to look at anyway, so any future change
      that might reintroduce that need would have to be considered carefully.)
      
      Per my attempts to build a minimal previous-version installation to support
      pg_upgrade.
      88c80345
  8. Dec 27, 2010
  9. Dec 22, 2010
  10. Dec 19, 2010
    • Tom Lane's avatar
      Fix erroneous parsing of tsquery input "... & !(subexpression) | ..." · abc10262
      Tom Lane authored
      After parsing a parenthesized subexpression, we must pop all pending
      ANDs and NOTs off the stack, just like the case for a simple operand.
      Per bug #5793.
      
      Also fix clones of this routine in contrib/intarray and contrib/ltree,
      where input of types query_int and ltxtquery had the same problem.
      
      Back-patch to all supported versions.
      abc10262
  11. Dec 16, 2010
    • Tom Lane's avatar
      Fix contrib/seg's GiST picksplit method. · 2a6ebe70
      Tom Lane authored
      This patch replaces Guttman's generalized split method with a simple
      sort-by-center-points algorithm.  Since the data is only one-dimensional
      we don't really need the slow and none-too-stable Guttman method.
      
      This is in part a bug fix, since seg has the same size_alpha versus
      size_beta typo that was recently fixed in contrib/cube.  It seems
      prudent to apply this rather aggressive fix only in HEAD, though.
      Back branches will just get the typo fix.
      
      Alexander Korotkov, reviewed by Yeb Havinga
      2a6ebe70
  12. Dec 15, 2010
  13. Dec 11, 2010
    • Tom Lane's avatar
      Clean up some copied-and-pasted code in pg_upgrade. · 3864afa1
      Tom Lane authored
      1. Don't reimplement S_ISDIR() and S_ISREG() badly.
      2. Don't reimplement access() badly.
      
      This code appears to have been copied from ancient versions of the
      corresponding backend routines, and not patched to incorporate subsequent
      fixes (see my commits of 2008-03-31 and 2010-01-14 respectively).
      It might be a good idea to change it to just *call* those routines,
      but for now I'll just transpose these fixes over.
      3864afa1
  14. Dec 04, 2010
  15. Nov 29, 2010
  16. Nov 27, 2010
  17. Nov 26, 2010
    • Tom Lane's avatar
      Fix significant memory leak in contrib/xml2 functions. · 4a2516a7
      Tom Lane authored
      Most of the functions that execute XPath queries leaked the data structures
      created by libxml2.  This memory would not be recovered until end of
      session, so it mounts up pretty quickly in any serious use of the feature.
      Per report from Pavel Stehule, though this isn't his patch.
      
      Back-patch to all supported branches.
      4a2516a7
  18. Nov 25, 2010
  19. Nov 23, 2010
  20. Nov 20, 2010
    • Robert Haas's avatar
      Expose quote_literal_cstr() from core. · 4343c0e5
      Robert Haas authored
      This eliminates the need for inefficient implementions of this
      functionality in both contrib/dblink and contrib/tablefunc, so remove
      them.  The upcoming patch implementing an in-core format() function
      will also require this functionality.
      
      In passing, add some regression tests.
      4343c0e5
  21. Nov 15, 2010
Loading