[MINOR] Fix call command parser use spark3.2 (#5144)
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
package org.apache.spark.sql.hudi.procedure
|
package org.apache.spark.sql.hudi.procedure
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList
|
import com.google.common.collect.ImmutableList
|
||||||
|
import org.apache.hudi.HoodieSparkUtils
|
||||||
import org.apache.spark.sql.catalyst.expressions.Literal
|
import org.apache.spark.sql.catalyst.expressions.Literal
|
||||||
import org.apache.spark.sql.catalyst.plans.logical.{CallCommand, NamedArgument, PositionalArgument}
|
import org.apache.spark.sql.catalyst.plans.logical.{CallCommand, NamedArgument, PositionalArgument}
|
||||||
import org.apache.spark.sql.hudi.TestHoodieSqlBase
|
import org.apache.spark.sql.hudi.TestHoodieSqlBase
|
||||||
@@ -40,7 +41,13 @@ class TestCallCommandParser extends TestHoodieSqlBase {
|
|||||||
checkArg(call, 2, 3L, DataTypes.LongType)
|
checkArg(call, 2, 3L, DataTypes.LongType)
|
||||||
checkArg(call, 3, true, DataTypes.BooleanType)
|
checkArg(call, 3, true, DataTypes.BooleanType)
|
||||||
checkArg(call, 4, 1.0D, DataTypes.DoubleType)
|
checkArg(call, 4, 1.0D, DataTypes.DoubleType)
|
||||||
checkArg(call, 5, new BigDecimal("9.0e1"), DataTypes.createDecimalType(2, 0))
|
|
||||||
|
if (HoodieSparkUtils.isSpark2) {
|
||||||
|
checkArg(call, 5, 9.0e1, DataTypes.createDecimalType(2, 0))
|
||||||
|
} else {
|
||||||
|
checkArg(call, 5, 9.0e1, DataTypes.DoubleType)
|
||||||
|
}
|
||||||
|
|
||||||
checkArg(call, 6, new BigDecimal("900e-1"), DataTypes.createDecimalType(3, 1))
|
checkArg(call, 6, new BigDecimal("900e-1"), DataTypes.createDecimalType(3, 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +115,7 @@ class TestCallCommandParser extends TestHoodieSqlBase {
|
|||||||
assertResult(expectedExpr.dataType)(actualExpr.dataType)
|
assertResult(expectedExpr.dataType)(actualExpr.dataType)
|
||||||
}
|
}
|
||||||
|
|
||||||
private def toSparkLiteral(value: Any, dataType: DataType) = Literal.apply(value, dataType)
|
private def toSparkLiteral(value: Any, dataType: DataType) = Literal.create(value, dataType)
|
||||||
|
|
||||||
private def checkCast[T](value: Any, expectedClass: Class[T]) = {
|
private def checkCast[T](value: Any, expectedClass: Class[T]) = {
|
||||||
assertResult(true)(expectedClass.isInstance(value))
|
assertResult(true)(expectedClass.isInstance(value))
|
||||||
|
|||||||
Reference in New Issue
Block a user