This is an automated email from the ASF dual-hosted git repository.
fokko 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 15d68da873 Parquet: Fix decimal data reading from
ParquetAvroValueReaders (#8246)
15d68da873 is described below
commit 15d68da87317e1f1caed42d732eb3119e8a6450e
Author: Ajantha Bhat <[email protected]>
AuthorDate: Mon Aug 7 18:26:58 2023 +0530
Parquet: Fix decimal data reading from ParquetAvroValueReaders (#8246)
---
.../main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java | 4 ++--
.../java/org/apache/iceberg/spark/data/TestParquetAvroReader.java | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git
a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java
b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java
index b46f5fc9a4..c30a57655c 100644
---
a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java
+++
b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java
@@ -191,9 +191,9 @@ public class ParquetAvroValueReaders {
case FIXED_LEN_BYTE_ARRAY:
return new DecimalReader(desc, decimal.getScale());
case INT64:
- return new IntegerAsDecimalReader(desc, decimal.getScale());
- case INT32:
return new LongAsDecimalReader(desc, decimal.getScale());
+ case INT32:
+ return new IntegerAsDecimalReader(desc, decimal.getScale());
default:
throw new UnsupportedOperationException(
"Unsupported base type for decimal: " +
primitive.getPrimitiveTypeName());
diff --git
a/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroReader.java
b/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroReader.java
index a4ffc2fea4..657eebe00a 100644
---
a/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroReader.java
+++
b/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroReader.java
@@ -84,7 +84,8 @@ public class TestParquetAvroReader {
optional(22, "jumpy", Types.DoubleType.get()),
required(23, "koala", Types.TimeType.get()),
required(24, "couch rope", Types.IntegerType.get())))),
- optional(2, "slide", Types.StringType.get()));
+ optional(2, "slide", Types.StringType.get()),
+ required(25, "foo", Types.DecimalType.of(7, 5)));
@Ignore
public void testStructSchema() throws IOException {