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) {