1. 25 8月, 1999 3 次提交
    • T
      Fix vacuum's memory consumption · edda70c0
      Tatsuo Ishii 提交于
      edda70c0
    • T
      Add new vpl_num_allocated_pages member to VPageListData. · 770d0786
      Tatsuo Ishii 提交于
      It will keep track the number of pages allocated so that
      vacuum could allocate twice of the previous allocation.
      This will greatly reduce the total memory consumption of
      vacuum.
      770d0786
    • T
      Alter AllocSet routines so that requests larger than · 2b67dc53
      Tom Lane 提交于
      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
  2. 24 8月, 1999 2 次提交
    • T
      coerce_type() failed to guard against trying to convert a NULL · 1b81fd77
      Tom Lane 提交于
      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
    • T
      Remove bogus code in oper_exact --- if it didn't find an exact · a23faeee
      Tom Lane 提交于
      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
  3. 23 8月, 1999 3 次提交
  4. 21 8月, 1999 3 次提交
    • T
      Major revision of sort-node handling: push knowledge of query · db436adf
      Tom Lane 提交于
      sort order down into planner, instead of handling it only at the very top
      level of the planner.  This fixes many things.  An explicit sort is now
      avoided if there is a cheaper alternative (typically an indexscan) not
      only for ORDER BY, but also for the internal sort of GROUP BY.  It works
      even when there is no other reason (such as a WHERE condition) to consider
      the indexscan.  It works for indexes on functions.  It works for indexes
      on functions, backwards.  It's just so cool...
      
      CAUTION: I have changed the representation of SortClause nodes, therefore
      THIS UPDATE BREAKS STORED RULES.  You will need to initdb.
      db436adf
    • T
      Cleanups for int8: guard against null inputs in comparison · 5588c559
      Tom Lane 提交于
      operators (and some other places), fix rangechecks in int8 to int4
      conversion (same problem we recently figured out in pg_atoi).
      5588c559
    • T
      Ooops ... I had left some test coding in selfuncs.c that · d91baea0
      Tom Lane 提交于
      failed on 'field < textconstant' ...
      d91baea0
  5. 18 8月, 1999 5 次提交
  6. 17 8月, 1999 7 次提交
  7. 16 8月, 1999 5 次提交
  8. 15 8月, 1999 3 次提交
  9. 14 8月, 1999 1 次提交
  10. 13 8月, 1999 1 次提交
  11. 12 8月, 1999 2 次提交
    • T
      Clean up optimizer's handling of indexscan quals that need to be · 8f9f6e51
      Tom Lane 提交于
      commuted (ie, the index var appears on the right).  These are now handled
      the same way as merge and hash join quals that need to be commuted: the
      actual reversing of the clause only happens if we actually choose the path
      and generate a plan from it.  Furthermore, the clause is only reversed in
      the 'indexqual' field of the plan, not in the 'indxqualorig' field.  This
      allows the clause to still be recognized and removed from qpquals of upper
      level join plans.  Also, simplify and generalize match_clause_to_indexkey;
      now it recognizes binary-compatible indexes for join as well as restriction
      clauses.
      8f9f6e51
    • T
      Add commentary to show that even though ExecInitIndexScan() · aae034d2
      Tom Lane 提交于
      contains much code that looks like it will handle indexquals with the index
      key on either side of the operator, in fact indexquals must have the index
      key on the left because of limitations of the ScanKey machinery.  Perhaps
      someone will be motivated to fix that someday...
      aae034d2
  12. 11 8月, 1999 1 次提交
  13. 10 8月, 1999 2 次提交
  14. 09 8月, 1999 2 次提交