Discussion:
A3 - output question
(too old to reply)
chris
2011-03-26 17:03:02 UTC
Permalink
"The output should also include constructed single-relation paths..."

Does this mean we should print all paths as we create them (one per
interesting order) or print them at the end of creating them? i.e. print
only ones that have persisted as interesting paths.

In other words, should we bother printing paths that we create but that
don't make it to RelOptInfo's pathlist because they get dominated by
another path?
Earl Oliver
2011-03-28 18:53:38 UTC
Permalink
Printing off RelOptInfo's pathlist is best. I'm not sure what you mean
by being "dominated".

You are not required to print off the final selected plan. I extract
your plan myself using the 'explain' prefix on the query string.

Earl
Post by chris
"The output should also include constructed single-relation paths..."
Does this mean we should print all paths as we create them (one per
interesting order) or print them at the end of creating them? i.e. print
only ones that have persisted as interesting paths.
In other words, should we bother printing paths that we create but that
don't make it to RelOptInfo's pathlist because they get dominated by
another path?
chris
2011-03-29 05:28:23 UTC
Permalink
What I meant is whether we should print paths before or after calling
addpath on our paths. If we print before, it outputs every path we ever
create; if we print after, it will NOT print a path that we created but
that got deleted by addpath because it's not the lowest cost way to
create it's order. Printing paths before adding yields a superset of
RelOptInfo's pathlist.

I asked Prof Salem about this during today's office hours and his answer
was to print before, since it's important to see every path created
(even if it later gets deleted) because it illustrates our logic in
determining which interesting orders apply to each base relation.

Sorry... should have posted answer after getting it..

Chris
Printing off RelOptInfo's pathlist is best. I'm not sure what you mean
by being "dominated".
You are not required to print off the final selected plan. I extract
your plan myself using the 'explain' prefix on the query string.
Earl
Post by chris
"The output should also include constructed single-relation paths..."
Does this mean we should print all paths as we create them (one per
interesting order) or print them at the end of creating them? i.e. print
only ones that have persisted as interesting paths.
In other words, should we bother printing paths that we create but that
don't make it to RelOptInfo's pathlist because they get dominated by
another path?
Ken Salem
2011-03-29 16:29:11 UTC
Permalink
Print them as you create them. We want to see all of the paths you
decide to create, not just the best plan for any given order.

-KMS
Post by chris
What I meant is whether we should print paths before or after calling
addpath on our paths. If we print before, it outputs every path we ever
create; if we print after, it will NOT print a path that we created but
that got deleted by addpath because it's not the lowest cost way to
create it's order. Printing paths before adding yields a superset of
RelOptInfo's pathlist.
I asked Prof Salem about this during today's office hours and his answer
was to print before, since it's important to see every path created
(even if it later gets deleted) because it illustrates our logic in
determining which interesting orders apply to each base relation.
Sorry... should have posted answer after getting it..
Chris
Printing off RelOptInfo's pathlist is best. I'm not sure what you mean
by being "dominated".
You are not required to print off the final selected plan. I extract
your plan myself using the 'explain' prefix on the query string.
Earl
Post by chris
"The output should also include constructed single-relation paths..."
Does this mean we should print all paths as we create them (one per
interesting order) or print them at the end of creating them? i.e. print
only ones that have persisted as interesting paths.
In other words, should we bother printing paths that we create but that
don't make it to RelOptInfo's pathlist because they get dominated by
another path?
Continue reading on narkive:
Loading...