Skip to content

GH-49689: [R][C++] Parquets do not support list-columns of ordered factors (ordered dictionaries)#49937

Draft
thisisnic wants to merge 5 commits intoapache:mainfrom
thisisnic:GH-49689-ordered
Draft

GH-49689: [R][C++] Parquets do not support list-columns of ordered factors (ordered dictionaries)#49937
thisisnic wants to merge 5 commits intoapache:mainfrom
thisisnic:GH-49689-ordered

Conversation

@thisisnic
Copy link
Copy Markdown
Member

@thisisnic thisisnic commented May 6, 2026

Rationale for this change

Ordered dictionaries inside nested types lose their ordered flag during construction, because DictionaryBuilder doesn't track it.

What changes are included in this PR?

Store the ordered flag in DictionaryBuilderBase and pass it through when reconstructing the DictionaryType in type() and FinishInternal().

Remove the R-side workaround that was patching this for top-level columns only.

Are these changes tested?

Yes

Are there any user-facing changes?

No

AI usage

Written by Claude, reviewed by me and Codex (via roborev). I had Claude create the tests first, to make sure they failed as expected, then had Claude make the fixes and checked the tests passed. I questioned the approach as I went, in terms of whether it should affect any existing usage of this code. I'd appreciate feedback on anywhere I could have been more diligent in checking the AI-generated code so I can improve this in future PRs.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

⚠️ GitHub issue #49689 has been automatically assigned in GitHub to PR creator.

@thisisnic thisisnic changed the title GH-49689: [R] Parquets do not support list-columns of ordered factors (ordered dictionaries) GH-49689: [R][C++] Parquets do not support list-columns of ordered factors (ordered dictionaries) May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant