OpenAPI: Remove deprecated TrueExpression and FalseExpression
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
Start with rest-catalog-open-api.yaml and inspect the Predicate definition, then compare it with Appendix B of format/expressions-spec.md and the behavior described for Java's ExpressionParser.fromJson. Remove the two deprecated alternatives while retaining the bare boolean form, and verify that the schema matches the expressions specification and reference parser behavior.
Written by the indexing model from the issue text.
Description
Feature Request / Improvement
rest-catalog-open-api.yaml still lists TrueExpression and FalseExpression ({"type":"true"} / {"type":"false"}) as deprecated alternatives in Predicate, after apache/iceberg#17138.
These forms don't match the rest of the project:
format/expressions-spec.mdAppendix B doesn't include them.PREDICATEallows baretrue/false, andDEPRECATED_PREDICATElists only the term-based forms.- Java's
ExpressionParser.fromJsonrejects them.{"type":"true"}resolves to theTRUEoperation, has no case in the switch, and falls through to predicate parsing, which requiresterm.
So the reference implementation (and iceberg-go) rejects a form the OpenAPI schema says is valid.
Proposal: remove TrueExpression and FalseExpression from Predicate, leaving the bare boolean. This makes OpenAPI match the expressions spec and the reference implementation.
Happy to open the PR.
Query engine
None
Willingness to contribute
- I can contribute this improvement/feature independently
- I would be willing to contribute this improvement/feature with guidance from the Iceberg community
- I cannot contribute this improvement/feature at this time
- Dominant language
- Java
- Stars
- 9.3k
- Forks
- 3.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 135
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/iceberg
-
Parquet TIME_MILLIS statistics are not converted to microsecondsPossibly taken @chenjian2664 claimed this 6 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Temporal transforms put pre-epoch timestamps at `.999999` into the previous unitPossibly taken @gitedmond claimed this 14 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
apache/iceberg#18371 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Parquet: StringReader decodes every occurrence of a dictionary value into a new StringPossibly taken @Neuw84 claimed this 23 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
apache/iceberg#18259 · 2 comments ·
Maintainers usually reply within 1 day
-
RCK tests fail to bind port 8181 when run alongside the kafka-connect integration stackPossibly taken @Kurtiscwright claimed this 26 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
Core: SchemaParser rejects integral JSON numbers for floating-point defaultsPossibly taken @laserninja claimed this 34 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 61/100
Vakore/ZappierGames#162 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
[Bug] Lock owned by another client (e.g. Text app) cannot be unlocked from the appPossibly taken @falkloewert claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug grammar sev-0
Difficulty 1/5 Under an hour Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100