List<OrcProto.Type> types = new ArrayList<OrcProto.Type>(); OrcProto.Type.Builder builder = OrcProto.Type.newBuilder(); builder.setKind(OrcProto.Type.Kind.STRUCT) .addAllFieldNames(Arrays.asList("op", "owid", "bucket", "rowid", "cwid", "row")) .addAllSubtypes(Arrays.asList(1,2,3,4,5,6)); types.add(builder.build()); builder.clear().setKind(OrcProto.Type.Kind.INT); types.add(builder.build()); types.add(builder.build()); types.add(builder.build()); types.add(builder.build()); builder.clear().setKind(OrcProto.Type.Kind.STRUCT) .addAllFieldNames(Arrays.asList("url", "purchase", "cost", "store")) .addAllSubtypes(Arrays.asList(7, 8, 9, 10)); types.add(builder.build()); builder.clear().setKind(OrcProto.Type.Kind.STRING); types.add(builder.build()); builder.clear().setKind(OrcProto.Type.Kind.INT); types.add(builder.build()); types.add(builder.build());
public void testUnionAndTimestamp() throws Exception { List<OrcProto.Type> types = new ArrayList<OrcProto.Type>(); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.STRUCT). addFieldNames("time").addFieldNames("union").addFieldNames("decimal"). addSubtypes(1).addSubtypes(2).addSubtypes(5).build()); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.TIMESTAMP). build()); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.UNION). addSubtypes(3).addSubtypes(4).build()); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.INT). build()); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.STRING). build()); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.DECIMAL). build());
switch (typeDescr.getCategory()) { case BOOLEAN: type.setKind(OrcProto.Type.Kind.BOOLEAN); break; case BYTE: type.setKind(OrcProto.Type.Kind.BYTE); break; case SHORT: type.setKind(OrcProto.Type.Kind.SHORT); break; case INT: type.setKind(OrcProto.Type.Kind.INT); break; case LONG: type.setKind(OrcProto.Type.Kind.LONG); break; case FLOAT: type.setKind(OrcProto.Type.Kind.FLOAT); break; case DOUBLE: type.setKind(OrcProto.Type.Kind.DOUBLE); break; case STRING: type.setKind(OrcProto.Type.Kind.STRING); break; case CHAR: type.setKind(OrcProto.Type.Kind.CHAR); type.setMaximumLength(typeDescr.getMaxLength()); break;
switch (oldType.getKind()) { case BOOLEAN: builder.setKind(OrcProto.Type.Kind.BOOLEAN); break; case BYTE: builder.setKind(OrcProto.Type.Kind.BYTE); break; case SHORT: builder.setKind(OrcProto.Type.Kind.SHORT); break; case INT: builder.setKind(OrcProto.Type.Kind.INT); break; case LONG: builder.setKind(OrcProto.Type.Kind.LONG); break; case FLOAT: builder.setKind(OrcProto.Type.Kind.FLOAT); break; case DOUBLE: builder.setKind(OrcProto.Type.Kind.DOUBLE); break; case STRING: builder.setKind(OrcProto.Type.Kind.STRING); break; case CHAR: builder.setKind(OrcProto.Type.Kind.CHAR); builder.setMaximumLength(oldType.getMaximumLength()); break;
switch (typeDescr.getCategory()) { case BOOLEAN: type.setKind(OrcProto.Type.Kind.BOOLEAN); break; case BYTE: type.setKind(OrcProto.Type.Kind.BYTE); break; case SHORT: type.setKind(OrcProto.Type.Kind.SHORT); break; case INT: type.setKind(OrcProto.Type.Kind.INT); break; case LONG: type.setKind(OrcProto.Type.Kind.LONG); break; case FLOAT: type.setKind(OrcProto.Type.Kind.FLOAT); break; case DOUBLE: type.setKind(OrcProto.Type.Kind.DOUBLE); break; case STRING: type.setKind(OrcProto.Type.Kind.STRING); break; case CHAR: type.setKind(OrcProto.Type.Kind.CHAR); type.setMaximumLength(typeDescr.getMaxLength()); break;
switch (schema.getCategory()) { case BOOLEAN: type.setKind(OrcProto.Type.Kind.BOOLEAN); break; case BYTE: type.setKind(OrcProto.Type.Kind.BYTE); break; case SHORT: type.setKind(OrcProto.Type.Kind.SHORT); break; case INT: type.setKind(OrcProto.Type.Kind.INT); break; case LONG: type.setKind(OrcProto.Type.Kind.LONG); break; case FLOAT: type.setKind(OrcProto.Type.Kind.FLOAT); break; case DOUBLE: type.setKind(OrcProto.Type.Kind.DOUBLE); break; case STRING: type.setKind(OrcProto.Type.Kind.STRING); break; case CHAR: type.setKind(OrcProto.Type.Kind.CHAR); type.setMaximumLength(schema.getMaxLength()); break;
switch (schema.getCategory()) { case BOOLEAN: type.setKind(OrcProto.Type.Kind.BOOLEAN); break; case BYTE: type.setKind(OrcProto.Type.Kind.BYTE); break; case SHORT: type.setKind(OrcProto.Type.Kind.SHORT); break; case INT: type.setKind(OrcProto.Type.Kind.INT); break; case LONG: type.setKind(OrcProto.Type.Kind.LONG); break; case FLOAT: type.setKind(OrcProto.Type.Kind.FLOAT); break; case DOUBLE: type.setKind(OrcProto.Type.Kind.DOUBLE); break; case STRING: type.setKind(OrcProto.Type.Kind.STRING); break; case CHAR: type.setKind(OrcProto.Type.Kind.CHAR); type.setMaximumLength(schema.getMaxLength()); break;
switch (schema.getCategory()) { case BOOLEAN: type.setKind(OrcProto.Type.Kind.BOOLEAN); break; case BYTE: type.setKind(OrcProto.Type.Kind.BYTE); break; case SHORT: type.setKind(OrcProto.Type.Kind.SHORT); break; case INT: type.setKind(OrcProto.Type.Kind.INT); break; case LONG: type.setKind(OrcProto.Type.Kind.LONG); break; case FLOAT: type.setKind(OrcProto.Type.Kind.FLOAT); break; case DOUBLE: type.setKind(OrcProto.Type.Kind.DOUBLE); break; case STRING: type.setKind(OrcProto.Type.Kind.STRING); break; case CHAR: type.setKind(OrcProto.Type.Kind.CHAR); type.setMaximumLength(schema.getMaxLength()); break;
public Builder mergeFrom(org.apache.orc.OrcProto.Type other) { if (other == org.apache.orc.OrcProto.Type.getDefaultInstance()) return this; if (other.hasKind()) { setKind(other.getKind());
/** * Build a virtual OrcTail for empty files. * @return a new OrcTail */ OrcTail buildEmptyTail() { OrcProto.PostScript.Builder postscript = OrcProto.PostScript.newBuilder(); OrcFile.Version version = OrcFile.Version.CURRENT; postscript.setMagic(OrcFile.MAGIC) .setCompression(OrcProto.CompressionKind.NONE) .setFooterLength(0) .addVersion(version.getMajor()) .addVersion(version.getMinor()) .setMetadataLength(0) .setWriterVersion(OrcFile.CURRENT_WRITER.getId()); // Use a struct with no fields OrcProto.Type.Builder struct = OrcProto.Type.newBuilder(); struct.setKind(OrcProto.Type.Kind.STRUCT); OrcProto.Footer.Builder footer = OrcProto.Footer.newBuilder(); footer.setHeaderLength(0) .setContentLength(0) .addTypes(struct) .setNumberOfRows(0) .setRowIndexStride(0); OrcProto.FileTail.Builder result = OrcProto.FileTail.newBuilder(); result.setFooter(footer); result.setPostscript(postscript); result.setFileLength(0); result.setPostscriptLength(0); return new OrcTail(result.build(), null); }
switch (schema.getCategory()) { case BOOLEAN: type.setKind(OrcProto.Type.Kind.BOOLEAN); break; case BYTE: type.setKind(OrcProto.Type.Kind.BYTE); break; case SHORT: type.setKind(OrcProto.Type.Kind.SHORT); break; case INT: type.setKind(OrcProto.Type.Kind.INT); break; case LONG: type.setKind(OrcProto.Type.Kind.LONG); break; case FLOAT: type.setKind(OrcProto.Type.Kind.FLOAT); break; case DOUBLE: type.setKind(OrcProto.Type.Kind.DOUBLE); break; case STRING: type.setKind(OrcProto.Type.Kind.STRING); break; case CHAR: type.setKind(OrcProto.Type.Kind.CHAR); type.setMaximumLength(schema.getMaxLength()); break;
) throws IOException { List<OrcProto.Type> types = new ArrayList<OrcProto.Type>(); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.STRUCT). addFieldNames("time").addFieldNames("date"). addSubtypes(1).addSubtypes(2).build()); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.TIMESTAMP). build()); types.add(OrcProto.Type.newBuilder().setKind(OrcProto.Type.Kind.DATE). build());