Skip to content

Commit 290eca8

Browse files
committed
fix
1 parent df52b62 commit 290eca8

File tree

7 files changed

+38
-28
lines changed

7 files changed

+38
-28
lines changed

paimon-format/src/main/java/org/apache/paimon/format/orc/reader/AbstractOrcColumnVector.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,6 @@ public boolean isNullAt(int i) {
6060
return !vector.noNulls && vector.isNull[rowMapper(i)];
6161
}
6262

63-
public static org.apache.paimon.data.columnar.ColumnVector createPaimonVector(
64-
ColumnVector vector, VectorizedRowBatch orcBatch, DataType dataType) {
65-
return createPaimonVector(vector, orcBatch, dataType, false);
66-
}
67-
6863
public static org.apache.paimon.data.columnar.ColumnVector createPaimonVector(
6964
ColumnVector vector,
7065
VectorizedRowBatch orcBatch,
@@ -86,12 +81,19 @@ public static org.apache.paimon.data.columnar.ColumnVector createPaimonVector(
8681
return new OrcTimestampColumnVector(vector, orcBatch, dataType, legacyTimestampLtzType);
8782
} else if (vector instanceof ListColumnVector) {
8883
return new OrcArrayColumnVector(
89-
(ListColumnVector) vector, orcBatch, (ArrayType) dataType);
84+
(ListColumnVector) vector,
85+
orcBatch,
86+
(ArrayType) dataType,
87+
legacyTimestampLtzType);
9088
} else if (vector instanceof StructColumnVector) {
9189
return new OrcRowColumnVector(
92-
(StructColumnVector) vector, orcBatch, (RowType) dataType);
90+
(StructColumnVector) vector,
91+
orcBatch,
92+
(RowType) dataType,
93+
legacyTimestampLtzType);
9394
} else if (vector instanceof MapColumnVector) {
94-
return new OrcMapColumnVector((MapColumnVector) vector, orcBatch, (MapType) dataType);
95+
return new OrcMapColumnVector(
96+
(MapColumnVector) vector, orcBatch, (MapType) dataType, legacyTimestampLtzType);
9597
} else {
9698
throw new UnsupportedOperationException(
9799
"Unsupported vector: " + vector.getClass().getName());

paimon-format/src/main/java/org/apache/paimon/format/orc/reader/OrcArrayColumnVector.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,15 @@ public class OrcArrayColumnVector extends AbstractOrcColumnVector
3434
private final ColumnVector paimonVector;
3535

3636
public OrcArrayColumnVector(
37-
ListColumnVector hiveVector, VectorizedRowBatch orcBatch, ArrayType type) {
37+
ListColumnVector hiveVector,
38+
VectorizedRowBatch orcBatch,
39+
ArrayType type,
40+
boolean legacyTimestampLtzType) {
3841
super(hiveVector, orcBatch);
3942
this.hiveVector = hiveVector;
40-
this.paimonVector = createPaimonVector(hiveVector.child, orcBatch, type.getElementType());
43+
this.paimonVector =
44+
createPaimonVector(
45+
hiveVector.child, orcBatch, type.getElementType(), legacyTimestampLtzType);
4146
}
4247

4348
@Override

paimon-format/src/main/java/org/apache/paimon/format/orc/reader/OrcMapColumnVector.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,18 @@ public class OrcMapColumnVector extends AbstractOrcColumnVector
3535
private final ColumnVector valuePaimonVector;
3636

3737
public OrcMapColumnVector(
38-
MapColumnVector hiveVector, VectorizedRowBatch orcBatch, MapType type) {
38+
MapColumnVector hiveVector,
39+
VectorizedRowBatch orcBatch,
40+
MapType type,
41+
boolean legacyTimestampLtzType) {
3942
super(hiveVector, orcBatch);
4043
this.hiveVector = hiveVector;
41-
this.keyPaimonVector = createPaimonVector(hiveVector.keys, orcBatch, type.getKeyType());
44+
this.keyPaimonVector =
45+
createPaimonVector(
46+
hiveVector.keys, orcBatch, type.getKeyType(), legacyTimestampLtzType);
4247
this.valuePaimonVector =
43-
createPaimonVector(hiveVector.values, orcBatch, type.getValueType());
48+
createPaimonVector(
49+
hiveVector.values, orcBatch, type.getValueType(), legacyTimestampLtzType);
4450
}
4551

4652
@Override

paimon-format/src/main/java/org/apache/paimon/format/orc/reader/OrcRowColumnVector.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,20 @@ public class OrcRowColumnVector extends AbstractOrcColumnVector
3333
private final VectorizedColumnBatch batch;
3434

3535
public OrcRowColumnVector(
36-
StructColumnVector hiveVector, VectorizedRowBatch orcBatch, RowType type) {
36+
StructColumnVector hiveVector,
37+
VectorizedRowBatch orcBatch,
38+
RowType type,
39+
boolean legacyTimestampLtzType) {
3740
super(hiveVector, orcBatch);
3841
int len = hiveVector.fields.length;
3942
ColumnVector[] paimonVectors = new ColumnVector[len];
4043
for (int i = 0; i < len; i++) {
4144
paimonVectors[i] =
42-
createPaimonVector(hiveVector.fields[i], orcBatch, type.getTypeAt(i));
45+
createPaimonVector(
46+
hiveVector.fields[i],
47+
orcBatch,
48+
type.getTypeAt(i),
49+
legacyTimestampLtzType);
4350
}
4451
this.batch = new VectorizedColumnBatch(paimonVectors);
4552
}

paimon-format/src/main/java/org/apache/paimon/format/orc/writer/RowDataVectorizer.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ public class RowDataVectorizer extends Vectorizer<InternalRow> {
3434

3535
private final List<FieldWriter> fieldWriters;
3636

37-
public RowDataVectorizer(TypeDescription schema, DataType[] fieldTypes) {
38-
this(schema, fieldTypes, false);
39-
}
40-
4137
public RowDataVectorizer(
4238
TypeDescription schema, DataType[] fieldTypes, boolean legacyTimestampLtzType) {
4339
super(schema);

paimon-format/src/test/java/org/apache/paimon/format/orc/OrcReaderFactoryTest.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -279,14 +279,7 @@ protected OrcReaderFactory createFormat(
279279
conjunctPredicates,
280280
BATCH_SIZE,
281281
false,
282-
false);
283-
}
284-
285-
private RecordReader<InternalRow> createReader(OrcReaderFactory format, Path split)
286-
throws IOException {
287-
LocalFileIO fileIO = new LocalFileIO();
288-
return format.createReader(
289-
new FormatReaderContext(fileIO, split, fileIO.getFileSize(split)));
282+
true);
290283
}
291284

292285
private void forEach(OrcReaderFactory format, Path file, Consumer<InternalRow> action)

paimon-format/src/test/java/org/apache/paimon/format/orc/OrcWriterFactoryTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ void testNotOverrideInMemoryManager(@TempDir java.nio.file.Path tmpDir) throws I
4949
new TestOrcWriterFactory(
5050
new RowDataVectorizer(
5151
TypeDescription.fromString("struct<_col0:string,_col1:int>"),
52-
new DataType[] {DataTypes.STRING(), DataTypes.INT()}),
52+
new DataType[] {DataTypes.STRING(), DataTypes.INT()},
53+
true),
5354
memoryManager);
5455
factory.create(new LocalPositionOutputStream(tmpDir.resolve("file1").toFile()), "LZ4");
5556
factory.create(new LocalPositionOutputStream(tmpDir.resolve("file2").toFile()), "LZ4");

0 commit comments

Comments
 (0)