1. 21 Mar, 2006 4 commits
  2. 20 Mar, 2006 1 commit
  3. 19 Mar, 2006 2 commits
  4. 18 Mar, 2006 1 commit
  5. 17 Mar, 2006 3 commits
  6. 16 Mar, 2006 2 commits
    • Tom Lane's avatar
      Fix invalid use of #if within a macro, per Laurenz Albe. Also try to · 92f5bfcc
      Tom Lane authored
      make the LDAP code's error messages look like they were written by someone
      who had heard of our style guidelines.
      92f5bfcc
    • Tom Lane's avatar
      Clean up representation of function RTEs for functions returning RECORD. · 23160139
      Tom Lane authored
      The original coding stored the raw parser output (ColumnDef and TypeName
      nodes) which was ugly, bulky, and wrong because it failed to create any
      dependency on the referenced datatype --- and in fact would not track type
      renamings and suchlike.  Instead store a list of column type OIDs in the
      RTE.
      
      Also fix up general failure of recordDependencyOnExpr to do anything sane
      about recording dependencies on datatypes.  While there are many cases where
      there will be an indirect dependency (eg if an operator returns a datatype,
      the dependency on the operator is enough), we do have to record the datatype
      as a separate dependency in examples like CoerceToDomain.
      
      initdb forced because of change of stored rules.
      23160139
  7. 15 Mar, 2006 1 commit
  8. 14 Mar, 2006 3 commits
  9. 13 Mar, 2006 1 commit
    • Neil Conway's avatar
      Fix a number of syntax errors in contrib modules' uninstall scripts. · 48fb6967
      Neil Conway authored
      Most of the changes add the mandatory USING clause to DROP OPERATOR
      CLASS statements.  DROP TYPE is now DROP TYPE CASCADE; without
      CASCADE a DROP TYPE fails due to the circular dependency on the
      type's I/O functions.  The DROP FUNCTION statements for the I/O
      functions have been removed, as DROP TYPE CASCADE removes them
      automatically. Patch from Michael Fuhr.
      48fb6967
  10. 11 Mar, 2006 4 commits
  11. 10 Mar, 2006 7 commits
  12. 09 Mar, 2006 1 commit
  13. 08 Mar, 2006 7 commits
  14. 07 Mar, 2006 3 commits
    • Tom Lane's avatar
      Further examination of ltsReleaseBlock usage shows that it's got a · 43ceb3d4
      Tom Lane authored
      performance issue during regular merge passes not only the 'final merge'
      case.  The original design contemplated that there would never be more
      than about one free block per 'tape', hence no need for an efficient
      method of keeping the free blocks sorted.  But given the later addition
      of merge preread behavior in tuplesort.c, there is likely to be about
      work_mem worth of free blocks, which is not so small ... and for that
      matter the number of tapes isn't necessarily small anymore either.  So
      we'd better get rid of the assumption entirely.  Instead, I'm assuming
      that the usage pattern will involve alternation between merge preread
      and writing of a new run.  This makes it reasonable to just add blocks
      to the list without sorting during successive ltsReleaseBlock calls,
      and then do a qsort() when we start getting ltsGetFreeBlock() calls.
      Experimentation seems to confirm that there aren't many qsort calls
      relative to the number of ltsReleaseBlock/ltsGetFreeBlock calls.
      43ceb3d4
    • Tom Lane's avatar
      Repair old performance bug in tuplesort.c/logtape.c. In the case where · 8db05ba4
      Tom Lane authored
      we are doing the final merge pass on-the-fly, and not writing the data
      back onto a 'tape', the number of free blocks in the tape set will become
      large, leading to a lot of time wasted in ltsReleaseBlock().  There is
      really no need to track the free blocks anymore in this state, so add a
      simple shutoff switch.  Per report from Stefan Kaltenbrunner.
      8db05ba4
    • Tom Lane's avatar
      Turn off zero_damaged_pages in the right place (ie, in the autovac · e6107da5
      Tom Lane authored
      process not in the postmaster) and with the right GucSource (needs to
      be a nontransactional source since we've not started an xact yet).
      e6107da5