Skip to content

Commit 2176e3c

Browse files
committed
Remove the deprecated OriginalType
1 parent 2b60ffa commit 2176e3c

File tree

10 files changed

+84
-222
lines changed

10 files changed

+84
-222
lines changed

parquet-arrow/src/main/java/org/apache/parquet/arrow/schema/List3Levels.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static org.apache.parquet.schema.Type.Repetition.REPEATED;
2222

2323
import org.apache.parquet.schema.GroupType;
24+
import org.apache.parquet.schema.LogicalTypeAnnotation;
2425
import org.apache.parquet.schema.OriginalType;
2526
import org.apache.parquet.schema.Type;
2627

@@ -41,7 +42,7 @@ class List3Levels {
4142
* @param list the Parquet List
4243
*/
4344
public List3Levels(GroupType list) {
44-
if (list.getOriginalType() != OriginalType.LIST || list.getFields().size() != 1) {
45+
if (list.getLogicalTypeAnnotation() != LogicalTypeAnnotation.listType() || list.getFields().size() != 1) {
4546
throw new IllegalArgumentException("invalid list type: " + list);
4647
}
4748
this.list = list;

parquet-column/src/main/java/org/apache/parquet/schema/LogicalTypeAnnotation.java

Lines changed: 0 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -145,16 +145,6 @@ protected LogicalTypeAnnotation fromString(List<String> params) {
145145
protected abstract LogicalTypeAnnotation fromString(List<String> params);
146146
}
147147

148-
/**
149-
* Convert this logical type to old logical type representation in parquet-mr (if there's any).
150-
* Those logical type implementations, which don't have a corresponding mapping should return null.
151-
*
152-
* API should be considered private
153-
*
154-
* @return the OriginalType representation of the new logical type, or null if there's none
155-
*/
156-
public abstract OriginalType toOriginalType();
157-
158148
/**
159149
* Visits this logical type with the given visitor
160150
*
@@ -303,16 +293,6 @@ public static class StringLogicalTypeAnnotation extends LogicalTypeAnnotation {
303293
private StringLogicalTypeAnnotation() {
304294
}
305295

306-
/**
307-
* API Should be considered private
308-
*
309-
* @return the original type
310-
*/
311-
@Override
312-
public OriginalType toOriginalType() {
313-
return OriginalType.UTF8;
314-
}
315-
316296
@Override
317297
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
318298
return logicalTypeAnnotationVisitor.visit(this);
@@ -346,16 +326,6 @@ public static class MapLogicalTypeAnnotation extends LogicalTypeAnnotation {
346326
private MapLogicalTypeAnnotation() {
347327
}
348328

349-
/**
350-
* API Should be considered private
351-
*
352-
* @return the original type
353-
*/
354-
@Override
355-
public OriginalType toOriginalType() {
356-
return OriginalType.MAP;
357-
}
358-
359329
@Override
360330
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
361331
return logicalTypeAnnotationVisitor.visit(this);
@@ -384,16 +354,6 @@ public static class ListLogicalTypeAnnotation extends LogicalTypeAnnotation {
384354
private ListLogicalTypeAnnotation() {
385355
}
386356

387-
/**
388-
* API Should be considered private
389-
*
390-
* @return the original type
391-
*/
392-
@Override
393-
public OriginalType toOriginalType() {
394-
return OriginalType.LIST;
395-
}
396-
397357
@Override
398358
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
399359
return logicalTypeAnnotationVisitor.visit(this);
@@ -422,16 +382,6 @@ public static class EnumLogicalTypeAnnotation extends LogicalTypeAnnotation {
422382
private EnumLogicalTypeAnnotation() {
423383
}
424384

425-
/**
426-
* API Should be considered private
427-
*
428-
* @return the original type
429-
*/
430-
@Override
431-
public OriginalType toOriginalType() {
432-
return OriginalType.ENUM;
433-
}
434-
435385
@Override
436386
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
437387
return logicalTypeAnnotationVisitor.visit(this);
@@ -478,16 +428,6 @@ public int getScale() {
478428
return scale;
479429
}
480430

481-
/**
482-
* API Should be considered private
483-
*
484-
* @return the original type
485-
*/
486-
@Override
487-
public OriginalType toOriginalType() {
488-
return OriginalType.DECIMAL;
489-
}
490-
491431
@Override
492432
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
493433
return logicalTypeAnnotationVisitor.visit(this);
@@ -535,16 +475,6 @@ public static class DateLogicalTypeAnnotation extends LogicalTypeAnnotation {
535475
private DateLogicalTypeAnnotation() {
536476
}
537477

538-
/**
539-
* API Should be considered private
540-
*
541-
* @return the original type
542-
*/
543-
@Override
544-
public OriginalType toOriginalType() {
545-
return OriginalType.DATE;
546-
}
547-
548478
@Override
549479
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
550480
return logicalTypeAnnotationVisitor.visit(this);
@@ -587,23 +517,6 @@ private TimeLogicalTypeAnnotation(boolean isAdjustedToUTC, TimeUnit unit) {
587517
this.unit = unit;
588518
}
589519

590-
/**
591-
* API Should be considered private
592-
*
593-
* @return the original type
594-
*/
595-
@Override
596-
public OriginalType toOriginalType() {
597-
switch (unit) {
598-
case MILLIS:
599-
return OriginalType.TIME_MILLIS;
600-
case MICROS:
601-
return OriginalType.TIME_MICROS;
602-
default:
603-
return null;
604-
}
605-
}
606-
607520
@Override
608521
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
609522
return logicalTypeAnnotationVisitor.visit(this);
@@ -670,23 +583,6 @@ private TimestampLogicalTypeAnnotation(boolean isAdjustedToUTC, TimeUnit unit) {
670583
this.unit = unit;
671584
}
672585

673-
/**
674-
* API Should be considered private
675-
*
676-
* @return the original type
677-
*/
678-
@Override
679-
public OriginalType toOriginalType() {
680-
switch (unit) {
681-
case MILLIS:
682-
return OriginalType.TIMESTAMP_MILLIS;
683-
case MICROS:
684-
return OriginalType.TIMESTAMP_MICROS;
685-
default:
686-
return null;
687-
}
688-
}
689-
690586
@Override
691587
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
692588
return logicalTypeAnnotationVisitor.visit(this);
@@ -760,27 +656,6 @@ private IntLogicalTypeAnnotation(int bitWidth, boolean isSigned) {
760656
this.isSigned = isSigned;
761657
}
762658

763-
/**
764-
* API Should be considered private
765-
*
766-
* @return the original type
767-
*/
768-
@Override
769-
public OriginalType toOriginalType() {
770-
switch (bitWidth) {
771-
case 8:
772-
return isSigned ? OriginalType.INT_8 : OriginalType.UINT_8;
773-
case 16:
774-
return isSigned ? OriginalType.INT_16 : OriginalType.UINT_16;
775-
case 32:
776-
return isSigned ? OriginalType.INT_32 : OriginalType.UINT_32;
777-
case 64:
778-
return isSigned ? OriginalType.INT_64 : OriginalType.UINT_64;
779-
default:
780-
return null;
781-
}
782-
}
783-
784659
@Override
785660
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
786661
return logicalTypeAnnotationVisitor.visit(this);
@@ -836,16 +711,6 @@ public static class JsonLogicalTypeAnnotation extends LogicalTypeAnnotation {
836711
private JsonLogicalTypeAnnotation() {
837712
}
838713

839-
/**
840-
* API Should be considered private
841-
*
842-
* @return the original type
843-
*/
844-
@Override
845-
public OriginalType toOriginalType() {
846-
return OriginalType.JSON;
847-
}
848-
849714
@Override
850715
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
851716
return logicalTypeAnnotationVisitor.visit(this);
@@ -879,16 +744,6 @@ public static class BsonLogicalTypeAnnotation extends LogicalTypeAnnotation {
879744
private BsonLogicalTypeAnnotation() {
880745
}
881746

882-
/**
883-
* API Should be considered private
884-
*
885-
* @return the original type
886-
*/
887-
@Override
888-
public OriginalType toOriginalType() {
889-
return OriginalType.BSON;
890-
}
891-
892747
@Override
893748
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
894749
return logicalTypeAnnotationVisitor.visit(this);
@@ -923,17 +778,6 @@ public static class UUIDLogicalTypeAnnotation extends LogicalTypeAnnotation {
923778
private UUIDLogicalTypeAnnotation() {
924779
}
925780

926-
/**
927-
* API Should be considered private
928-
*
929-
* @return the original type
930-
*/
931-
@Override
932-
public OriginalType toOriginalType() {
933-
// No OriginalType for UUID
934-
return null;
935-
}
936-
937781
@Override
938782
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
939783
return logicalTypeAnnotationVisitor.visit(this);
@@ -963,16 +807,6 @@ public static LogicalTypeAnnotation getInstance() {
963807
private IntervalLogicalTypeAnnotation() {
964808
}
965809

966-
/**
967-
* API Should be considered private
968-
*
969-
* @return the original type
970-
*/
971-
@Override
972-
public OriginalType toOriginalType() {
973-
return OriginalType.INTERVAL;
974-
}
975-
976810
@Override
977811
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
978812
return logicalTypeAnnotationVisitor.visit(this);
@@ -1018,16 +852,6 @@ public static MapKeyValueTypeAnnotation getInstance() {
1018852
private MapKeyValueTypeAnnotation() {
1019853
}
1020854

1021-
/**
1022-
* API Should be considered private
1023-
*
1024-
* @return the original type
1025-
*/
1026-
@Override
1027-
public OriginalType toOriginalType() {
1028-
return OriginalType.MAP_KEY_VALUE;
1029-
}
1030-
1031855
@Override
1032856
public <T> Optional<T> accept(LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor) {
1033857
return logicalTypeAnnotationVisitor.visit(this);

parquet-column/src/main/java/org/apache/parquet/schema/Type.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -227,13 +227,6 @@ public LogicalTypeAnnotation getLogicalTypeAnnotation() {
227227
return logicalTypeAnnotation;
228228
}
229229

230-
/**
231-
* @return the original type (LIST, MAP, ...)
232-
*/
233-
public OriginalType getOriginalType() {
234-
return logicalTypeAnnotation == null ? null : logicalTypeAnnotation.toOriginalType();
235-
}
236-
237230
/**
238231
* @return if this is a primitive type
239232
*/

parquet-column/src/main/java/org/apache/parquet/schema/Types.java

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -329,10 +329,6 @@ public P named(String name) {
329329
"[BUG] Parent and return type are null: must override named");
330330
}
331331
}
332-
333-
protected OriginalType getOriginalType () {
334-
return logicalTypeAnnotation == null ? null : logicalTypeAnnotation.toOriginalType();
335-
}
336332
}
337333

338334
public abstract static class
@@ -441,6 +437,9 @@ protected PrimitiveType build(String name) {
441437
}
442438

443439
DecimalMetadata meta = decimalMetadata();
440+
if (logicalTypeAnnotation instanceof LogicalTypeAnnotation.DecimalLogicalTypeAnnotation) {
441+
this.logicalTypeAnnotation = LogicalTypeAnnotation.fromOriginalType(OriginalType.DECIMAL, meta);
442+
}
444443

445444
// validate type annotations and required metadata
446445
if (logicalTypeAnnotation != null) {
@@ -580,11 +579,7 @@ private Optional<Boolean> checkInt64PrimitiveType(LogicalTypeAnnotation logicalT
580579
}).orElseThrow(() -> new IllegalStateException(logicalTypeAnnotation + " can not be applied to a primitive type"));
581580
}
582581

583-
if (newLogicalTypeSet) {
584-
return new PrimitiveType(repetition, primitiveType, length, name, logicalTypeAnnotation, id, columnOrder);
585-
} else {
586-
return new PrimitiveType(repetition, primitiveType, length, name, getOriginalType(), meta, id, columnOrder);
587-
}
582+
return new PrimitiveType(repetition, primitiveType, length, name, logicalTypeAnnotation, id, columnOrder);
588583
}
589584

590585
private static long maxPrecision(int numBytes) {
@@ -596,7 +591,6 @@ private static long maxPrecision(int numBytes) {
596591
}
597592

598593
protected DecimalMetadata decimalMetadata() {
599-
DecimalMetadata meta = null;
600594
if (logicalTypeAnnotation instanceof LogicalTypeAnnotation.DecimalLogicalTypeAnnotation) {
601595
LogicalTypeAnnotation.DecimalLogicalTypeAnnotation decimalType = (LogicalTypeAnnotation.DecimalLogicalTypeAnnotation) logicalTypeAnnotation;
602596
if (newLogicalTypeSet) {
@@ -617,9 +611,8 @@ protected DecimalMetadata decimalMetadata() {
617611
"Invalid DECIMAL scale: %s", this.scale);
618612
Preconditions.checkArgument(this.scale <= precision,
619613
"Invalid DECIMAL scale: cannot be greater than precision");
620-
meta = new DecimalMetadata(precision, scale);
621614
}
622-
return meta;
615+
return new DecimalMetadata(precision, scale);
623616
}
624617
}
625618

@@ -772,11 +765,7 @@ public THIS addFields(Type... types) {
772765

773766
@Override
774767
protected GroupType build(String name) {
775-
if (newLogicalTypeSet) {
776-
return new GroupType(repetition, name, logicalTypeAnnotation, fields, id);
777-
} else {
778-
return new GroupType(repetition, name, getOriginalType(), fields, id);
779-
}
768+
return new GroupType(repetition, name, logicalTypeAnnotation, fields, id);
780769
}
781770

782771
public MapBuilder<THIS> map(

0 commit comments

Comments
 (0)