aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/path/joinpath.c
Commit message (Collapse)AuthorAge
...
* Store -1 in attdisbursion to signal 'no duplicates in column'.Tom Lane1999-08-09
| | | | Centralize att_disbursion readout logic.
* Revise generation of hashjoin paths: generate one path perTom Lane1999-08-06
| | | | | | | | | | | | | | | 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.
* Correct bug in best_innerjoin(): it should check all theTom Lane1999-07-27
| | | | | | | 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 ...
* Final cleanup.Bruce Momjian1999-07-16
|
* Update #include cleanupsBruce Momjian1999-07-16
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-15
|
* Another pgindent run. Sorry folks.Bruce Momjian1999-05-25
|
* pgindent run over code.Bruce Momjian1999-05-25
|
* Now that hashjoin is reliable for large joins (knock on wood),Tom Lane1999-05-18
| | | | | | remove optimizer's arbitrary limit on how large a join it will use hashing for. (The limit was too large to prevent the problems we'd been seeing, anyway...)
* Minor code cleanup in optimizer.Tom Lane1999-05-16
|
* Clean up cost_sort some more: most callers were double-countingTom Lane1999-05-01
| | | | the cost of reading the source data.
* Fix nasty bug in optimization of multiway joins: optimizerTom Lane1999-04-03
| | | | would sometimes generate a plan that omitted a sort step before merge.
* Final optimizer cleanups.Bruce Momjian1999-02-22
|
* pathkeys.c cleanup.Bruce Momjian1999-02-21
|
* optimizer cleanupBruce Momjian1999-02-19
|
* rename optimizer file nameBruce Momjian1999-02-18
|
* Fix bushy plans. Cleanup.Bruce Momjian1999-02-18
|
* Remove duplicate geqo functions, and more optimizer cleanupBruce Momjian1999-02-15
|
* Replace non-idiomatic nconc(x, lcons(y, NIL)) with lappend(x, y).Tom Lane1999-02-15
|
* optimizer cleanup.Bruce Momjian1999-02-14
|
* Optimizer rename.Bruce Momjian1999-02-14
|
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-13
|
* Optimizer cleanup.Bruce Momjian1999-02-12
|
* JoinPath -> NestPath for nested loop.Bruce Momjian1999-02-12
|
* More optimizer speedups.Bruce Momjian1999-02-11
|
* Optmizer cleanupBruce Momjian1999-02-10
|
* Update find_typedefs for bsdi 4.0.Bruce Momjian1999-02-10
|
* Rename Path.keys to Path.pathkeys. Too many 'keys' used for other things.Bruce Momjian1999-02-10
|
* Major optimizer improvement for joining a large number of tables.Bruce Momjian1999-02-09
|
* Optimizer cleanup.Bruce Momjian1999-02-08
|
* More optimizer cleanups.Bruce Momjian1999-02-04
|
* More optimizer renaming HInfo -> HashInfo.Bruce Momjian1999-02-04
|
* Cleanup of source files where 'return' or 'var =' is alone on a line.Bruce Momjian1999-02-03
|
* Optimizer rename ClauseInfo -> RestrictInfo. Update optimizer README.Bruce Momjian1999-02-03
|
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-01
|
* Renaming cleanup, no pgindent yet.Bruce Momjian1998-09-01
|
* MergeSort was sometimes called mergejoin and was confusing. NowBruce Momjian1998-08-04
| | | | it is now only mergejoin.
* Rename Rel to RelOptInfo.Bruce Momjian1998-07-18
|
* Remove un-needed braces around single statements.Bruce Momjian1998-06-15
|
* Used modified version of indent that understands over 100 typedefs.Bruce Momjian1997-09-08
|
* Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian1997-09-08
| | | | indenting. Also static variable indenting.
* Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian1997-09-07
|
* Cleanup MakefilesMarc G. Fournier1996-10-31
| | | | | | Add #include "postgres.h" and #include <sys/types.h>
* Postgres95 1.01 Distribution - Virgin SourcesPG95-1_01Marc G. Fournier1996-07-09