Skip to content

Commit

Permalink
fix hive tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cloud-fan committed Jun 1, 2015
1 parent 6491721 commit c71d02c
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ class TypeCheckResult(val errorMessage: String) extends AnyVal {
object TypeCheckResult {
val success: TypeCheckResult = new TypeCheckResult(null)
def fail(msg: String): TypeCheckResult = new TypeCheckResult(msg)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -172,17 +172,6 @@ case class Or(left: Expression, right: Expression)
abstract class BinaryComparison extends BinaryExpression with Predicate {
self: Product =>

override def checkInputDataTypes: TypeCheckResult = {
if (left.dataType != right.dataType) {
TypeCheckResult.fail(
s"differing types in BinaryComparisons -- ${left.dataType}, ${right.dataType}")
} else {
checkTypesInternal(left.dataType)
}
}

protected def checkTypesInternal(t: DataType): TypeCheckResult = TypeCheckResult.success

override def eval(input: Row): Any = {
val evalE1 = left.eval(input)
if(evalE1 == null) {
Expand Down Expand Up @@ -231,8 +220,10 @@ case class EqualNullSafe(left: Expression, right: Expression) extends BinaryComp
case class LessThan(left: Expression, right: Expression) extends BinaryComparison {
override def symbol: String = "<"

override protected def checkTypesInternal(t: DataType) = {
if (TypeUtils.validForOrderingExpr(t)) {
override def checkInputDataTypes: TypeCheckResult = {
if (left.dataType != right.dataType) {
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
TypeCheckResult.success
} else {
TypeCheckResult.fail("todo")
Expand All @@ -247,8 +238,10 @@ case class LessThan(left: Expression, right: Expression) extends BinaryCompariso
case class LessThanOrEqual(left: Expression, right: Expression) extends BinaryComparison {
override def symbol: String = "<="

override protected def checkTypesInternal(t: DataType) = {
if (TypeUtils.validForOrderingExpr(t)) {
override def checkInputDataTypes: TypeCheckResult = {
if (left.dataType != right.dataType) {
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
TypeCheckResult.success
} else {
TypeCheckResult.fail("todo")
Expand All @@ -263,8 +256,10 @@ case class LessThanOrEqual(left: Expression, right: Expression) extends BinaryCo
case class GreaterThan(left: Expression, right: Expression) extends BinaryComparison {
override def symbol: String = ">"

override protected def checkTypesInternal(t: DataType) = {
if (TypeUtils.validForOrderingExpr(t)) {
override def checkInputDataTypes: TypeCheckResult = {
if (left.dataType != right.dataType) {
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
TypeCheckResult.success
} else {
TypeCheckResult.fail("todo")
Expand All @@ -279,8 +274,10 @@ case class GreaterThan(left: Expression, right: Expression) extends BinaryCompar
case class GreaterThanOrEqual(left: Expression, right: Expression) extends BinaryComparison {
override def symbol: String = ">="

override protected def checkTypesInternal(t: DataType) = {
if (TypeUtils.validForOrderingExpr(t)) {
override def checkInputDataTypes: TypeCheckResult = {
if (left.dataType != right.dataType) {
TypeCheckResult.fail("types do not match -- ${left.dataType} != ${right.dataType}")
} else if (TypeUtils.validForOrderingExpr(left.dataType)) {
TypeCheckResult.success
} else {
TypeCheckResult.fail("todo")
Expand Down

0 comments on commit c71d02c

Please sign in to comment.