@@ -134,12 +134,14 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
134134 if (leftNode .getKind () == SqlKind .LITERAL ) {
135135 evalConstantEquation (
136136 (SqlLiteral ) leftNode ,
137- (SqlIdentifier ) rightNode
137+ (SqlIdentifier ) rightNode ,
138+ sqlNode .getKind ()
138139 );
139140 } else if (rightNode .getKind () == SqlKind .LITERAL ) {
140141 evalConstantEquation (
141142 (SqlLiteral ) rightNode ,
142- (SqlIdentifier ) leftNode
143+ (SqlIdentifier ) leftNode ,
144+ sqlNode .getKind ()
143145 );
144146 } else {
145147 SqlIdentifier left = (SqlIdentifier ) leftNode ;
@@ -176,22 +178,21 @@ private void evalEquation(SqlIdentifier left, SqlIdentifier right, String sideTa
176178 * @param literal
177179 * @param identifier
178180 */
179- private void evalConstantEquation (SqlLiteral literal , SqlIdentifier identifier ) {
181+ private void evalConstantEquation (SqlLiteral literal , SqlIdentifier identifier , SqlKind sqlKind ) {
180182 String tableName = identifier .getComponent (0 ).getSimple ();
181183 String sideTableName = sideTableInfo .getName ();
182184 String errorMsg = "only support set side table constant field, error field " + identifier ;
183185 Preconditions .checkState (tableName .equals (sideTableName ), errorMsg );
184186 String fieldName = identifier .getComponent (1 ).getSimple ();
185187 Object constant = literal .getValue ();
186- List <PredicateInfo > predicateInfos = sideTableInfo .getPredicateInfoes ();
187188 PredicateInfo predicate = PredicateInfo .builder ()
188- .setOperatorName ("=" )
189- .setOperatorKind ("EQUALS" )
189+ .setOperatorName (sqlKind . sql )
190+ .setOperatorKind (sqlKind . name () )
190191 .setOwnerTable (tableName )
191192 .setFieldName (fieldName )
192193 .setCondition (constant .toString ())
193194 .build ();
194- predicateInfos . add (predicate );
195+ sideTableInfo . addPredicateInfo (predicate );
195196 }
196197
197198 private void associateField (String sourceTableField , String sideTableField , SqlNode sqlNode ) {
0 commit comments