Skip to content

Commit c71d02c

Browse files
committed
fix hive tests
1 parent 6491721 commit c71d02c

File tree

2 files changed

+17
-20
lines changed

2 files changed

+17
-20
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/TypeCheckResult.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ class TypeCheckResult(val errorMessage: String) extends AnyVal {
2727
object TypeCheckResult {
2828
val success: TypeCheckResult = new TypeCheckResult(null)
2929
def fail(msg: String): TypeCheckResult = new TypeCheckResult(msg)
30-
}
30+
}

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -172,17 +172,6 @@ case class Or(left: Expression, right: Expression)
172172
abstract class BinaryComparison extends BinaryExpression with Predicate {
173173
self: Product =>
174174

175-
override def checkInputDataTypes: TypeCheckResult = {
176-
if (left.dataType != right.dataType) {
177-
TypeCheckResult.fail(
178-
s"differing types in BinaryComparisons -- ${left.dataType}, ${right.dataType}")
179-
} else {
180-
checkTypesInternal(left.dataType)
181-
}
182-
}
183-
184-
protected def checkTypesInternal(t: DataType): TypeCheckResult = TypeCheckResult.success
185-
186175
override def eval(input: Row): Any = {
187176
val evalE1 = left.eval(input)
188177
if(evalE1 == null) {
@@ -231,8 +220,10 @@ case class EqualNullSafe(left: Expression, right: Expression) extends BinaryComp
231220
case class LessThan(left: Expression, right: Expression) extends BinaryComparison {
232221
override def symbol: String = "<"
233222

234-
override protected def checkTypesInternal(t: DataType) = {
235-
if (TypeUtils.validForOrderingExpr(t)) {
223+
override def checkInputDataTypes: TypeCheckResult = {
224+
if (left.dataType != right.dataType) {
225+
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
226+
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
236227
TypeCheckResult.success
237228
} else {
238229
TypeCheckResult.fail("todo")
@@ -247,8 +238,10 @@ case class LessThan(left: Expression, right: Expression) extends BinaryCompariso
247238
case class LessThanOrEqual(left: Expression, right: Expression) extends BinaryComparison {
248239
override def symbol: String = "<="
249240

250-
override protected def checkTypesInternal(t: DataType) = {
251-
if (TypeUtils.validForOrderingExpr(t)) {
241+
override def checkInputDataTypes: TypeCheckResult = {
242+
if (left.dataType != right.dataType) {
243+
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
244+
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
252245
TypeCheckResult.success
253246
} else {
254247
TypeCheckResult.fail("todo")
@@ -263,8 +256,10 @@ case class LessThanOrEqual(left: Expression, right: Expression) extends BinaryCo
263256
case class GreaterThan(left: Expression, right: Expression) extends BinaryComparison {
264257
override def symbol: String = ">"
265258

266-
override protected def checkTypesInternal(t: DataType) = {
267-
if (TypeUtils.validForOrderingExpr(t)) {
259+
override def checkInputDataTypes: TypeCheckResult = {
260+
if (left.dataType != right.dataType) {
261+
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
262+
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
268263
TypeCheckResult.success
269264
} else {
270265
TypeCheckResult.fail("todo")
@@ -279,8 +274,10 @@ case class GreaterThan(left: Expression, right: Expression) extends BinaryCompar
279274
case class GreaterThanOrEqual(left: Expression, right: Expression) extends BinaryComparison {
280275
override def symbol: String = ">="
281276

282-
override protected def checkTypesInternal(t: DataType) = {
283-
if (TypeUtils.validForOrderingExpr(t)) {
277+
override def checkInputDataTypes: TypeCheckResult = {
278+
if (left.dataType != right.dataType) {
279+
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
280+
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
284281
TypeCheckResult.success
285282
} else {
286283
TypeCheckResult.fail("todo")

0 commit comments

Comments
 (0)