1. 06 Sep, 1999 5 commits
    • Tom Lane's avatar
      Mark bpchareq not hashjoinable, since it strips trailing blanks · d2f7d1f3
      Tom Lane authored
      before comparison; if fields being joined are different widths then hashing
      will yield wrong answer.  Also, remove hashjoinable mark from all uses of
      array_eq, because array structures may have padding bytes between elements
      and the pad bytes are of uncertain content.  This could be revisited if
      array code is cleaned up.
      Modify opr_sanity regress test to complain if array_eq operator is marked
      hashjoinable.
      d2f7d1f3
    • Tom Lane's avatar
      I finally understood what sinvaladt.c is doing --- and it · 22fe3d4b
      Tom Lane authored
      offended my aesthestic sensibility that there was so much unreadable code
      doing so little.  Rewritten code is about half the size, faster, and
      (I hope) much more intelligible.
      22fe3d4b
    • Tom Lane's avatar
      Fix relcache.c so that local relations (those created during · cc8b67a5
      Tom Lane authored
      current transaction) are not flushed by shared-cache-inval reset message.
      SI reset actually works now, for probably the first time in a long time.
      I was able to run initdb and regression tests with a 16-element SI message
      array, with a lot of NOTICE: cache state reset messages but no crashes.
      cc8b67a5
    • Tom Lane's avatar
      RelationCacheInvalidate thought there were 7 nailed-in-cache · c5092847
      Tom Lane authored
      system tables, but actually there are only 6 --- see RelationInitialize.
      Kinda makes you wonder how long ago this code was last executed...
      c5092847
    • Bruce Momjian's avatar
      test · 7d0a5342
      Bruce Momjian authored
      7d0a5342
  2. 05 Sep, 1999 3 commits
  3. 04 Sep, 1999 8 commits
  4. 03 Sep, 1999 3 commits
  5. 02 Sep, 1999 2 commits
    • Tom Lane's avatar
      51f62ea4
    • Tom Lane's avatar
      Repair a bunch of problems in md.c. This builds on Hiroshi's · 68c32348
      Tom Lane authored
      insight that RelationFlushRelation ought to invoke smgrclose, and that the
      way to make that work is to ensure that mdclose doesn't fail if the relation
      is already closed (or unlinked, if we are looking at a DROP TABLE).  While
      I was testing that, I was able to identify several problems that we had
      with multiple-segment relations.  The system is now able to do initdb and
      pass the regression tests with a very small segment size (I had it set to
      64Kb per segment for testing).  I don't believe that ever worked before.
      File descriptor leaks seem to be gone too.
      I have partially addressed the concerns we had about mdtruncate(), too.
      On a Win32 or NFS filesystem it is not possible to unlink a file that
      another backend is holding open, so what md.c now does is to truncate
      unwanted files to zero length before trying to unlink them.  The other
      backends will be forced to close their open files by relation cache
      invalidation --- but I think it would take considerable work to make
      that happen before vacuum truncates the relation rather than after.
      Leaving zero-length files lying around seems a usable compromise.
      68c32348
  6. 01 Sep, 1999 2 commits
  7. 31 Aug, 1999 3 commits
  8. 29 Aug, 1999 2 commits
  9. 28 Aug, 1999 2 commits
  10. 26 Aug, 1999 2 commits
  11. 25 Aug, 1999 3 commits
  12. 24 Aug, 1999 2 commits
    • Tom Lane's avatar
      Alter AllocSet routines so that requests larger than · 2b67dc53
      Tom Lane authored
      ALLOC_BIGCHUNK_LIMIT are always allocated as separate malloc() blocks,
      and are free()d immediately upon pfree().  Also, if such a chunk is enlarged
      with repalloc(), translate the operation into a realloc() so as to
      minimize memory usage.  Of course, these large chunks still get freed
      automatically if the alloc set is reset.
      I have set ALLOC_BIGCHUNK_LIMIT at 64K for now, but perhaps another
      size would be better?
      2b67dc53
    • Tom Lane's avatar
      coerce_type() failed to guard against trying to convert a NULL · 1b81fd77
      Tom Lane authored
      constant to a different type.  Not sure that this could happen in ordinary
      parser usage, but it can in some new code I'm working on...
      1b81fd77
  13. 23 Aug, 1999 1 commit
    • Tom Lane's avatar
      Remove bogus code in oper_exact --- if it didn't find an exact · a23faeee
      Tom Lane authored
      match then it tried for a self-commutative operator with the reversed input
      data types.  This is pretty silly; there could never be such an operator,
      except maybe in binary-compatible-type scenarios, and we have oper_inexact
      for that.  Besides which, the oprsanity regress test would complain about
      such an operator.  Remove nonfunctional code and simplify routine calling
      convention accordingly.
      a23faeee
  14. 22 Aug, 1999 2 commits