LucidDB / luciddb

DEFUNCT: See README
https://github.com/LucidDB/luciddb
Apache License 2.0
53 stars 24 forks source link

[FRG-8] show cost in EXPLAIN PLAN, and allow for display of other derived attributes #862

Open dynamobi-build opened 12 years ago

dynamobi-build commented 12 years ago

[reporter="jvs", created="Wed, 21 Dec 2005 10:41:56 -0500 (GMT-05:00)"] Need to allow rels to flag whether each attributes should be an input to the digest; purely informational attributes such as cost should NOT be inputs to the digest.

Even though we have an XML format, probably still need a detail parameter controlling how much information is displayed, since sometimes we care about cost in diff-based tests, but often we don't.

dynamobi-build commented 12 years ago

[author="jvs", created="Fri, 23 Dec 2005 11:22:09 -0500 (GMT-05:00)"] In eigenchange 4814, I implemented new syntax:

EXPLAIN PLAN
[ { EXCLUDING | INCLUDING [ ALL ] } ATTRIBUTES ]
[ { WITH | WITHOUT } IMPLEMENTATION ]
[ AS XML ]
FOR query-or-DML-statement

The default detail level is INCLUDING ATTRIBUTES. EXCLUDING ATTRIBUTES displays only operator names, while INCLUDING ALL ATTRIBUTES adds additional attributes (currently just cost).

Now, theoretically if rels wanted to tack on extra information, they can test with "if planWriter.getDetailLevel() == SqlExplainLevel.ALL_ATTRIBUTES)", and then pass longer arrays. However, the array-based mechanism for properties is confusing (mismatching array lengths based on number of children) and difficult to use once optional attributes are possible. Also, the XML plan writer is a little world of its own, so I just left a TODO there. So I'm leaving this issue until we enhance the internal interface.

dynamobi-build commented 12 years ago

[author="jvs", created="Tue, 27 Dec 2005 14:23:51 -0500 (GMT-05:00)"] Changing priority to minor since display of cost was the most important thing.

dynamobi-build commented 12 years ago

[author="jvs", created="Sun, 13 Aug 2006 15:55:30 -0500 (GMT-05:00)"] Discussion in FRG-182 has another example of where controlling the verbosity would be nice.

dynamobi-build commented 12 years ago

[author="jvs", created="Thu, 20 Sep 2007 21:18:34 -0500 (GMT-05:00)"] LDB-168 logs the need for better reporting of cost in final plan for LucidDB.