1717 */
1818package org .apache .hadoop .hive .ql .optimizer .calcite ;
1919
20- import java .util .List ;
21-
22- import org .apache .calcite .rel .RelNode ;
2320import org .apache .calcite .rel .metadata .ChainedRelMetadataProvider ;
2421import org .apache .calcite .rel .metadata .JaninoRelMetadataProvider ;
2522import org .apache .calcite .rel .metadata .RelMetadataProvider ;
@@ -76,11 +73,11 @@ public class HiveDefaultRelMetadataProvider {
7673 private final RelMetadataProvider metadataProvider ;
7774
7875
79- public HiveDefaultRelMetadataProvider (HiveConf hiveConf , List < Class <? extends RelNode >> nodeClasses ) {
80- this .metadataProvider = init (hiveConf , nodeClasses );
76+ public HiveDefaultRelMetadataProvider (HiveConf hiveConf ) {
77+ this .metadataProvider = init (hiveConf );
8178 }
8279
83- private RelMetadataProvider init (HiveConf hiveConf , List < Class <? extends RelNode >> nodeClasses ) {
80+ private RelMetadataProvider init (HiveConf hiveConf ) {
8481 // Create cost metadata provider
8582 if (HiveConf .getVar (hiveConf , HiveConf .ConfVars .HIVE_EXECUTION_ENGINE ).equals ("tez" )
8683 && HiveConf .getBoolVar (hiveConf , HiveConf .ConfVars .HIVE_CBO_EXTENDED_COST_MODEL )) {
@@ -89,7 +86,7 @@ private RelMetadataProvider init(HiveConf hiveConf, List<Class<? extends RelNode
8986 hiveConf , HiveConf .ConfVars .MAPRED_MAX_SPLIT_SIZE );
9087
9188 // Create and return metadata provider
92- JaninoRelMetadataProvider metadataProvider = JaninoRelMetadataProvider .of (
89+ return JaninoRelMetadataProvider .of (
9390 ChainedRelMetadataProvider .of (
9491 ImmutableList .of (
9592 HiveRelMdDistinctRowCount .SOURCE ,
@@ -109,13 +106,6 @@ private RelMetadataProvider init(HiveConf hiveConf, List<Class<? extends RelNode
109106 HiveRelMdTableReferences .SOURCE ,
110107 HiveRelMdAggregatedColumns .SOURCE ,
111108 JaninoRelMetadataProvider .DEFAULT )));
112-
113- if (nodeClasses != null ) {
114- // If classes were passed, pre-register them
115- metadataProvider .register (nodeClasses );
116- }
117-
118- return metadataProvider ;
119109 }
120110
121111 return DEFAULT ;
@@ -124,14 +114,4 @@ private RelMetadataProvider init(HiveConf hiveConf, List<Class<? extends RelNode
124114 public RelMetadataProvider getMetadataProvider () {
125115 return metadataProvider ;
126116 }
127-
128- /**
129- * This method can be called at startup time to pre-register all the
130- * additional Hive classes (compared to Calcite core classes) that may
131- * be visited during the planning phase.
132- */
133- public static void initializeMetadataProviderClass (List <Class <? extends RelNode >> nodeClasses ) {
134- // This will register the classes in the default Hive implementation
135- DEFAULT .register (nodeClasses );
136- }
137117}
0 commit comments