1. 11 Jun, 2009 3 commits
  2. 10 Jun, 2009 19 commits
  3. 09 Jun, 2009 8 commits
  4. 08 Jun, 2009 3 commits
  5. 07 Jun, 2009 1 commit
    • Tom Lane's avatar
      Revert my patch of 2009-04-04 that removed contrib/intarray's definitions of · 156475a5
      Tom Lane authored
      the <@ and @> operators.  These are not in fact equivalent to the built-in
      anyarray operators of the same names, because they have different behavior for
      empty arrays, namely they don't think empty arrays are contained in anything.
      That is mathematically wrong, no doubt, but until we can persuade GIN indexes
      to implement the mathematical definition we should probably not change this.
      Another reason for not changing it now is that we can't yet ensure the
      opclasses will be updated correctly in a dump-and-reload upgrade.  Per
      recent discussions.
      156475a5
  6. 06 Jun, 2009 4 commits
    • Tom Lane's avatar
      Improve the IndexVacuumInfo/IndexBulkDeleteResult API to allow somewhat sane · 32ea2363
      Tom Lane authored
      behavior in cases where we don't know the heap tuple count accurately; in
      particular partial vacuum, but this also makes the API a bit more useful
      for ANALYZE.  This patch adds "estimated_count" flags to both structs so
      that an approximate count can be flagged as such, and adjusts the logic
      so that approximate counts are not used for updating pg_class.reltuples.
      
      This fixes my previous complaint that VACUUM was putting ridiculous values
      into pg_class.reltuples for indexes.  The actual impact of that bug is
      limited, because the planner only pays attention to reltuples for an index
      if the index is partial; which probably explains why beta testers hadn't
      noticed a degradation in plan quality from it.  But it needs to be fixed.
      
      The whole thing is a bit messy and should be redesigned in future, because
      reltuples now has the potential to drift quite far away from reality when
      a long period elapses with no non-partial vacuums.  But this is as good as
      it's going to get for 8.4.
      32ea2363
    • Joe Conway's avatar
      Add support for using SQL/MED compliant FOREIGN DATA WRAPPER, SERVER, · 4334695b
      Joe Conway authored
      and USER MAPPING as method to supply dblink connect parameters. Per
      mailing list and PGCon discussions.
      4334695b
    • Tom Lane's avatar
      Move variable declaration to avoid 'unused variable' warning when the · af98bb2a
      Tom Lane authored
      ifdef doesn't trigger.  Not worth back-patching.  Per buildfarm reports.
      af98bb2a
    • Tom Lane's avatar
      Fix a serious bug introduced into GIN in 8.4: now that MergeItemPointers() · 356eea24
      Tom Lane authored
      is supposed to remove duplicate heap TIDs, we have to be sure to reduce the
      tuple size and posting-item count accordingly in addItemPointersToTuple().
      Failing to do so resulted in the effective injection of garbage TIDs into the
      index contents, ie, whatever happened to be in the memory palloc'd for the
      new tuple.  I'm not sure that this fully explains the index corruption
      reported by Tatsuo Ishii, but the test case I'm using no longer fails.
      356eea24
  7. 05 Jun, 2009 2 commits
    • Andrew Dunstan's avatar
      Adjust recent PERL_SYS_INIT3 call to avoid platforms where it might fail, and... · 1978d7f1
      Andrew Dunstan authored
      Adjust recent PERL_SYS_INIT3 call to avoid platforms where it might fail, and to remove compilation warning. Backpatch the release 7.4
      1978d7f1
    • Tom Lane's avatar
      GIN's ItemPointerIsMin, ItemPointerIsMax, and ItemPointerIsLossyPage macros · 52f0fc70
      Tom Lane authored
      should use GinItemPointerGetBlockNumber/GinItemPointerGetOffsetNumber,
      not ItemPointerGetBlockNumber/ItemPointerGetOffsetNumber, because the latter
      will Assert() on ip_posid == 0, ie a "Min" pointer.  (Thus, ItemPointerIsMin
      has never worked at all, but it seems unused at present.)  I'm not certain
      that the case can occur in normal functioning, but it's blowing up on me
      while investigating Tatsuo-san's data corruption problem.  In any case it
      seems like a problem waiting to bite someone.
      
      Back-patch just in case this really is a problem for somebody in the field.
      52f0fc70