Skip to content

Commit

Permalink
Cast ALL non-boolean filter conditions to boolean
Browse files Browse the repository at this point in the history
  • Loading branch information
soumyakanti3578 committed Jul 10, 2024
1 parent 6610f7c commit 49f6e8c
Showing 1 changed file with 2 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3200,9 +3200,8 @@ private RelNode genFilterRelNode(ASTNode filterNode, RelNode srcRel,

private RelNode genFilterRelNode(RexNode filterExpression, RelNode srcRel,
ImmutableMap<String, Integer> outerNameToPosMap, RowResolver outerRR) {
if (RexUtil.isLiteral(filterExpression, false)
&& filterExpression.getType().getSqlTypeName() != SqlTypeName.BOOLEAN) {
// Cast filterExpression of queries like select * from t1 where 'foo'
if (filterExpression.getType().getSqlTypeName() != SqlTypeName.BOOLEAN) {
// Cast filterExpression with BOOLEAN if it is not BOOLEAN
RelDataType booleanType = srcRel.getCluster().getTypeFactory().createSqlType(SqlTypeName.BOOLEAN);
filterExpression = srcRel.getCluster().getRexBuilder()
.makeCast(booleanType, filterExpression);
Expand Down

0 comments on commit 49f6e8c

Please sign in to comment.