Skip to content

Commit 5bb3c2c

Browse files
author
Araika
committed
fix imports, tests
1 parent a82caa2 commit 5bb3c2c

File tree

4 files changed

+6
-8
lines changed

4 files changed

+6
-8
lines changed

ql/src/test/results/clientpositive/llap/avro_timestamp_micros.q.out

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ POSTHOOK: Lineage: hive_test.dt SCRIPT []
1818
PREHOOK: query: SELECT * FROM hive_test
1919
PREHOOK: type: QUERY
2020
PREHOOK: Input: default@hive_test
21-
PREHOOK: Output: hdfs://### HDFS PATH ###
21+
#### A masked pattern was here ####
2222
POSTHOOK: query: SELECT * FROM hive_test
2323
POSTHOOK: type: QUERY
2424
POSTHOOK: Input: default@hive_test
25-
POSTHOOK: Output: hdfs://### HDFS PATH ###
25+
#### A masked pattern was here ####
2626
2024-08-09 14:08:26.326107

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ private Object deserializePrimitive(Object datum, Schema fileSchema, Schema reco
389389
skipProlepticConversion = HiveConf.ConfVars.HIVE_AVRO_PROLEPTIC_GREGORIAN_DEFAULT.defaultBoolVal;
390390
}
391391
}
392-
LogicalType logicalType = recordSchema.getLogicalType();
392+
LogicalType logicalType = fileSchema.getLogicalType();
393393
Timestamp timestamp;
394394
if (logicalType != null && logicalType.getName().equals(AvroSerDe.TIMESTAMP_TYPE_NAME_MICROS)) {
395395
timestamp = Timestamp.ofEpochMicro((Long) datum);
@@ -398,7 +398,7 @@ private Object deserializePrimitive(Object datum, Schema fileSchema, Schema reco
398398
}
399399
timestamp = TimestampTZUtil.convertTimestampToZone(
400400
timestamp, ZoneOffset.UTC, convertToTimeZone, legacyConversion);
401-
if (!skipProlepticConversion && logicalType.getName().equals(AvroSerDe.TIMESTAMP_TYPE_NAME_MICROS)) {
401+
if (!skipProlepticConversion && logicalType != null && logicalType.getName().equals(AvroSerDe.TIMESTAMP_TYPE_NAME_MICROS)) {
402402
timestamp = Timestamp.ofEpochMicro(
403403
CalendarUtils.convertTimeToProlepticMicros(timestamp.toEpochMicro()));
404404
} else if (!skipProlepticConversion) {

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

+1-3
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
*/
1818
package org.apache.hadoop.hive.serde2.avro;
1919

20-
import java.time.Instant;
21-
import java.time.LocalDateTime;
2220
import java.time.ZoneOffset;
2321
import java.util.LinkedHashMap;
2422
import java.util.List;
@@ -237,7 +235,7 @@ private Object serializePrimitive(TypeInfo typeInfo, PrimitiveObjectInspector fi
237235
LogicalType logicalType = schema.getLogicalType();
238236
if (logicalType != null && logicalType.getName().equals(AvroSerDe.TIMESTAMP_TYPE_NAME_MICROS)) {
239237
long micros = defaultProleptic ? timestamp.toEpochMicro() :
240-
CalendarUtils.convertTimeToProlepticMicros(timestamp.toEpochMicro());
238+
CalendarUtils.convertTimeToHybridMicros(timestamp.toEpochMicro());
241239
timestamp = TimestampTZUtil.convertTimestampToZone(
242240
Timestamp.ofEpochMicro(micros), TimeZone.getDefault().toZoneId(), ZoneOffset.UTC, legacyConversion);
243241
return timestamp.toEpochMicro();

serde/src/test/org/apache/hadoop/hive/serde2/avro/TestTypeInfoToSchema.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ public void createAvroDateSchema() {
261261
public void createAvroTimestampSchema() {
262262
final String specificSchema = "{" +
263263
"\"type\":\"long\"," +
264-
"\"logicalType\":\"timestamp-millis\"}";
264+
"\"logicalType\":\"timestamp-micros\"}";
265265
String expectedSchema = genSchema(specificSchema);
266266

267267
Assert.assertEquals("Test for timestamp in avro schema failed",

0 commit comments

Comments
 (0)