Tom Lane
fecb2b0024
Minor code cleanup in optimizer.
1999-05-16 19:45:37 +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
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
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
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
a564d2bf0f
geqo now at 11 tables
1999-03-07 12:00:40 +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
Bruce Momjian
1ed5cbbfd8
Final optimizer cleanups.
1999-02-22 05:26:58 +00:00
Bruce Momjian
23c30246d7
pathkeys.c cleanup.
1999-02-21 01:55:03 +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
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
Bruce Momjian
31cce21fb0
Fix bushy plans. Cleanup.
1999-02-18 00:49:48 +00:00
Bruce Momjian
c82ca4c158
Re-enable bushy plans. Vadim want them.
1999-02-16 00:41:03 +00:00
Bruce Momjian
e6bf7b4d93
rename
1999-02-15 05:56:07 +00:00
Bruce Momjian
56bb23a8fe
optimizer rename
1999-02-15 05:50:02 +00:00
Bruce Momjian
50034a852d
optimizer rename
1999-02-15 05:28:10 +00:00
Bruce Momjian
82682ff31f
optimizer rename
1999-02-15 03:59:28 +00:00
Bruce Momjian
ba2883b264
Remove duplicate geqo functions, and more optimizer cleanup
1999-02-15 03:22:37 +00:00
Bruce Momjian
61aa825876
Optimizer rename.
1999-02-14 04:57:02 +00:00
Bruce Momjian
6724a50787
Change my-function-name-- to my_function_name, and optimizer renames.
1999-02-13 23:22:53 +00:00
Bruce Momjian
ad4b27ac3f
Optimizer cleanup.
1999-02-12 17:25:05 +00:00
Bruce Momjian
c0d17c7aee
JoinPath -> NestPath for nested loop.
1999-02-12 06:43:53 +00:00
Bruce Momjian
3fdb9bb9c7
Fix optimizer and make faster.
1999-02-12 05:57:08 +00:00
Bruce Momjian
6de25f09b1
Optimizer cleanup.
1999-02-11 17:00:49 +00:00
Bruce Momjian
d244df95db
More optimizer speedups.
1999-02-11 14:59:09 +00:00
Bruce Momjian
dbd80c97f4
Optimizer fix for samekeys() and cost fixes for longer optimizer keys.
1999-02-11 04:08:44 +00:00
Bruce Momjian
9dbb0efb0b
Optmizer cleanup
1999-02-10 21:02:50 +00:00
Bruce Momjian
f859c81c18
Rename Path.keys to Path.pathkeys. Too many 'keys' used for other things.
1999-02-10 03:52:54 +00:00
Bruce Momjian
318e593f03
Rename Temp to Noname for noname tables.
1999-02-09 17:03:14 +00:00
Bruce Momjian
a553760845
Optimizer cleanup.
1999-02-06 17:29:30 +00:00
Bruce Momjian
ce3afccf7f
More optimizer cleanups.
1999-02-04 03:19:11 +00:00
Bruce Momjian
8d9237d485
Optimizer rename ClauseInfo -> RestrictInfo. Update optimizer README.
1999-02-03 20:15:53 +00:00
Bruce Momjian
8e958b8a38
Fix create_rule is->as.
1999-02-02 17:46:17 +00:00
Bruce Momjian
4390b0bfbe
Add TEMP tables/indexes. Add COPY pfree(). Other cleanups.
1999-02-02 03:45:56 +00:00
Bruce Momjian
1401f63dd1
Agg/Aggreg cleanup and datetime.sql patch.
1999-01-25 18:02:28 +00:00
Thomas G. Lockhart
bedd04a551
Implement CASE expression.
1998-12-04 15:34:49 +00:00
Bruce Momjian
173c555948
Make functions static or ifdef NOT_USED. Prevent pg_version creation.
1998-10-08 18:30:52 +00:00
Bruce Momjian
fcecc5ca1e
[Part #1 : Type: text/plain, Encoding: 7bit, Size: 59]
...
I will be cleaning this up more before the Oct 1 deadline.
David Hartwig. AND/OR fix.
1998-09-03 02:34:35 +00:00
Bruce Momjian
fa1a8d6a97
OK, folks, here is the pgindent output.
1998-09-01 04:40:42 +00:00
Bruce Momjian
af74855a60
Renaming cleanup, no pgindent yet.
1998-09-01 03:29:17 +00:00
Bruce Momjian
2d32d909b5
Cleanup optimizer function names and clarify code.
1998-08-10 02:26:40 +00:00
Bruce Momjian
a08dc16c47
New pgindent.
1998-08-09 04:59:10 +00:00
Bruce Momjian
d9be0ff432
MergeSort was sometimes called mergejoin and was confusing. Now
...
it is now only mergejoin.
1998-08-04 16:44:31 +00:00
Bruce Momjian
7702d7aa4b
target list fixes.
1998-07-20 21:18:35 +00:00
Bruce Momjian
1d00134be4
makeTargetEntry cleanup.
1998-07-20 20:48:54 +00:00
Bruce Momjian
3dd2eabc53
Cleanup makeTargetEntry and remove internal.c.
1998-07-20 19:53:53 +00:00
Bruce Momjian
460b20a43f
1) Queries using the having clause on base tables should work well
...
now. Here some tested features, (examples included in the patch):
1.1) Subselects in the having clause 1.2) Double nested subselects
1.3) Subselects used in the where clause and in the having clause
simultaneously 1.4) Union Selects using having 1.5) Indexes
on the base relations are used correctly 1.6) Unallowed Queries
are prevented (e.g. qualifications in the
having clause that belong to the where clause) 1.7) Insert
into as select
2) Queries using the having clause on view relations also work
but there are some restrictions:
2.1) Create View as Select ... Having ...; using base tables in
the select 2.1.1) The Query rewrite system:
2.1.2) Why are only simple queries allowed against a view from 2.1)
? 2.2) Select ... from testview1, testview2, ... having...; 3) Bug
in ExecMergeJoin ??
Regards Stefan
1998-07-19 05:49:26 +00:00
Bruce Momjian
584f9438ca
Rename Rel to RelOptInfo.
1998-07-18 04:22:52 +00:00
Bruce Momjian
5529b783a8
Move HAVING function to proper file.
1998-04-15 15:29:57 +00:00
Bruce Momjian
a32450a585
pgindent run before 6.3 release, with Thomas' requested changes.
1998-02-26 04:46:47 +00:00
Vadim B. Mikheev
5d7923dd1c
Subselects...
1998-02-13 03:46:56 +00:00
Bruce Momjian
7229513943
Fix prototypes so they don't look like function definitions.
1998-01-24 22:50:57 +00:00
Bruce Momjian
763ff8aef8
Remove Query->qry_aggs and qry_numaggs and replace with Query->hasAggs.
...
Pass List* of Aggregs into executor, and create needed array there.
No longer need to double-processs Aggregs with second copy in Query.
Fix crash when doing:
select sum(x+1) from test where 1 > 0;
1998-01-15 19:00:16 +00:00
Bruce Momjian
a01b085c78
Cleanup of UNION ALL fix. Manual page updates.
1997-12-29 01:13:37 +00:00
Bruce Momjian
6231e161c9
Implementation of UNIONs.
1997-12-24 06:06:58 +00:00
Bruce Momjian
78a055a659
Remove some recursion in optimizer and clean up some code there.
1997-12-21 05:18:48 +00:00
Bruce Momjian
7fd4782504
Fix aggregates on inherited tables.
1997-12-20 07:59:44 +00:00
Bruce Momjian
6a45941f2f
Remove Existential, and ifdef out generate_fjoin. Neither did anything.
1997-12-18 12:54:45 +00:00
Bruce Momjian
d3f0e87d17
Cost cleanup.
1997-12-18 12:21:02 +00:00
Bruce Momjian
598e86f3b3
Cleanup up include files.
1997-11-26 01:14:33 +00:00
Bruce Momjian
4a5b781d71
Break parser functions into smaller files, group together.
1997-11-25 22:07:18 +00:00
Bruce Momjian
3fa2bb316c
Remove archive stuff.
1997-11-21 18:12:58 +00:00
Bruce Momjian
e9e1ff226f
Remove all time travel stuff. Small parser cleanup.
1997-11-20 23:24:03 +00:00
Bruce Momjian
cf5a8723dd
Increase default geqo parameter to 8.
1997-09-12 21:25:10 +00:00
Bruce Momjian
59f6a57e59
Used modified version of indent that understands over 100 typedefs.
1997-09-08 21:56:23 +00:00
Bruce Momjian
075cede748
Add typdefs to pgindent run.
1997-09-08 20:59:27 +00:00
Bruce Momjian
319dbfa736
Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting.
1997-09-08 02:41:22 +00:00
Bruce Momjian
1ccd423235
Massive commit to run PGINDENT on all *.c and *.h files.
1997-09-07 05:04:48 +00:00
Bruce Momjian
1d8bbfd2e7
Make functions static where possible, enclose unused functions in #ifdef NOT_USED.
1997-08-19 21:40:56 +00:00
Vadim B. Mikheev
9c0d64c21c
#define GEQO_RELS 6 (not 7)
1997-06-03 03:15:50 +00:00
Vadim B. Mikheev
465047d604
#define GEQO_RELS 7
...
moved from geqo.h to internal.h.
1997-06-02 11:19:33 +00:00
Bruce Momjian
8bc7439ccf
Enable GEQO for more than six tables, from Martin.
1997-06-01 02:56:00 +00:00
Vadim B. Mikheev
0a08f2b22d
#define _CPU_PAGE_WEIGHT_: 0.065 --> 0.033
...
#define _CPU_INDEX_PAGE_WEIGHT_: 0.033 --> 0.017
1997-04-24 15:38:34 +00:00
Vadim B. Mikheev
75e2370cc8
Now we have #define _CPU_INDEX_PAGE_WEIGHT_ 0.033 (/* CPU-index-to-page cost
...
weighting factor */) in addition to
#define _CPU_PAGE_WEIGHT_ 0.065 (/* CPU-heap-to-page cost weighting factor
*/).
1997-04-09 02:24:19 +00:00
Bruce Momjian
162c2a6e4c
Remove _PAGE_SIZE_ as recommended by Darren King.
1997-03-02 01:34:50 +00:00
Marc G. Fournier
29138eeb3c
Merge in GEQO Optimizer
...
From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>
1997-02-19 12:59:07 +00:00
Marc G. Fournier
1d0dd471fa
Okay...this pretty much cleans out the include files.
...
I'm able to get through a 'make' of the backend with no errors except
the occasional 'might not be initialized error', which is nothing major,
just annoying.
Have a few patches from D'Arcy to incorporate, but am waiting until I can
get a clean compile first, which I'm hoping to have before bed, or sometime
tomorrow.
1996-11-06 10:31:02 +00:00
Marc G. Fournier
be9197320a
One by one, file by file
1996-11-06 09:27:29 +00:00
Marc G. Fournier
3f07f6bab2
Another
1996-11-06 09:24:57 +00:00
Marc G. Fournier
92ec7b5812
And another
1996-11-06 09:19:16 +00:00
Marc G. Fournier
8b6b4d063a
another one bites the dust
1996-11-06 09:17:31 +00:00
Marc G. Fournier
87b07a3974
Further include file cleanups
1996-11-06 07:44:18 +00:00
Marc G. Fournier
99412aef23
remove:
...
#include "postgres.h"
#include "c.h"
1996-10-31 09:51:30 +00:00
Marc G. Fournier
870be9fa8e
Clean up th ecompile process by centralizing the include files
...
- code compile tested, but due to a yet unresolved problem with
parse.h's creation, compile not completed...
1996-08-28 07:27:54 +00:00