Skip to content

Commit e7a1144

Browse files
committed
support_non_int
1 parent 3479145 commit e7a1144

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

native/spark-expr/src/conversion_funcs/cast.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@ use crate::utils::array_with_timezone;
1919
use crate::{timezone, BinaryOutputStyle};
2020
use crate::{EvalMode, SparkError, SparkResult};
2121
use arrow::array::builder::StringBuilder;
22-
use arrow::array::{
23-
ArrayAccessor, BooleanBuilder, Decimal128Builder, DictionaryArray, GenericByteArray, ListArray,
24-
PrimitiveBuilder, StringArray, StructArray,
25-
};
22+
use arrow::array::{ArrayAccessor, BooleanBuilder, Decimal128Builder, DictionaryArray, GenericByteArray, LargeStringArray, ListArray, PrimitiveBuilder, StringArray, StructArray};
2623
use arrow::compute::can_cast_types;
2724
use arrow::datatypes::{
2825
i256, ArrowDictionaryKeyType, ArrowNativeType, DataType, Decimal256Type, DecimalType,
@@ -1085,7 +1082,7 @@ fn cast_string_to_decimal128_impl(
10851082
) -> SparkResult<ArrayRef> {
10861083
let string_array = array
10871084
.as_any()
1088-
.downcast_ref::<StringArray>()
1085+
.downcast_ref::<LargeStringArray>()
10891086
.ok_or_else(|| SparkError::Internal("Expected string array".to_string()))?;
10901087

10911088
let mut decimal_builder = Decimal128Builder::with_capacity(string_array.len());
@@ -1310,6 +1307,7 @@ fn cast_string_to_float(
13101307
eval_mode: EvalMode,
13111308
) -> SparkResult<ArrayRef> {
13121309
match to_type {
1310+
DataType::Float16 => cast_string_to_float_impl::<Float32Type>(array, eval_mode, "FLOAT"),
13131311
DataType::Float32 => cast_string_to_float_impl::<Float32Type>(array, eval_mode, "FLOAT"),
13141312
DataType::Float64 => cast_string_to_float_impl::<Float64Type>(array, eval_mode, "DOUBLE"),
13151313
_ => Err(SparkError::Internal(format!(

spark/src/test/scala/org/apache/comet/CometCastSuite.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,7 @@ class CometCastSuite extends CometTestBase with AdaptiveSparkPlanHelper {
687687

688688
test("cast StringType to DoubleType") {
689689
Seq(true, false).foreach { v =>
690-
castTest(specialValues.toDF("a"), DataTypes.FloatType, testAnsi = v)
690+
castTest(specialValues.toDF("a"), DataTypes.DoubleType, testAnsi = v)
691691
}
692692
}
693693

0 commit comments

Comments
 (0)