@@ -44,6 +44,33 @@ public HbaseAllSideInfo(RowTypeInfo rowTypeInfo, JoinInfo joinInfo, List<FieldIn
4444 super (rowTypeInfo , joinInfo , outFieldInfoList , sideTableInfo );
4545 }
4646
47+ @ Override
48+ public void parseSelectFields (JoinInfo joinInfo ) {
49+ String sideTableName = joinInfo .getSideTableName ();
50+ String nonSideTableName = joinInfo .getNonSideTable ();
51+ List <String > fields = Lists .newArrayList ();
52+ int sideTableFieldIndex = 0 ;
53+
54+ for ( int i =0 ; i <outFieldInfoList .size (); i ++){
55+ FieldInfo fieldInfo = outFieldInfoList .get (i );
56+ if (fieldInfo .getTable ().equalsIgnoreCase (sideTableName )){
57+ String sideFieldName = sideTableInfo .getPhysicalFields ().getOrDefault (fieldInfo .getFieldName (), fieldInfo .getFieldName ());
58+ fields .add (sideFieldName );
59+ sideSelectFieldsType .put (sideTableFieldIndex , getTargetFieldType (fieldInfo .getFieldName ()));
60+ sideFieldIndex .put (i , sideTableFieldIndex );
61+ sideFieldNameIndex .put (i , sideFieldName );
62+ sideTableFieldIndex ++;
63+ }else if (fieldInfo .getTable ().equalsIgnoreCase (nonSideTableName )){
64+ int nonSideIndex = rowTypeInfo .getFieldIndex (fieldInfo .getFieldName ());
65+ inFieldIndex .put (i , nonSideIndex );
66+ }else {
67+ throw new RuntimeException ("unknown table " + fieldInfo .getTable ());
68+ }
69+ }
70+
71+ sideSelectFields = String .join ("," , fields );
72+ }
73+
4774 @ Override
4875 public void buildEqualInfo (JoinInfo joinInfo , AbstractSideTableInfo sideTableInfo ) {
4976 rowKeyBuilder = new RowKeyBuilder ();
0 commit comments