@@ -185,24 +185,9 @@ public void extractJoinNeedSelectField(SqlNode leftNode,
185185 Set <Tuple2 <String , String >> joinFieldSet ,
186186 Map <String , String > fieldRef ,
187187 JoinInfo tableInfo ){
188- Set <String > fromTableNameSet = Sets .newHashSet ();
189- TableUtils .getFromTableInfo (leftNode , fromTableNameSet );
190- Set <String > extractCondition = Sets .newHashSet ();
191- extractWhereCondition (fromTableNameSet , (SqlBasicCall ) parentWhere , extractCondition );
192- Set <String > extractSelectField = extractSelectFields (parentSelectList , fromTableNameSet , tableRef );
193- Set <String > fieldFromJoinCondition = extractSelectFieldFromJoinCondition (joinFieldSet , fromTableNameSet , tableRef );
194188
195- extractSelectField .addAll (extractCondition );
196- extractSelectField .addAll (fieldFromJoinCondition );
197-
198- Set <String > rightFromTableNameSet = Sets .newHashSet ();
199- TableUtils .getFromTableInfo (rightNode , rightFromTableNameSet );
200- Set <String > extractRightCondition = Sets .newHashSet ();
201- extractWhereCondition (rightFromTableNameSet , (SqlBasicCall ) parentWhere , extractRightCondition );
202- Set <String > rightExtractSelectField = extractSelectFields (parentSelectList , rightFromTableNameSet , tableRef );
203- Set <String > rightFieldFromJoinCondition = extractSelectFieldFromJoinCondition (joinFieldSet , rightFromTableNameSet , tableRef );
204- rightExtractSelectField .addAll (extractRightCondition );
205- rightExtractSelectField .addAll (rightFieldFromJoinCondition );
189+ Set <String > extractSelectField = extractField (leftNode , parentWhere , parentSelectList , tableRef , joinFieldSet );
190+ Set <String > rightExtractSelectField = extractField (rightNode , parentWhere , parentSelectList , tableRef , joinFieldSet );
206191
207192 //重命名right 中和 left 重名的
208193 Map <String , String > leftTbSelectField = Maps .newHashMap ();
@@ -231,6 +216,25 @@ public void extractJoinNeedSelectField(SqlNode leftNode,
231216 tableInfo .setRightSelectFieldInfo (rightTbSelectField );
232217 }
233218
219+ public Set <String > extractField (SqlNode sqlNode ,
220+ SqlNode parentWhere ,
221+ SqlNodeList parentSelectList ,
222+ Map <String , String > tableRef ,
223+ Set <Tuple2 <String , String >> joinFieldSet ){
224+ Set <String > fromTableNameSet = Sets .newHashSet ();
225+ TableUtils .getFromTableInfo (sqlNode , fromTableNameSet );
226+ Set <String > extractCondition = Sets .newHashSet ();
227+
228+ extractWhereCondition (fromTableNameSet , (SqlBasicCall ) parentWhere , extractCondition );
229+ Set <String > extractSelectField = extractSelectFields (parentSelectList , fromTableNameSet , tableRef );
230+ Set <String > fieldFromJoinCondition = extractSelectFieldFromJoinCondition (joinFieldSet , fromTableNameSet , tableRef );
231+
232+ extractSelectField .addAll (extractCondition );
233+ extractSelectField .addAll (fieldFromJoinCondition );
234+
235+ return extractSelectField ;
236+ }
237+
234238
235239 /**
236240 * 处理多层join
0 commit comments