GH-41246: [C++][Python] Simplify nested field encryption configuration #45462
+690
−71
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rationale for this change
Columns can b encrypted with individual keys. For this, the column name have to be set in
EncryptionConfiguration::column_keys
. This poses the following challenges for columns with nested fields likeMapType
,ListType
, andStructType
:What changes are included in this PR?
This adds a user-friendly notation for nested fields:
col.key
andcol.value
can be used to reference they key and value nested field of aMapType
column. Currently,col.key_value.key
andcol.key_value.value
are required, respectively.col.element
can be used to reference they individual list elements of aListType
column. Currently,col.list.element
is required.Are these changes tested?
Tested in C++ and Python.
Are there any user-facing changes?
Column encryption can be configured through simpler and intuitive naming.
Documentation will be extended once #45411 is merged.
Fixes #41246.