Skip to content

Support delete_from and update in TableProvider #16959

@CTTY

Description

@CTTY

Is your feature request related to a problem or challenge?

Hi DataFusion community,

I'm currently working on Iceberg-DataFusion write support. TableProvider::insert_into provides a handy interface for INSERT INTO DML support, but I found that there is no delete or update interface in TableProvider.

Ideally, all Iceberg-DataFusion DML support should go through the same layer. In this case, if we want to support DELETE and UPDATE with DataFusion, we may have to implement a custom planner specifically for those operations, which feels a bit cumbersome to me.

If TableProvider::delete_from and TableProvider::update existed, we could use TableProvider as the unified integration point between DataFusion and Iceberg.

Describe the solution you'd like

Support delete or update DML.

Would love to learn if there is anything blocking us from doing this.

Describe alternatives you've considered

No response

Additional context

Related issue: #12406

I'm aware of these comments claiming that DataFusion is a read-only query engine, but I'm assuming they are outdated since we already support insert_into

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