Harish Butani created HIVE-7324: ----------------------------------- Summary: CBO: provide a mechanism to test CBO features based on table stats only (w/o table data) Key: HIVE-7324 URL: https://issues.apache.org/jira/browse/HIVE-7324 Project: Hive Issue Type: Sub-task Reporter: Harish Butani Assignee: Harish Butani
Since lot of the CBO work is focused on planning, it will be nice to be able to run explain query to test CBO features. TPCDS has a rich enough schema and query set. So the patch loads a dump TPCDS(Scale 10000) stats. 1. TestCBO shows a way to load stats from a dump and run explain on a tpcds query. The output is currently dumped to Sys.out. This can be improved by hooking to QTestUtil, but hopefully this is a good start. 2. Uncovered couple of issues in the process of testing this: a) PartitionPruner fails on 'true' constants. For e.g. you will get an error for {code} select * from t where partCol < 100 and true {code} This gets exposed because the predicates coming out of Optiq can contain 'true' predicates. b) OpTraitsRulesProcFactory:checkBucketedTable checks that number of files = numBuckets. This fails because there are no dataFiles. So I have altered it to catch exceptions and assume bucketMapJoinConvertible = false if an exception is encountered here. Uploading with these changes in this patch for now. Will carve them out as separate patches. [~ashutoshc], [~hagleitn] can you please take a look. -- This message was sent by Atlassian JIRA (v6.2#6252)