ayushtkn commented on code in PR #3187:
URL: https://github.com/apache/hive/pull/3187#discussion_r853870053
##########
ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/ValueBoundaryScanner.java:
##########
@@ -1214,6 +1223,55 @@ public boolean isEqualPrimitive(String s1, String s2) {
}
}
+class CharValueBoundaryScanner extends SingleValueBoundaryScanner {
+ public CharValueBoundaryScanner(BoundaryDef start, BoundaryDef end,
+ OrderExpressionDef expressionDef, boolean nullsLast) {
+ super(start, end, expressionDef, nullsLast);
+ }
+
+ @Override
+ public boolean isDistanceGreater(Object v1, Object v2, int amt) {
+ HiveChar s1 = PrimitiveObjectInspectorUtils.getHiveChar(v1,
+ (PrimitiveObjectInspector) expressionDef.getOI());
+ HiveChar s2 = PrimitiveObjectInspectorUtils.getHiveChar(v2,
+ (PrimitiveObjectInspector) expressionDef.getOI());
+ return s1 != null && s2 != null && s1.compareTo(s2) > 0;
+ }
+
+ @Override
+ public boolean isEqual(Object v1, Object v2) {
+ HiveChar s1 = PrimitiveObjectInspectorUtils.getHiveChar(v1,
+ (PrimitiveObjectInspector) expressionDef.getOI());
+ HiveChar s2 = PrimitiveObjectInspectorUtils.getHiveChar(v2,
+ (PrimitiveObjectInspector) expressionDef.getOI());
+ return (s1 == null && s2 == null) || (s1 != null && s1.equals(s2));
+ }
+}
+
+class VarcharValueBoundaryScanner extends SingleValueBoundaryScanner {
+ public VarcharValueBoundaryScanner(BoundaryDef start, BoundaryDef end,
+ OrderExpressionDef expressionDef, boolean nullsLast) {
+ super(start, end, expressionDef, nullsLast);
+ }
+
+ @Override
+ public boolean isDistanceGreater(Object v1, Object v2, int amt) {
+ HiveVarchar s1 = PrimitiveObjectInspectorUtils.getHiveVarchar(v1,
+ (PrimitiveObjectInspector) expressionDef.getOI());
+ HiveVarchar s2 = PrimitiveObjectInspectorUtils.getHiveVarchar(v2,
+ (PrimitiveObjectInspector) expressionDef.getOI());
+ return s1 != null && s2 != null && s1.compareTo(s2) > 0;
+ }
+
+ @Override
+ public boolean isEqual(Object v1, Object v2) {
Review Comment:
Added
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]