Bruce Momjian
4eadfe8754
Make 0x007f -> (unsigned)0x7f to make pgindent happy.
1999-05-25 22:04:56 +00:00
Bruce Momjian
07842084fe
pgindent run over code.
1999-05-25 16:15:34 +00:00
Tom Lane
795f6ca66a
Update commentary in sample GEQO config file.
1999-05-22 23:59:59 +00:00
Tom Lane
b2f14e11ec
Reduce default GEQO 'effort' setting to MEDIUM always.
...
This agrees with the documentation and seems like a more useful default
anyhow ...
1999-05-22 23:27:19 +00:00
Tom Lane
b21005fa7c
Allow GEQO effort to be specified numerically, as well as
...
symbolic LOW/MEDIUM/HIGH values --- needed for experiments with other
effort levels ...
1999-05-22 19:29:01 +00:00
Tom Lane
c2f0d565f3
Now that hashjoin is reliable for large joins (knock on wood),
...
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...)
1999-05-18 21:36:10 +00:00
Tom Lane
353d36f979
Remove no-longer-used fields in Hash and HashJoin nodes.
1999-05-18 21:34:29 +00:00
Bruce Momjian
585c967720
Change resjunk to a boolean.
1999-05-17 17:03:51 +00:00
Tom Lane
0b8b1fe3aa
Tighten coding in new_join_pathkey, which seems to be a hotspot
...
for GEQO ...
1999-05-17 00:26:33 +00:00
Tom Lane
1332c1e144
Change GEQO optimizer to release memory after each gene
...
is evaluated. This bounds memory usage to something reasonable even
when many tables are being joined.
1999-05-17 00:25:34 +00:00
Tom Lane
fecb2b0024
Minor code cleanup in optimizer.
1999-05-16 19:45:37 +00:00
Tom Lane
f2ed835baf
Fix some typos in geqo optimizer --- it now generates
...
reasonable plans again. Still eats memory like there's no tomorrow,
however :-(.
1999-05-16 19:45:00 +00:00
Tom Lane
507a0a2ab0
Rip out QueryTreeList structure, root and branch. Querytree
...
lists are now plain old garden-variety Lists, allocated with palloc,
rather than specialized expansible-array data allocated with malloc.
This substantially simplifies their handling and eliminates several
sources of memory leakage.
Several basic types of erroneous queries (syntax error, attempt to
insert a duplicate key into a unique index) now demonstrably leak
zero bytes per query.
1999-05-13 07:29:22 +00:00
Jan Wieck
79c2576f77
Replaced targetlist entry in GroupClause by reference number
...
in Resdom and GroupClause so changing of resno's doesn't confuse
the grouping any more.
Jan
1999-05-12 15:02:39 +00:00
Bruce Momjian
4853495e03
Change error messages to oids come out as %u and not %d. Change has no
...
real affect now.
1999-05-10 00:46:32 +00:00
Tom Lane
ec1f5f78b9
Fix oversights in flatten_tlistentry and replace_clause_joinvar_refs
...
that led to CASE expressions not working very well in joined queries.
1999-05-06 23:07:33 +00:00
Tom Lane
5729c3503d
fix_indxqual_references didn't cope with ArrayRef nodes,
...
meaning that this failed:
select proname,typname,prosrc from pg_proc,pg_type
where proname = 'float8' and pg_proc.proargtypes[0] = pg_type.oid;
1999-05-06 01:30:58 +00:00
Tom Lane
5da466c597
Make sure targetlist generated for subplan does not share
...
nodes with HAVING qualifier of upper plan. Have not seen any failures,
just being a little bit paranoid...
1999-05-04 00:00:20 +00:00
Tom Lane
da5f1dd722
Revise union_planner and associated routines to clean up breakage
...
from EXCEPT/HAVING patch. Cases involving nontrivial GROUP BY expressions
now work again. Also, the code is at least somewhat better documented...
1999-05-03 00:38:44 +00:00
Tom Lane
605d84941d
Clean up cost_sort some more: most callers were double-counting
...
the cost of reading the source data.
1999-05-01 19:47:42 +00:00
Tom Lane
17dbeebb5f
Fill in reasonable-looking cost estimates in inserted nodes.
...
This makes no difference to the optimizer, which has already decided what
it's gonna do, but it makes the output of EXPLAIN much more plausible.
1999-04-30 04:04:27 +00:00
Tom Lane
7a7ba33536
Clean up some bogosities in path cost estimation, like
...
sometimes estimating an index scan of a table to be cheaper than a
sequential scan of the same tuples...
1999-04-30 04:01:44 +00:00
Tom Lane
11a0027e28
Fix nasty little typo that prevented get_cheapest_path_for_joinkeys
...
from ever returning a path. This put a bit of a crimp in the system's
ability to generate intelligent merge-join plans...
1999-04-30 03:59:06 +00:00
Tom Lane
970583ab4f
Several routines in setrefs.c would crash on array refs
...
due to lack of check for recursing into a null subexpression.
1999-04-29 00:20:27 +00:00
Tom Lane
eb00bdf237
Insert a test for missing targetlist entry in replace_agg_clause.
1999-04-26 00:37:46 +00:00
Tom Lane
4438b70b94
Repair some problems in planner's handling of HAVING clauses.
...
This fixes a few of the problems Hiroshi Inoue complained of, but
I have not touched the rewrite-related issues.
1999-04-19 01:43:12 +00:00
Tom Lane
e91f43a122
Fix potential overflow problems when relation size exceeds
...
2gig. Fix failure to reliably put the smaller relation on the inside of
a hashjoin.
1999-04-05 02:07:07 +00:00
Tom Lane
ff38837fe9
Fix nasty bug in optimization of multiway joins: optimizer
...
would sometimes generate a plan that omitted a sort step before merge.
1999-04-03 00:18:28 +00:00
Bruce Momjian
bd6f98af31
I suggest the following portability patch, which does not
...
change functionality, but makes the code more ANSI C'ish.
My AIX xlc compiler barfs on all of these. Can someone please
review and apply to current.
<<port.patch>>
Thanks
Andreas
1999-03-19 18:56:43 +00:00
Bruce Momjian
dc02fd709f
cleanups
1999-03-18 19:59:55 +00:00
Bruce Momjian
f7430af934
Fix OR index selectivity problem.
1999-03-08 14:01:57 +00:00
Bruce Momjian
c831d08fac
Fix for Alpha OR selectivity bug.
1999-03-08 13:35:50 +00:00
Tom Lane
e0345e09bf
Partial fix for copied-plan bugs reported by Hiroshi Inoue:
...
_copyResult didn't copy subPlan structure completely. _copyAgg is still
busted, apparently because of changes from EXCEPT/INTERSECT patch
(get_agg_tlist_references is no longer sufficient to find all aggregates).
No time to look at that tonight, however.
1999-03-03 00:02:42 +00:00
Tom Lane
b204d10c79
Executor no longer cares about mergejoinop, mergerightorder, mergeleftorder,
...
so remove them from MergeJoin node. Hack together a partial
solution for commuted mergejoin operators --- yesterday
a mergejoin int4 = int8 would crash if the planner decided to
commute it, today it works. The planner's representation of
mergejoins really needs a rewrite though.
Also, further testing of mergejoin ops in opr_sanity regress test.
1999-03-01 00:10:44 +00:00
Bruce Momjian
ceb233ed11
more cleanup
1999-02-22 06:08:48 +00:00
Bruce Momjian
1ed5cbbfd8
Final optimizer cleanups.
1999-02-22 05:26:58 +00:00
Marc G. Fournier
8c3e8a8a0e
From: Tatsuo Ishii <t-ishii@sra.co.jp>
...
Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef
NOT_USED" for current. I have tested these patches in that the
postgres binaries are identical.
1999-02-21 03:49:55 +00:00
Bruce Momjian
23c30246d7
pathkeys.c cleanup.
1999-02-21 01:55:03 +00:00
Bruce Momjian
75cccd0ad3
pathkeys fixes
1999-02-20 19:02:43 +00:00
Bruce Momjian
0ff2733355
Update pathkeys comparison function.
1999-02-20 18:01:02 +00:00
Bruce Momjian
148ec3b1d8
update pathkey description.
1999-02-20 16:32:35 +00:00
Bruce Momjian
9188aab758
add pathkeys description.
1999-02-20 16:28:20 +00:00
Bruce Momjian
67fd67f53a
another rename of optimizer
1999-02-20 15:27:42 +00:00
Bruce Momjian
612b8434e4
optimizer cleanup
1999-02-19 05:18:06 +00:00
Bruce Momjian
8ab72a38df
optimizer cleanup
1999-02-19 02:05:20 +00:00
Bruce Momjian
cd38f08598
rename optimizer file name
1999-02-18 19:58:53 +00:00
Bruce Momjian
b4e7510e09
Enable bushy and right-hand queries by default.
1999-02-18 06:01:11 +00:00
Bruce Momjian
65ccd1039a
Enable bushy plans by default.
1999-02-18 05:26:34 +00:00
Bruce Momjian
e78662d879
optimizer cleanup
1999-02-18 04:55:54 +00:00
Bruce Momjian
d977ff7b52
more optimizer cleanups
1999-02-18 04:45:36 +00:00