Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Currently the dict_id
field is only used for the purposes of arrow flight encoding/decoding so dictionaries can be mapped to there associated fields.
This is annoying and error-prone as the user is left the responsibility of assigning these dictionary IDs and ensuring that they are unique.
#5971 adds the option to auto-assign dictionary IDs during arrow flight encoding. This can be enabled by setting the preserve_dict_id
option in IpcWriteOptions
to false
(current default is true
Describe the solution you'd like
This can be done in stages but ultimately would like to
- Make
preserve_dict_id
default tofalse
- Remove the
preserve_dict_id
option altogether - Remove the
dict_id
field fromarrow_schema::schema::Field
entirely as it no longer has any purpose
Describe alternatives you've considered
We can leave this is as a configurable option and either only do 1 above or we can leave auto-assigning of dictionary IDs as an opt-in feature
Additional context