GH-1835 Extract SchemaElement conversion from ParquetMetadataConverter #3365
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
ParquetMetadataConverter has gotten way too large - it needs to be broken up.
SchemaElement conversion is a good starting point to refactor into an external class because:
What changes are included in this PR?
All SchemaElement logic is moved to ParquetSchemaConverter in the parquet-column project.
Further cleanup to remove boiler plate enum conversion logic to a different separate class has been done. Tests are also moved appropriately.
Minor deduplication was done for getting LogicalTypeAnnotation from deprecated ConvertedType enum.
Are these changes tested?
Existing tests have been carefully moved to ensure no changes in behavior.
Are there any user-facing changes?
Closes #1835
Further cleanup of this class is needed, and as such, perhaps closing this issue is not the correct action. I think the next candidate to refactor out is the ColumnChunk metadata conversion.