julianhyde commented on a change in pull request #2124:
URL: https://github.com/apache/calcite/pull/2124#discussion_r481301691
##########
File path: core/src/main/java/org/apache/calcite/rex/RexUtil.java
##########
@@ -2833,4 +2898,77 @@ public boolean anyContain(Iterable<? extends RexNode>
nodes) {
}
}
+ /** Converts a {@link Range} to a {@link RexNode} expression.
+ *
+ * @param <C> Value type */
+ private static class RangeToRex<C extends Comparable<C>>
+ implements RangeSets.Consumer<C> {
+ private final List<RexNode> list;
+ private final RexBuilder rexBuilder;
+ private final RelDataType type;
+ private final SqlTypeName typeName;
+ private final RexNode ref;
Review comment:
Yes, but that is an inferior solution. Sargs are good because they are a
more concise and uniform representation of certain kinds of expressions. The
information that they remove was redundant. Transforming CHAR(3) 'foo' to
CHAR(4) 'foo ' is lossless and therefore reversible. Let's embrace that.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]