Skip to content

Condition in insert into replace where statement is always case sensitive #12702

@zhoujinsong

Description

@zhoujinsong

Apache Iceberg version

1.6.1

Query engine

Spark

Please describe the bug 🐞

I encountered an issue in my Spark 3.5 + Iceberg 1.6 environment.
When executing the query:

insert into test_table replace where ID in (2) select * from another_table

I got the error: org.apache.iceberg.exceptions.ValidationException: Cannot find field 'ID' in struct: struct<1: id: optional int, 2: name: optional string>.
The spark.sql.caseSensitive configuration is set to the default false. It seems this setting isn't being passed to Iceberg's org.apache.iceberg.OverwriteFiles call, even though this interface has a caseSensitive method.

Willingness to contribute

  • I can contribute a fix for this bug independently
  • I would be willing to contribute a fix for this bug with guidance from the Iceberg community
  • I cannot contribute a fix for this bug at this time

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions