Skip to content

Missing docstring examples in the unparser module #1691

Description

@ting-hong-shieh

Description

AGENTS.md requires every public Python function to carry a usage example, but
none of the public functions in python/datafusion/unparser.py have one:

  • Dialect.default
  • Dialect.mysql
  • Dialect.postgres
  • Dialect.sqlite
  • Dialect.duckdb
  • Unparser.plan_to_sql
  • Unparser.with_pretty

The gap matters more here than in most modules, because the reason Dialect
exists is that different dialects render the same plan differently, and nothing
in the current documentation shows that difference. The existing test unparses
SELECT 1, which is identical across all four dialects.

Two smaller documentation problems sit in the same file:

  • the Dialect class summary reads "DataFusion data catalog."
  • with_pretty is documented as "Set the pretty flag.", which does not say
    what the flag changes.

Expected Behavior

All public functions in the module carry doctest-style usage examples,
consistent with the rest of the package and executed by pytest's
--doctest-modules.

Suggested Improvement

Add examples that unparse the same plan through each dialect so the differences
are visible, and correct the two docstrings noted above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions