1. 06 8月, 1999 2 次提交
    • T
      Try to clarify characteristics of the SERIAL type. · 4f1766f1
      Thomas G. Lockhart 提交于
      Fix source indenting, which does not affect output.
      Note: still need docs on NUMERIC and DECIMAL
       (and let's not talk about regression tests :()
      4f1766f1
    • T
      Revise generation of hashjoin paths: generate one path per · e1fad50a
      Tom Lane 提交于
      hashjoinable clause, not one path for a randomly-chosen element of each
      set of clauses with the same join operator.  That is, if you wrote
         SELECT ... WHERE t1.f1 = t2.f2 and t1.f3 = t2.f4,
      and both '=' ops were the same opcode (say, all four fields are int4),
      then the system would either consider hashing on f1=f2 or on f3=f4,
      but it would *not* consider both possibilities.  Boo hiss.
      Also, revise estimation of hashjoin costs to include a penalty when the
      inner join var has a high disbursion --- ie, the most common value is
      pretty common.  This tends to lead to badly skewed hash bucket occupancy
      and way more comparisons than you'd expect on average.
      I imagine that the cost calculation still needs tweaking, but at least
      it generates a more reasonable plan than before on George Young's example.
      e1fad50a
  2. 05 8月, 1999 3 次提交
  3. 03 8月, 1999 2 次提交
  4. 02 8月, 1999 6 次提交
  5. 01 8月, 1999 6 次提交
  6. 31 7月, 1999 2 次提交
  7. 30 7月, 1999 9 次提交
  8. 29 7月, 1999 6 次提交
  9. 28 7月, 1999 1 次提交
  10. 27 7月, 1999 3 次提交
    • T
      Correct bug in best_innerjoin(): it should check all the · b62fdc13
      Tom Lane 提交于
      rels that the inner path needs to join to, but it was only checking for
      the first one.  Failure could only have been observed with an OR-clause
      that mentions 3 or more tables, and then only if the bogus path was
      actually selected as cheapest ...
      b62fdc13
    • T
      My recent optimizer changes caused a different plan to · 2f30d5a3
      Tom Lane 提交于
      be picked for one of the complex joins in rules test ... leading to
      a different output ordering ...
      2f30d5a3
    • T
      First cut at doing LIKE/regex indexing optimization in · 9e7e29e6
      Tom Lane 提交于
      optimizer rather than parser.  This has many advantages, such as not
      getting fooled by chance uses of operator names ~ and ~~ (the operators
      are identified by OID now), and not creating useless comparison operations
      in contexts where the comparisons will not actually be used as indexquals.
      The new code also recognizes exact-match LIKE and regex patterns, and
      produces an = indexqual instead of >= and <=.
      
      This change does NOT fix the problem with non-ASCII locales: the code
      still doesn't know how to generate an upper bound indexqual for non-ASCII
      collation order.  But it's no worse than before, just the same deficiency
      in a different place...
      
      Also, dike out loc_restrictinfo fields in Plan nodes.  These were doing
      nothing useful in the absence of 'expensive functions' optimization,
      and they took a considerable amount of processing to fill in.
      9e7e29e6