You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
This issue is discovered when I'm debugging generate_nested_dictionary_case integration failure on C++/Rust integration cases by running archery --debug integration --with-cpp=true --with-rust=true:
The arrow file from C++ has a schema which has only difference dict_id than the schema read from Json file at Rust side. By excluding dict_id from equality comparison of Field, the schema and record batches are exactly the same.
Based on C++ implementation of Field (API doc), it doesn't contain dictionary related properties like dict_id, so its equality comparison doesn't compare it.
In Arrow spec, I don't see id is specified in dictionary encoded layout, but only mentioned in dictionary message in IPC. It is used basically to know where a dictionary is used in the schema. So it seems to me, the dict_id isn't necessary to be used in equality comparison of Field. It's only required to be consistent across dictionary encoded data and schema (so we can match correct dictionary to correct field). That's said, it looks like to be weird to include dict_id and dict_is_ordered in equality comparison of Field out of IPC messages.
Describe the solution you'd like
Exclude dict_id and dict_is_ordered from equality comparison of Field.
archery --debug integration --with-cpp=true --with-rust=true should pass with 0 failure.
Describe alternatives you've considered
Additional context
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
This issue is discovered when I'm debugging
generate_nested_dictionary_case
integration failure on C++/Rust integration cases by runningarchery --debug integration --with-cpp=true --with-rust=true
:The arrow file from C++ has a schema which has only difference dict_id than the schema read from Json file at Rust side. By excluding dict_id from equality comparison of
Field
, the schema and record batches are exactly the same.Based on C++ implementation of
Field
(API doc), it doesn't contain dictionary related properties likedict_id
, so its equality comparison doesn't compare it.In Arrow spec, I don't see
id
is specified in dictionary encoded layout, but only mentioned in dictionary message in IPC. It is used basically to know where a dictionary is used in the schema. So it seems to me, thedict_id
isn't necessary to be used in equality comparison ofField
. It's only required to be consistent across dictionary encoded data and schema (so we can match correct dictionary to correct field). That's said, it looks like to be weird to includedict_id
anddict_is_ordered
in equality comparison ofField
out of IPC messages.Describe the solution you'd like
Exclude
dict_id
anddict_is_ordered
from equality comparison ofField
.archery --debug integration --with-cpp=true --with-rust=true
should pass with 0 failure.Describe alternatives you've considered
Additional context
The text was updated successfully, but these errors were encountered: