This is an automated email from the ASF dual-hosted git repository.

etudenhoefner pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new 1fbb5cbb99 Data: Propagate case sensitivity in GenericReader (#8177)
1fbb5cbb99 is described below

commit 1fbb5cbb99925402bce58ef23137e134de83f3ea
Author: Michael DeRoy <[email protected]>
AuthorDate: Tue Aug 22 02:40:54 2023 -0400

    Data: Propagate case sensitivity in GenericReader (#8177)
---
 data/src/main/java/org/apache/iceberg/data/GenericReader.java | 2 ++
 data/src/test/java/org/apache/iceberg/data/TestLocalScan.java | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/data/src/main/java/org/apache/iceberg/data/GenericReader.java 
b/data/src/main/java/org/apache/iceberg/data/GenericReader.java
index 3637bf00bd..bf2919f334 100644
--- a/data/src/main/java/org/apache/iceberg/data/GenericReader.java
+++ b/data/src/main/java/org/apache/iceberg/data/GenericReader.java
@@ -119,6 +119,7 @@ class GenericReader implements Serializable {
                     fileSchema ->
                         GenericParquetReaders.buildReader(fileProjection, 
fileSchema, partition))
                 .split(task.start(), task.length())
+                .caseSensitive(caseSensitive)
                 .filter(task.residual());
 
         if (reuseContainers) {
@@ -138,6 +139,7 @@ class GenericReader implements Serializable {
                     fileSchema ->
                         GenericOrcReader.buildReader(fileProjection, 
fileSchema, partition))
                 .split(task.start(), task.length())
+                .caseSensitive(caseSensitive)
                 .filter(task.residual());
 
         return orc.build();
diff --git a/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java 
b/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java
index a7984fef5c..47209aaf8c 100644
--- a/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java
+++ b/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java
@@ -290,6 +290,13 @@ public class TestLocalScan {
   public void testFilter() {
     Iterable<Record> result = 
IcebergGenerics.read(sharedTable).where(lessThan("id", 3)).build();
 
+    Assert.assertEquals(
+        "Records should match file 1",
+        Sets.newHashSet(file1FirstSnapshotRecords),
+        Sets.newHashSet(result));
+
+    result = IcebergGenerics.read(sharedTable).where(lessThan("iD", 
3)).caseInsensitive().build();
+
     Assert.assertEquals(
         "Records should match file 1",
         Sets.newHashSet(file1FirstSnapshotRecords),
@@ -306,6 +313,7 @@ public class TestLocalScan {
   @Test
   public void testProject() {
     
verifyProjectIdColumn(IcebergGenerics.read(sharedTable).select("id").build());
+    
verifyProjectIdColumn(IcebergGenerics.read(sharedTable).select("iD").caseInsensitive().build());
   }
 
   private void verifyProjectIdColumn(Iterable<Record> results) {

Reply via email to