diff options
| author | Bruce Momjian <bruce@momjian.us> | 1999-02-03 20:15:53 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 1999-02-03 20:15:53 +0000 |
| commit | 8d9237d48510464dc03e8b00e7203927dc07c4d4 (patch) | |
| tree | a7a2cbcecc176e358cc5f0c3dcb49c193b9aed00 /src/backend/optimizer/README | |
| parent | f3a6b38e321a30a447c31404d127eee9d01582df (diff) | |
| download | postgresql-8d9237d48510464dc03e8b00e7203927dc07c4d4.tar.gz | |
Optimizer rename ClauseInfo -> RestrictInfo. Update optimizer README.
Diffstat (limited to 'src/backend/optimizer/README')
| -rw-r--r-- | src/backend/optimizer/README | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/backend/optimizer/README b/src/backend/optimizer/README index 8e9684c6d9..0bce226a79 100644 --- a/src/backend/optimizer/README +++ b/src/backend/optimizer/README @@ -1,4 +1,4 @@ -Thse directories take the Query structure returned by the parser, and +These directories take the Query structure returned by the parser, and generate a plan used by the executor. The /plan directory generates the plan, the /path generates all possible ways to join the tables, and /prep handles special cases like inheritance. /utils is utility stuff. @@ -81,10 +81,20 @@ planner() remove from the join list the relation we just added to each join prune_rel_paths() set cheapest and perhaps remove unordered path, recompute table sizes - if we have not done all the tables, go to "again" + if we have not done all the tables, go to again: do group(GROUP) do aggregate put back constants re-flatten target list make unique(DISTINCT) make sort(ORDER BY) + + + +Optimizer Structures +-------------------- +Path - info about every way to access a relation(sequential, index) + PathOrder - info about every ordering (sort, merge of relations) +RelOptInfo - info about every relation + JoinInfo - info about join combinations +RestrictInfo - info about restrictions |
