Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
Description
Currently, drill will get all the storage-engine-specific rules in StoragePluginRegistry, and register all the rules (HBase, Hive, etc) with the optimizer planner. This means even the query only refers a Hive table, the optimizer may still have rule for other storage-engine.
In stead, we should register the storage-engine-specific rules using interface RelNode's register() method, when we know a scan is for one particular storage-engine. This will avoid the issue that optimizer has more than necessary rules in its rule queue.