Skip to content

Commit 2ba54cd

Browse files
committed
Shouldn't accept string in AvroDeserializer
1 parent 150b1e8 commit 2ba54cd

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

ql/src/test/results/clientnegative/avro_decimal.q.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ TBLPROPERTIES (
1919
PREHOOK: type: CREATETABLE
2020
PREHOOK: Output: database:default
2121
PREHOOK: Output: default@avro_dec
22-
FAILED: Execution Error, return code 40000 from org.apache.hadoop.hive.ql.ddl.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.avro.AvroSerdeException Invalid precision or scale for decimal type)
22+
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.ddl.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.avro.AvroSerdeException Invalid precision or scale for decimal type)

serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ private Object deserializePrimitive(Object datum, Schema fileSchema, Schema reco
278278

279279
int scale = 0;
280280
try {
281-
scale = AvroSerdeUtils.getIntFromSchema(fileSchema, AvroSerDe.AVRO_PROP_SCALE);
281+
scale = (int) fileSchema.getObjectProp(AvroSerDe.AVRO_PROP_SCALE);
282282
} catch(Exception ex) {
283283
throw new AvroSerdeException("Failed to obtain scale value from file schema: " + fileSchema, ex);
284284
}

0 commit comments

Comments
 (0)