postgresql/src/include
Tom Lane e1fad50a5d Revise generation of hashjoin paths: generate one path per
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.
1999-08-06 04:00:17 +00:00
..
access Install new alignment code to use MAXALIGN rather than DOUBLEALIGN where 1999-07-19 07:07:29 +00:00
bootstrap Change #include's to use <> and "" as appropriate. 1999-07-15 23:04:24 +00:00
catalog First step in fixing selectivity-estimation code. eqsel and 1999-08-01 04:54:25 +00:00
commands First step in fixing selectivity-estimation code. eqsel and 1999-08-01 04:54:25 +00:00
executor Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
lib Change #include's to use <> and "" as appropriate. 1999-07-15 23:04:24 +00:00
libpq Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
mb Fix for multi-byte includes. 1999-07-17 16:25:28 +00:00
nodes First cut at doing LIKE/regex indexing optimization in 1999-07-27 03:51:11 +00:00
optimizer Revise generation of hashjoin paths: generate one path per 1999-08-06 04:00:17 +00:00
parser Revise parse_coerce() to handle coercion of int and float 1999-08-05 02:33:54 +00:00
port linux/sparc cleanup 1999-07-19 18:19:40 +00:00
regex Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
rewrite Change #include's to use <> and "" as appropriate. 1999-07-15 23:04:24 +00:00
storage Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
tcop Change #include's to use <> and "" as appropriate. 1999-07-15 23:04:24 +00:00
utils First step in fixing selectivity-estimation code. eqsel and 1999-08-01 04:54:25 +00:00
c.h Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
config.h.in Re-add getopt.h check, remove NT-specific tests for it. 1999-07-19 02:27:16 +00:00
miscadmin.h Move default NBuffers setting into config.h, and rename it 1999-06-12 22:17:24 +00:00
postgres.h More config.h cleanups. 1999-07-17 04:12:10 +00:00
postgres_ext.h Turns out OIDNAMELEN wasn't really being used at all! 1999-06-04 21:12:07 +00:00
rusagestub.h Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
strdup.h Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
version.h.in Update for 6.6. 1999-07-18 18:06:42 +00:00