kshitij12345 commented on code in PR #14181:
URL: https://github.com/apache/arrow/pull/14181#discussion_r977966493
##########
cpp/src/arrow/compute/kernels/scalar_cast_test.cc:
##########
@@ -2209,6 +2209,39 @@ TEST(Cast, ListToListOptionsPassthru) {
}
}
+static void CheckFSLToFSL(const std::vector<std::shared_ptr<DataType>>&
value_types,
+ const std::string& json_data) {
+ for (const auto& src_value_type : value_types) {
+ for (const auto& dest_value_type : value_types) {
+ const auto src_type = fixed_size_list(src_value_type, 2);
+ const auto dest_type = fixed_size_list(dest_value_type, 2);
+ ARROW_SCOPED_TRACE("src_type = ", src_type->ToString(),
+ ", dest_type = ", dest_type->ToString());
+ auto src_array = ArrayFromJSON(src_type, json_data);
+ auto dst_array = ArrayFromJSON(dest_type, json_data);
+ CheckCast(src_array, dst_array);
+ }
+ }
+}
+
+TEST(Cast, FSLToFSL) {
+ CheckFSLToFSL({int32(), float32(), int64()}, "[[0, 1], [2, 3], [null, 5]]");
Review Comment:
Thanks for pointing that. It actually seems to have caught a bug. (Not sure
why this is happens)
```python
arr = pa.array([[1, 2], [3, 4], [None, 6], None], pa.list_(pa.int64(), 2))
print(arr[1:])
v = arr[1:].cast(my_type)
print(v)
```
Results in:
```
[
[
3,
4
],
[
null,
6
],
null
]
[
[
3,
4
],
[
null,
6
],
[
null,
null # extra null
]
]
```
Surprisingly this doesn't happen when we have a `0` offset.
```python
arr = pa.array([[1, 2], [3, 4], [None, 6], None], pa.list_(pa.int64(), 2))
print(arr)
v = arr.cast(my_type)
print(v)
```
```
[
[
1,
2
],
[
3,
4
],
[
null,
6
],
null
]
[
[
1,
2
],
[
3,
4
],
[
null,
6
],
null
]
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]