Skip to content

Statistics: Migrate to Distribution from Precision #14896

Open

Description

@ozankabak

Is your feature request related to a problem or challenge?

DataFusion doesn't have a great statistics infrastructure, which will be long project to fix. Luckily, we have begun the process to implement an extensible statistics infrastructure, and we have already merged a new low-level framework to evaluate expressions in a probabilistic context (i.e. the evaluate_statistics and propagate_statistics API introduced in #14699). The next step in this project is to switch from the old Precision object to the new Distribution object across the DataFusion codebase. This way, we will be able to use the existing mechanism around the ColumnStatistics and Statistics (maybe we should rename this to TableStatistics?) objects to handle statistics.

Describe the solution you'd like

Deprecating/removing Precision, updating its usages with Distribution.

Describe alternatives you've considered

N/A.

Additional context

No response

Activity

  1. changed the title [-]Statistics: Migrate to Distribution from Precision[/-] [+]Statistics: Migrate to `Distribution` from `Precision`[/+] on Feb 26, 2025
  2. berkaysynnada commented on Feb 27, 2025

    @berkaysynnada
    Contributor

    Not just Precision, in some parts of the code, Interval objects could(should) be also converted to Distribution objects.

  3. clflushopt commented on Mar 2, 2025

    @clflushopt
    Contributor

    Following our discussion from before and since I recently documented some parts of the old statistics API I would be happy to take this if it's not taken cc @alamb for vis.

  4. alamb commented on Mar 3, 2025

    @alamb
    Contributor

    Thank you @clflushopt

    Given what I have seen so far I think you would do a great job at it and I would be very happy to help find time to review your PRs (though I realize my history so far may not make that obvious). I think getting these APIs right would be super valuable

  5. cj-zhukov commented on Mar 3, 2025

    @cj-zhukov
    Contributor

    I had a discussion with @ozankabak about it and I'm currently working on it now.
    @clflushopt I'm afraid I should have mentioned this.

  6. cj-zhukov commented on Mar 3, 2025

    @cj-zhukov
    Contributor

    take

  7. clflushopt commented on Mar 3, 2025

    @clflushopt
    Contributor

    Sounds good @cj-zhukov thanks for taking this ! I haven't started working on it yet so that's perfect.

  8. 3 remaining items

  9. cj-zhukov commented on Jul 7, 2025

    @cj-zhukov
    Contributor

    I’m unassigning myself from this issue for now as I haven’t been able to make progress.

  10. cj-zhukov commented on Jul 7, 2025

    @cj-zhukov
    Contributor

    unassign me

  11. alamb commented on May 8, 2026

    @alamb
    Contributor

    In case anyone else is following along, I am proposing to deprecate the V2 framework as it doesn't seem to have gained traction. Please comment if you have thoughts:

  12. added a commit that references this issue on May 13, 2026
  13. added a commit that references this issue on May 14, 2026
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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions