flink-formats/flink-orc-nohive/src/main/java/org/apache/flink/orc/nohive/OrcNoHiveBulkWriterFactory.java [117:200]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	private static void setColumn(
			int rowId, ColumnVector column, LogicalType type, RowData row, int columnId) {
		if (row.isNullAt(columnId)) {
			column.noNulls = false;
			column.isNull[rowId] = true;
			return;
		}

		switch (type.getTypeRoot()) {
			case CHAR:
			case VARCHAR: {
				BytesColumnVector vector = (BytesColumnVector) column;
				byte[] bytes = row.getString(columnId).toBytes();
				vector.setVal(rowId, bytes, 0, bytes.length);
				break;
			}
			case BOOLEAN: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] =
						row.getBoolean(columnId) ? 1 : 0;
				break;
			}
			case BINARY:
			case VARBINARY: {
				BytesColumnVector vector = (BytesColumnVector) column;
				byte[] bytes = row.getBinary(columnId);
				vector.setVal(rowId, bytes, 0, bytes.length);
				break;
			}
			case DECIMAL: {
				DecimalType dt = (DecimalType) type;
				DecimalColumnVector vector = (DecimalColumnVector) column;
				vector.set(rowId, HiveDecimal.create(
						row.getDecimal(columnId, dt.getPrecision(), dt.getScale()).toBigDecimal()));
				break;
			}
			case TINYINT: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getByte(columnId);
				break;
			}
			case SMALLINT: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getShort(columnId);
				break;
			}
			case DATE:
			case TIME_WITHOUT_TIME_ZONE:
			case INTEGER: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getInt(columnId);
				break;
			}
			case BIGINT: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getLong(columnId);
				break;
			}
			case FLOAT: {
				DoubleColumnVector vector = (DoubleColumnVector) column;
				vector.vector[rowId] = row.getFloat(columnId);
				break;
			}
			case DOUBLE: {
				DoubleColumnVector vector = (DoubleColumnVector) column;
				vector.vector[rowId] = row.getDouble(columnId);
				break;
			}
			case TIMESTAMP_WITHOUT_TIME_ZONE: {
				TimestampType tt = (TimestampType) type;
				Timestamp timestamp = row.getTimestamp(columnId, tt.getPrecision()).toTimestamp();
				TimestampColumnVector vector = (TimestampColumnVector) column;
				vector.set(rowId, timestamp);
				break;
			}
			case TIMESTAMP_WITH_LOCAL_TIME_ZONE: {
				LocalZonedTimestampType lt = (LocalZonedTimestampType) type;
				Timestamp timestamp = row.getTimestamp(columnId, lt.getPrecision()).toTimestamp();
				TimestampColumnVector vector = (TimestampColumnVector) column;
				vector.set(rowId, timestamp);
				break;
			}
			default:
				throw new UnsupportedOperationException("Unsupported type: " + type);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



flink-formats/flink-orc/src/main/java/org/apache/flink/orc/vector/RowDataVectorizer.java [58:141]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	private static void setColumn(
			int rowId, ColumnVector column, LogicalType type, RowData row, int columnId) {
		if (row.isNullAt(columnId)) {
			column.noNulls = false;
			column.isNull[rowId] = true;
			return;
		}

		switch (type.getTypeRoot()) {
			case CHAR:
			case VARCHAR: {
				BytesColumnVector vector = (BytesColumnVector) column;
				byte[] bytes = row.getString(columnId).toBytes();
				vector.setVal(rowId, bytes, 0, bytes.length);
				break;
			}
			case BOOLEAN: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] =
						row.getBoolean(columnId) ? 1 : 0;
				break;
			}
			case BINARY:
			case VARBINARY: {
				BytesColumnVector vector = (BytesColumnVector) column;
				byte[] bytes = row.getBinary(columnId);
				vector.setVal(rowId, bytes, 0, bytes.length);
				break;
			}
			case DECIMAL: {
				DecimalType dt = (DecimalType) type;
				DecimalColumnVector vector = (DecimalColumnVector) column;
				vector.set(rowId, HiveDecimal.create(
						row.getDecimal(columnId, dt.getPrecision(), dt.getScale()).toBigDecimal()));
				break;
			}
			case TINYINT: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getByte(columnId);
				break;
			}
			case SMALLINT: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getShort(columnId);
				break;
			}
			case DATE:
			case TIME_WITHOUT_TIME_ZONE:
			case INTEGER: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getInt(columnId);
				break;
			}
			case BIGINT: {
				LongColumnVector vector = (LongColumnVector) column;
				vector.vector[rowId] = row.getLong(columnId);
				break;
			}
			case FLOAT: {
				DoubleColumnVector vector = (DoubleColumnVector) column;
				vector.vector[rowId] = row.getFloat(columnId);
				break;
			}
			case DOUBLE: {
				DoubleColumnVector vector = (DoubleColumnVector) column;
				vector.vector[rowId] = row.getDouble(columnId);
				break;
			}
			case TIMESTAMP_WITHOUT_TIME_ZONE: {
				TimestampType tt = (TimestampType) type;
				Timestamp timestamp = row.getTimestamp(columnId, tt.getPrecision()).toTimestamp();
				TimestampColumnVector vector = (TimestampColumnVector) column;
				vector.set(rowId, timestamp);
				break;
			}
			case TIMESTAMP_WITH_LOCAL_TIME_ZONE: {
				LocalZonedTimestampType lt = (LocalZonedTimestampType) type;
				Timestamp timestamp = row.getTimestamp(columnId, lt.getPrecision()).toTimestamp();
				TimestampColumnVector vector = (TimestampColumnVector) column;
				vector.set(rowId, timestamp);
				break;
			}
			default:
				throw new UnsupportedOperationException("Unsupported type: " + type);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



