diff --git a/datafusion/functions/src/core/getfield.rs b/datafusion/functions/src/core/getfield.rs index d900ee5825ae5..3ac26b98359bb 100644 --- a/datafusion/functions/src/core/getfield.rs +++ b/datafusion/functions/src/core/getfield.rs @@ -236,11 +236,11 @@ impl ScalarUDFImpl for GetFieldFunc { match (array.data_type(), name) { (DataType::Map(_, _), ScalarValue::List(arr)) => { - let key_array: Arc = Arc::new((**arr).clone()); + let key_array: Arc = arr; process_map_array(array, key_array) } (DataType::Map(_, _), ScalarValue::Struct(arr)) => { - process_map_array(array, Arc::clone(arr) as Arc) + process_map_array(array, arr as Arc) } (DataType::Map(_, _), other) => { let data_type = other.data_type();