CVS log for pgsql/src/backend/optimizer/util/joininfo.c
Up to [PostgreSQL CVS Repository] / pgsql / src / backend / optimizer / util
Request diff between arbitrary revisions - Display revisions graphically
Keyword substitution: kv
Default branch: MAIN
Revision 1.52.6.1: download - view: text, markup, annotated - select for diffs
Tue Sep 14 23:15:36 2010 UTC (14 years, 11 months ago) by tgl
Branches: REL9_0_STABLE
CVS tags: REL9_0_0
Diff to: previous 1.52: preferred, colored; next MAIN 1.53: preferred, colored
Changes since revision 1.52: +35 -1
lines
Fix join-removal logic for pseudoconstant and outerjoin-delayed quals.
In these cases a qual can get marked with the removable rel in its
required_relids, but this is just to schedule its evaluation correctly, not
because it really depends on the rel. We were assuming that, in effect,
we could throw away *all* quals so marked, which is nonsense. Tighten up
the logic to be a little more paranoid about which quals belong to the
outer join being considered for removal, and arrange for all quals that
don't belong to be updated so they will still get evaluated correctly.
Also fix another problem that happened to be exposed by this test case,
which was that make_join_rel() was failing to notice some cases where
a constant-false qual could be used to prove a join relation empty. If it's
a pushed-down constant false, then the relation is empty even if it's an
outer join, because the qual applies after the outer join expansion.
Per report from Nathan Grange. Back-patch into 9.0.
Revision 1.53: download - view: text, markup, annotated - select for diffs
Tue Sep 14 23:15:29 2010 UTC (14 years, 11 months ago) by tgl
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +35 -1
lines
Fix join-removal logic for pseudoconstant and outerjoin-delayed quals.
In these cases a qual can get marked with the removable rel in its
required_relids, but this is just to schedule its evaluation correctly, not
because it really depends on the rel. We were assuming that, in effect,
we could throw away *all* quals so marked, which is nonsense. Tighten up
the logic to be a little more paranoid about which quals belong to the
outer join being considered for removal, and arrange for all quals that
don't belong to be updated so they will still get evaluated correctly.
Also fix another problem that happened to be exposed by this test case,
which was that make_join_rel() was failing to notice some cases where
a constant-false qual could be used to prove a join relation empty. If it's
a pushed-down constant false, then the relation is empty even if it's an
outer join, because the qual applies after the outer join expansion.
Per report from Nathan Grange. Back-patch into 9.0.
Revision 1.52: download - view: text, markup, annotated - select for diffs
Sat Jan 2 16:57:48 2010 UTC (15 years, 8 months ago) by momjian
Branches: MAIN
CVS tags: REL9_1_ALPHA1,
REL9_0_RC1,
REL9_0_BETA4,
REL9_0_BETA3,
REL9_0_BETA2,
REL9_0_BETA1,
REL9_0_ALPHA5_BRANCH,
REL9_0_ALPHA5,
REL9_0_ALPHA4_BRANCH,
REL9_0_ALPHA4
Branch point for: REL9_0_STABLE
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +2 -2
lines
Update copyright for the year 2010.
Revision 1.51: download - view: text, markup, annotated - select for diffs
Thu Jan 1 17:23:44 2009 UTC (16 years, 8 months ago) by momjian
Branches: MAIN
CVS tags: REL8_5_ALPHA3_BRANCH,
REL8_5_ALPHA3,
REL8_5_ALPHA2_BRANCH,
REL8_5_ALPHA2,
REL8_5_ALPHA1_BRANCH,
REL8_5_ALPHA1,
REL8_4_STABLE,
REL8_4_RC2,
REL8_4_RC1,
REL8_4_BETA2,
REL8_4_BETA1,
REL8_4_4,
REL8_4_3,
REL8_4_2,
REL8_4_1,
REL8_4_0
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +2 -2
lines
Update copyright for 2009.
Revision 1.50: download - view: text, markup, annotated - select for diffs
Tue Jan 1 19:45:50 2008 UTC (17 years, 8 months ago) by momjian
Branches: MAIN
CVS tags: REL8_3_STABLE,
REL8_3_RC2,
REL8_3_RC1,
REL8_3_9,
REL8_3_8,
REL8_3_7,
REL8_3_6,
REL8_3_5,
REL8_3_4,
REL8_3_3,
REL8_3_2,
REL8_3_11,
REL8_3_10,
REL8_3_1,
REL8_3_0
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +2 -2
lines
Update copyrights in source tree to 2008.
Revision 1.49: download - view: text, markup, annotated - select for diffs
Thu Nov 15 21:14:36 2007 UTC (17 years, 9 months ago) by momjian
Branches: MAIN
CVS tags: REL8_3_BETA4,
REL8_3_BETA3
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +3 -3
lines
pgindent run for 8.3.
Revision 1.44.2.2: download - view: text, markup, annotated - select for diffs
Fri Feb 16 00:14:07 2007 UTC (18 years, 6 months ago) by tgl
Branches: REL8_2_STABLE
CVS tags: REL8_2_9,
REL8_2_8,
REL8_2_7,
REL8_2_6,
REL8_2_5,
REL8_2_4,
REL8_2_17,
REL8_2_16,
REL8_2_15,
REL8_2_14,
REL8_2_13,
REL8_2_12,
REL8_2_11,
REL8_2_10
Diff to: previous 1.44.2.1: preferred, colored; branchpoint 1.44: preferred, colored; next MAIN 1.45: preferred, colored
Changes since revision 1.44.2.1: +1 -35
lines
Restructure code that is responsible for ensuring that clauseless joins are
considered when it is necessary to do so because of a join-order restriction
(that is, an outer-join or IN-subselect construct). The former coding was a
bit ad-hoc and inconsistent, and it missed some cases, as exposed by Mario
Weilguni's recent bug report. His specific problem was that an IN could be
turned into a "clauseless" join due to constant-propagation removing the IN's
joinclause, and if the IN's subselect involved more than one relation and
there was more than one such IN linking to the same upper relation, then the
only valid join orders involve "bushy" plans but we would fail to consider the
specific paths needed to get there. (See the example case added to the join
regression test.) On examining the code I wonder if there weren't some other
problem cases too; in particular it seems that GEQO was defending against a
different set of corner cases than the main planner was. There was also an
efficiency problem, in that when we did realize we needed a clauseless join
because of an IN, we'd consider clauseless joins against every other relation
whether this was sensible or not. It seems a better design is to use the
outer-join and in-clause lists as a backup heuristic, just as the rule of
joining only where there are joinclauses is a heuristic: we'll join two
relations if they have a usable joinclause *or* this might be necessary to
satisfy an outer-join or IN-clause join order restriction. I refactored the
code to have just one place considering this instead of three, and made sure
that it covered all the cases that any of them had been considering.
Backpatch as far as 8.1 (which has only the IN-clause form of the disease).
By rights 8.0 and 7.4 should have the bug too, but they accidentally fail
to fail, because the joininfo structure used in those releases preserves some
memory of there having once been a joinclause between the inner and outer
sides of an IN, and so it leads the code in the right direction anyway.
I'll be conservative and not touch them.
Revision 1.48: download - view: text, markup, annotated - select for diffs
Fri Feb 16 00:14:01 2007 UTC (18 years, 6 months ago) by tgl
Branches: MAIN
CVS tags: REL8_3_BETA2,
REL8_3_BETA1
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +1 -35
lines
Restructure code that is responsible for ensuring that clauseless joins are
considered when it is necessary to do so because of a join-order restriction
(that is, an outer-join or IN-subselect construct). The former coding was a
bit ad-hoc and inconsistent, and it missed some cases, as exposed by Mario
Weilguni's recent bug report. His specific problem was that an IN could be
turned into a "clauseless" join due to constant-propagation removing the IN's
joinclause, and if the IN's subselect involved more than one relation and
there was more than one such IN linking to the same upper relation, then the
only valid join orders involve "bushy" plans but we would fail to consider the
specific paths needed to get there. (See the example case added to the join
regression test.) On examining the code I wonder if there weren't some other
problem cases too; in particular it seems that GEQO was defending against a
different set of corner cases than the main planner was. There was also an
efficiency problem, in that when we did realize we needed a clauseless join
because of an IN, we'd consider clauseless joins against every other relation
whether this was sensible or not. It seems a better design is to use the
outer-join and in-clause lists as a backup heuristic, just as the rule of
joining only where there are joinclauses is a heuristic: we'll join two
relations if they have a usable joinclause *or* this might be necessary to
satisfy an outer-join or IN-clause join order restriction. I refactored the
code to have just one place considering this instead of three, and made sure
that it covered all the cases that any of them had been considering.
Backpatch as far as 8.1 (which has only the IN-clause form of the disease).
By rights 8.0 and 7.4 should have the bug too, but they accidentally fail
to fail, because the joininfo structure used in those releases preserves some
memory of there having once been a joinclause between the inner and outer
sides of an IN, and so it leads the code in the right direction anyway.
I'll be conservative and not touch them.
Revision 1.47: download - view: text, markup, annotated - select for diffs
Sat Jan 20 20:45:39 2007 UTC (18 years, 7 months ago) by tgl
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +9 -35
lines
Refactor planner's pathkeys data structure to create a separate, explicit
representation of equivalence classes of variables. This is an extensive
rewrite, but it brings a number of benefits:
* planner no longer fails in the presence of "incomplete" operator families
that don't offer operators for every possible combination of datatypes.
* avoid generating and then discarding redundant equality clauses.
* remove bogus assumption that derived equalities always use operators
named "=".
* mergejoins can work with a variety of sort orders (e.g., descending) now,
instead of tying each mergejoinable operator to exactly one sort order.
* better recognition of redundant sort columns.
* can make use of equalities appearing underneath an outer join.
Revision 1.46: download - view: text, markup, annotated - select for diffs
Fri Jan 5 22:19:32 2007 UTC (18 years, 8 months ago) by momjian
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +2 -2
lines
Update CVS HEAD for 2007 copyright. Back branches are typically not
back-stamped for this.
Revision 1.44.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 12 21:31:09 2006 UTC (18 years, 9 months ago) by tgl
Branches: REL8_2_STABLE
CVS tags: REL8_2_3,
REL8_2_2,
REL8_2_1
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +37 -2
lines
Fix planner to do the right thing when a degenerate outer join (one whose
joinclause doesn't use any outer-side vars) requires a "bushy" plan to be
created. The normal heuristic to avoid joins with no joinclause has to be
overridden in that case. Problem is new in 8.2; before that we forced the
outer join order anyway. Per example from Teodor.
Revision 1.45: download - view: text, markup, annotated - select for diffs
Tue Dec 12 21:31:02 2006 UTC (18 years, 9 months ago) by tgl
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +37 -2
lines
Fix planner to do the right thing when a degenerate outer join (one whose
joinclause doesn't use any outer-side vars) requires a "bushy" plan to be
created. The normal heuristic to avoid joins with no joinclause has to be
overridden in that case. Problem is new in 8.2; before that we forced the
outer join order anyway. Per example from Teodor.
Revision 1.44: download - view: text, markup, annotated - select for diffs
Sun Mar 5 15:58:31 2006 UTC (19 years, 6 months ago) by momjian
Branches: MAIN
CVS tags: REL8_2_RC1,
REL8_2_BETA3,
REL8_2_BETA2,
REL8_2_BETA1,
REL8_2_0
Branch point for: REL8_2_STABLE
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +2 -2
lines
Update copyright for 2006. Update scripts.
Revision 1.43: download - view: text, markup, annotated - select for diffs
Thu Jun 9 04:19:00 2005 UTC (20 years, 3 months ago) by tgl
Branches: MAIN
CVS tags: REL8_1_STABLE,
REL8_1_9,
REL8_1_8,
REL8_1_7,
REL8_1_6,
REL8_1_5,
REL8_1_4,
REL8_1_3,
REL8_1_21,
REL8_1_20,
REL8_1_2,
REL8_1_19,
REL8_1_18,
REL8_1_17,
REL8_1_16,
REL8_1_15,
REL8_1_14,
REL8_1_13,
REL8_1_12,
REL8_1_11,
REL8_1_10,
REL8_1_1,
REL8_1_0RC1,
REL8_1_0BETA4,
REL8_1_0BETA3,
REL8_1_0BETA2,
REL8_1_0BETA1,
REL8_1_0
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +36 -82
lines
Simplify the planner's join clause management by storing join clauses
of a relation in a flat 'joininfo' list. The former arrangement grouped
the join clauses according to the set of unjoined relids used in each;
however, profiling on test cases involving lots of joins proves that
that data structure is a net loss. It takes more time to group the
join clauses together than is saved by avoiding duplicate tests later.
It doesn't help any that there are usually not more than one or two
clauses per group ...
Revision 1.42: download - view: text, markup, annotated - select for diffs
Sun Jun 5 22:32:56 2005 UTC (20 years, 3 months ago) by tgl
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +3 -3
lines
Remove planner's private fields from Query struct, and put them into
a new PlannerInfo struct, which is passed around instead of the bare
Query in all the planning code. This commit is essentially just a
code-beautification exercise, but it does open the door to making
larger changes to the planner data structures without having to muck
with the widely-known Query struct.
Revision 1.41: download - view: text, markup, annotated - select for diffs
Fri Dec 31 22:00:23 2004 UTC (20 years, 8 months ago) by pgsql
Branches: MAIN
CVS tags: REL8_0_STABLE,
REL8_0_9,
REL8_0_8,
REL8_0_7,
REL8_0_6,
REL8_0_5,
REL8_0_4,
REL8_0_3,
REL8_0_25,
REL8_0_24,
REL8_0_23,
REL8_0_22,
REL8_0_21,
REL8_0_20,
REL8_0_2,
REL8_0_19,
REL8_0_18,
REL8_0_17,
REL8_0_16,
REL8_0_15,
REL8_0_14,
REL8_0_13,
REL8_0_12,
REL8_0_11,
REL8_0_10,
REL8_0_1,
REL8_0_0RC5,
REL8_0_0RC4,
REL8_0_0RC3,
REL8_0_0
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +2 -2
lines
Tag appropriate files for rc3
Also performed an initial run through of upgrading our Copyright date to
extend to 2005 ... first run here was very simple ... change everything
where: grep 1996-2004 && the word 'Copyright' ... scanned through the
generated list with 'less' first, and after, to make sure that I only
picked up the right entries ...
Revision 1.40: download - view: text, markup, annotated - select for diffs
Sun Aug 29 04:12:34 2004 UTC (21 years ago) by momjian
Branches: MAIN
CVS tags: REL8_0_0RC2,
REL8_0_0RC1,
REL8_0_0BETA5,
REL8_0_0BETA4,
REL8_0_0BETA3,
REL8_0_0BETA2
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -2
lines
Update copyright to 2004.
Revision 1.39: download - view: text, markup, annotated - select for diffs
Sun May 30 23:40:31 2004 UTC (21 years, 3 months ago) by neilc
Branches: MAIN
CVS tags: REL8_0_0BETA1
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +4 -4
lines
Use the new List API function names throughout the backend, and disable the
list compatibility API by default. While doing this, I decided to keep
the llast() macro around and introduce llast_int() and llast_oid() variants.
Revision 1.38: download - view: text, markup, annotated - select for diffs
Wed May 26 04:41:27 2004 UTC (21 years, 3 months ago) by neilc
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +4 -4
lines
Reimplement the linked list data structure used throughout the backend.
In the past, we used a 'Lispy' linked list implementation: a "list" was
merely a pointer to the head node of the list. The problem with that
design is that it makes lappend() and length() linear time. This patch
fixes that problem (and others) by maintaining a count of the list
length and a pointer to the tail node along with each head node pointer.
A "list" is now a pointer to a structure containing some meta-data
about the list; the head and tail pointers in that structure refer
to ListCell structures that maintain the actual linked list of nodes.
The function names of the list API have also been changed to, I hope,
be more logically consistent. By default, the old function names are
still available; they will be disabled-by-default once the rest of
the tree has been updated to use the new API names.
Revision 1.37: download - view: text, markup, annotated - select for diffs
Sat Nov 29 19:51:51 2003 UTC (21 years, 9 months ago) by pgsql
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +1 -1
lines
$Header: -> $PostgreSQL Changes ...
Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon Aug 4 02:40:01 2003 UTC (22 years, 1 month ago) by momjian
Branches: MAIN
CVS tags: WIN32_DEV,
REL7_4_STABLE,
REL7_4_RC2,
REL7_4_RC1,
REL7_4_BETA5,
REL7_4_BETA4,
REL7_4_BETA3,
REL7_4_BETA2,
REL7_4_BETA1,
REL7_4_9,
REL7_4_8,
REL7_4_7,
REL7_4_6,
REL7_4_5,
REL7_4_4,
REL7_4_3,
REL7_4_29,
REL7_4_28,
REL7_4_27,
REL7_4_26,
REL7_4_25,
REL7_4_24,
REL7_4_23,
REL7_4_22,
REL7_4_21,
REL7_4_20,
REL7_4_2,
REL7_4_19,
REL7_4_18,
REL7_4_17,
REL7_4_16,
REL7_4_15,
REL7_4_14,
REL7_4_13,
REL7_4_12,
REL7_4_11,
REL7_4_10,
REL7_4_1,
REL7_4
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +2 -2
lines
Update copyrights to 2003.
Revision 1.35: download - view: text, markup, annotated - select for diffs
Mon Aug 4 00:43:20 2003 UTC (22 years, 1 month ago) by momjian
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +8 -6
lines
pgindent run.
Revision 1.34: download - view: text, markup, annotated - select for diffs
Sat Feb 8 20:20:55 2003 UTC (22 years, 7 months ago) by tgl
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +23 -27
lines
Replace planner's representation of relation sets, per pghackers discussion.
Instead of Lists of integers, we now store variable-length bitmap sets.
This should be faster as well as less error-prone.
Revision 1.33: download - view: text, markup, annotated - select for diffs
Fri Jan 24 03:58:43 2003 UTC (22 years, 7 months ago) by tgl
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +109 -1
lines
Modify planner's implied-equality-deduction code so that when a set
of known-equal expressions includes any constant expressions (including
Params from outer queries), we actively suppress any 'var = var'
clauses that are or could be deduced from the set, generating only the
deducible 'var = const' clauses instead. The idea here is to push down
the restrictions implied by the equality set to base relations whenever
possible. Once we have applied the 'var = const' clauses, the 'var = var'
clauses are redundant, and should be suppressed both to save work at
execution and to avoid double-counting restrictivity.
Revision 1.32: download - view: text, markup, annotated - select for diffs
Mon Jan 20 18:54:56 2003 UTC (22 years, 7 months ago) by tgl
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +12 -23
lines
IN clauses appearing at top level of WHERE can now be handled as joins.
There are two implementation techniques: the executor understands a new
JOIN_IN jointype, which emits at most one matching row per left-hand row,
or the result of the IN's sub-select can be fed through a DISTINCT filter
and then joined as an ordinary relation.
Along the way, some minor code cleanup in the optimizer; notably, break
out most of the jointree-rearrangement preprocessing in planner.c and
put it in a new file prep/prepjointree.c.
Revision 1.31: download - view: text, markup, annotated - select for diffs
Thu Jun 20 20:29:31 2002 UTC (23 years, 2 months ago) by momjian
Branches: MAIN
CVS tags: REL7_3_STABLE,
REL7_3_9,
REL7_3_8,
REL7_3_7,
REL7_3_6,
REL7_3_5,
REL7_3_4,
REL7_3_21,
REL7_3_20,
REL7_3_2,
REL7_3_19,
REL7_3_18,
REL7_3_17,
REL7_3_16,
REL7_3_15,
REL7_3_14,
REL7_3_13,
REL7_3_12,
REL7_3_11,
REL7_3_10
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +2 -2
lines
Update copyright to 2002.
Revision 1.30: download - view: text, markup, annotated - select for diffs
Thu Oct 25 05:49:34 2001 UTC (23 years, 10 months ago) by momjian
Branches: MAIN
CVS tags: REL7_2_STABLE,
REL7_2_RC2,
REL7_2_RC1,
REL7_2_BETA5,
REL7_2_BETA4,
REL7_2_BETA3,
REL7_2_BETA2,
REL7_2_BETA1,
REL7_2_8,
REL7_2_7,
REL7_2_6,
REL7_2_5,
REL7_2_4,
REL7_2_3,
REL7_2
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -2
lines
pgindent run on all C files. Java run to follow. initdb/regression
tests pass.
Revision 1.29: download - view: text, markup, annotated - select for diffs
Thu Mar 22 03:59:39 2001 UTC (24 years, 5 months ago) by momjian
Branches: MAIN
CVS tags: REL7_1_STABLE,
REL7_1_2,
REL7_1
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +2 -2
lines
pgindent run. Make it all clean.
Revision 1.28: download - view: text, markup, annotated - select for diffs
Wed Jan 24 19:43:00 2001 UTC (24 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +2 -2
lines
Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group.
Revision 1.27: download - view: text, markup, annotated - select for diffs
Thu Jun 8 22:37:16 2000 UTC (25 years, 3 months ago) by momjian
Branches: MAIN
CVS tags: REL7_1_BETA3,
REL7_1_BETA2,
REL7_1_BETA
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +3 -2
lines
Mark functions as static and ifdef NOT_USED as appropriate.
Revision 1.26: download - view: text, markup, annotated - select for diffs
Sun Feb 6 03:27:33 2000 UTC (25 years, 7 months ago) by tgl
Branches: MAIN
CVS tags: REL7_0_PATCHES,
REL7_0
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +2 -2
lines
Rename same() to sameseti() to have a slightly less generic name. Move
nonoverlap_sets() and is_subset() to list.c, where they should have lived
to begin with, and rename to nonoverlap_setsi and is_subseti since they
only work on integer lists.
Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Jan 26 05:56:40 2000 UTC (25 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +3 -2
lines
Add:
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
to all files copyright Regents of Berkeley. Man, that's a lot of files.
Revision 1.24: download - view: text, markup, annotated - select for diffs
Mon Aug 16 02:17:57 1999 UTC (26 years, 1 month ago) by tgl
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +3 -37
lines
Major planner/optimizer revision: get rid of PathOrder node type,
store all ordering information in pathkeys lists (which are now lists of
lists of PathKeyItem nodes, not just lists of lists of vars). This was
a big win --- the code is smaller and IMHO more understandable than it
was, even though it handles more cases. I believe the node changes will
not force an initdb for anyone; planner nodes don't show up in stored
rules.
Revision 1.21.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 2 06:27:07 1999 UTC (26 years, 1 month ago) by scrappy
Branches: REL6_5_PATCHES
Diff to: previous 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21: +2 -5
lines
Final round before bed...more tomorrow...
Revision 1.23: download - view: text, markup, annotated - select for diffs
Fri Jul 16 04:59:25 1999 UTC (26 years, 2 months ago) by momjian
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -2
lines
Final cleanup.
Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Jul 15 22:39:30 1999 UTC (26 years, 2 months ago) by momjian
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +1 -4
lines
Remove unused #includes in *.c files.
Revision 1.21: download - view: text, markup, annotated - select for diffs
Tue May 25 22:41:47 1999 UTC (26 years, 3 months ago) by momjian
Branches: MAIN
CVS tags: REL6_5
Branch point for: REL6_5_PATCHES
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +2 -2
lines
Another pgindent run. Sorry folks.
Revision 1.20: download - view: text, markup, annotated - select for diffs
Tue May 25 16:09:54 1999 UTC (26 years, 3 months ago) by momjian
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +4 -4
lines
pgindent run over code.
Revision 1.19: download - view: text, markup, annotated - select for diffs
Mon Feb 22 05:26:26 1999 UTC (26 years, 6 months ago) by momjian
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +3 -3
lines
Final optimizer cleanups.
Revision 1.18: download - view: text, markup, annotated - select for diffs
Thu Feb 18 00:49:37 1999 UTC (26 years, 6 months ago) by momjian
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +9 -10
lines
Fix bushy plans. Cleanup.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon Feb 15 05:21:11 1999 UTC (26 years, 6 months ago) by momjian
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +3 -3
lines
otherrels is now unjoined_rels
Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon Feb 15 03:22:16 1999 UTC (26 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -2
lines
Remove duplicate geqo functions, and more optimizer cleanup
Revision 1.15: download - view: text, markup, annotated - select for diffs
Sat Feb 13 23:16:45 1999 UTC (26 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +10 -10
lines
Change my-function-name-- to my_function_name, and optimizer renames.
Revision 1.14: download - view: text, markup, annotated - select for diffs
Wed Feb 10 21:02:40 1999 UTC (26 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -2
lines
Optmizer cleanup
Revision 1.13: download - view: text, markup, annotated - select for diffs
Wed Feb 3 20:15:42 1999 UTC (26 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +2 -2
lines
Optimizer rename ClauseInfo -> RestrictInfo. Update optimizer README.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Tue Sep 1 04:30:05 1998 UTC (27 years ago) by momjian
Branches: MAIN
CVS tags: REL6_4
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +5 -5
lines
OK, folks, here is the pgindent output.
Revision 1.11: download - view: text, markup, annotated - select for diffs
Tue Sep 1 03:23:52 1998 UTC (27 years ago) by momjian
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +10 -10
lines
Renaming cleanup, no pgindent yet.
Revision 1.10: download - view: text, markup, annotated - select for diffs
Mon Aug 10 02:26:30 1998 UTC (27 years, 1 month ago) by momjian
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +2 -2
lines
Cleanup optimizer function names and clarify code.
Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Aug 4 16:44:17 1998 UTC (27 years, 1 month ago) by momjian
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +2 -2
lines
MergeSort was sometimes called mergejoin and was confusing. Now
it is now only mergejoin.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Sat Jul 18 04:22:40 1998 UTC (27 years, 1 month ago) by momjian
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -2
lines
Rename Rel to RelOptInfo.
Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Jun 15 19:28:48 1998 UTC (27 years, 3 months ago) by momjian
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +1 -5
lines
Remove un-needed braces around single statements.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Thu Feb 26 04:33:18 1998 UTC (27 years, 6 months ago) by momjian
Branches: MAIN
CVS tags: release-6-3
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +4 -4
lines
pgindent run before 6.3 release, with Thomas' requested changes.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Sep 8 21:45:50 1997 UTC (28 years ago) by momjian
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +4 -4
lines
Used modified version of indent that understands over 100 typedefs.
Revision 1.4: download - view: text, markup, annotated - select for diffs
Mon Sep 8 02:24:57 1997 UTC (28 years ago) by momjian
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +11 -11
lines
Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting.
Revision 1.3: download - view: text, markup, annotated - select for diffs
Sun Sep 7 04:44:27 1997 UTC (28 years ago) by momjian
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +73 -65
lines
Massive commit to run PGINDENT on all *.c and *.h files.
Revision 1.2: download - view: text, markup, annotated - select for diffs
Sun Nov 10 03:01:00 1996 UTC (28 years, 10 months ago) by momjian
Branches: MAIN
CVS tags: REL2_0B,
REL2_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -1
lines
All external function definitions now have prototypes that are checked.
Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue Jul 9 06:21:38 1996 UTC (29 years, 2 months ago) by scrappy
Branches: PG95_DIST
CVS tags: Release_2_0_0,
Release_2_0,
Release_1_0_3,
Release_1_0_2,
PG95-1_01
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0
lines
Postgres95 1.01 Distribution - Virgin Sources
Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Jul 9 06:21:38 1996 UTC (29 years, 2 months ago) by scrappy
Branches: MAIN
Initial revision
PostgreSQL CVSweb <webmaster@postgresql.org>