apache / apache/datafusion-python

Rewrite the "Encode metadata, not a handle to a live object" section

Open Beginner friendly
#1,726 0 comments 0 reactions 0 assignees View on GitHub
documentation
Dominant language
Python
Stars
604
Forks
174
Avg merge
1d 7h
Merged PRs (30d)
4

Description

Blocked on the two sub-issues above — this describes the state they produce.

#1721 corrected the factually wrong attribution in `extension-guide/codecs.md` (it named `datafusion-ffi-query-planner-example`, which has no registry) and connected the broad claim at line 185 to the registry it forces. That was deliberately minimal, because the underlying facts were about to change.

Once the logical codec encodes durable metadata and the greedy arm is quarantined, the section should be rewritten rather than patched again:

- **Lead with the positive example.** Two paragraphs of what-not-to-do before the reader sees a correct codec is the wrong order.
- **State the registry as a consequence, not a choice.** A codec that downcasts to its own concrete types is never handed something it cannot describe. The cause is already explained under `extension_codec_order`, 100 lines further down; the two should link to each other.
- **Name the one remaining offender precisely** — the `ForeignExecutionPlan` arm, with the upstream issue and the delete-when condition, so a reader can tell a marked workaround from sloppiness.
- `datafusion-ffi-example`'s logical codec moves from the counter-example list to the example list, alongside `examples/distributed/storage-library`.

Also check `extension-guide/checklist.md:109`, which says "the examples in this repository use tokens to make ownership observable" — that becomes true of one arm of one codec rather than of the examples generally.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading extension-guide/codecs.md around the section being rewritten, then review the two blocking sub-issues and extension-guide/checklist.md:109 to confirm the resulting facts. Move datafusion-ffi-example into the positive examples, explain the registry consequence, and identify the remaining ForeignExecutionPlan workaround with its upstream issue and deletion condition; update the checklist wording accordingly.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.