Skip to content

Fuzz underlying physical types for logical types in sqllogictests #17947

Description

@Jefffrey

Is your feature request related to a problem or challenge?

If we have a function that accepts a string argument, this could be provided as Utf8, LargeUtf8, Utf8View, or via a Dictionary type; In SLT tests we would have to ensure we cover all these input types to ensure we don't accidentally miss an implementation.

Describe the solution you'd like

Have a way in our SLT tests to fuzz the physical types of logical types; this extends to lists (List, LargeList, FixedSizeList) and other types too. Would need to consider tests which check the output type as well since those could be dependent on the input type.

Describe alternatives you've considered

No response

Additional context

Spawned from comment here: #13408 (comment)

Activity

  1. added theissue type on Oct 7, 2025
  2. 2010YOUY01 commented on Oct 7, 2025

    @2010YOUY01
    Contributor

    We have done that on string UTs: https://github.com/apache/datafusion/blob/main/datafusion/sqllogictest/test_files/string/README.md

    I think it's a good idea to modify slt runner somehow, to let such fuzz strategy can be automatically applied to integration tests.

  3. findepi commented on Oct 7, 2025

    @findepi
    Member

    We have done that on string UTs: https://github.com/apache/datafusion/blob/main/datafusion/sqllogictest/test_files/string/README.md

    the current approach is not the best for testing cases mixing various string types.
    it also works only for test cases which do not provide input data with VALUES

    so +1 for fuzzying within SLT runner.

    as noted #13408 (comment), this can be applied directly to string literals ('...' values) within the SQL-to-LP layer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions