blob: 254817c52b9bd3c84a4f0a55d9b85a5afd690e7f [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.drill.exec.server.rest.profile;
import java.util.Arrays;
/**
* This class is used for backward compatibility when reading older query profiles that
* stored operator id instead of its name.
* <b>Please do not update this class. It will be removed for Drill 2.0</b>
*/
public enum CoreOperatorType {
/**
* <code>SINGLE_SENDER = 0;</code>
*/
SINGLE_SENDER(0),
/**
* <code>BROADCAST_SENDER = 1;</code>
*/
BROADCAST_SENDER(1),
/**
* <code>FILTER = 2;</code>
*/
FILTER(2),
/**
* <code>HASH_AGGREGATE = 3;</code>
*/
HASH_AGGREGATE(3),
/**
* <code>HASH_JOIN = 4;</code>
*/
HASH_JOIN(4),
/**
* <code>MERGE_JOIN = 5;</code>
*/
MERGE_JOIN(5),
/**
* <code>HASH_PARTITION_SENDER = 6;</code>
*/
HASH_PARTITION_SENDER(6),
/**
* <code>LIMIT = 7;</code>
*/
LIMIT(7),
/**
* <code>MERGING_RECEIVER = 8;</code>
*/
MERGING_RECEIVER(8),
/**
* <code>ORDERED_PARTITION_SENDER = 9;</code>
*/
ORDERED_PARTITION_SENDER(9),
/**
* <code>PROJECT = 10;</code>
*/
PROJECT(10),
/**
* <code>UNORDERED_RECEIVER = 11;</code>
*/
UNORDERED_RECEIVER(11),
/**
* <code>RANGE_PARTITION_SENDER = 12;</code>
*/
RANGE_PARTITION_SENDER(12),
/**
* <code>SCREEN = 13;</code>
*/
SCREEN(13),
/**
* <code>SELECTION_VECTOR_REMOVER = 14;</code>
*/
SELECTION_VECTOR_REMOVER(14),
/**
* <code>STREAMING_AGGREGATE = 15;</code>
*/
STREAMING_AGGREGATE(15),
/**
* <code>TOP_N_SORT = 16;</code>
*/
TOP_N_SORT(16),
/**
* <code>EXTERNAL_SORT = 17;</code>
*/
EXTERNAL_SORT(17),
/**
* <code>TRACE = 18;</code>
*/
TRACE(18),
/**
* <code>UNION = 19;</code>
*/
UNION(19),
/**
* <code>OLD_SORT = 20;</code>
*/
OLD_SORT(20),
/**
* <code>PARQUET_ROW_GROUP_SCAN = 21;</code>
*/
PARQUET_ROW_GROUP_SCAN(21),
/**
* <code>HIVE_SUB_SCAN = 22;</code>
*/
HIVE_SUB_SCAN(22),
/**
* <code>SYSTEM_TABLE_SCAN = 23;</code>
*/
SYSTEM_TABLE_SCAN(23),
/**
* <code>MOCK_SUB_SCAN = 24;</code>
*/
MOCK_SUB_SCAN(24),
/**
* <code>PARQUET_WRITER = 25;</code>
*/
PARQUET_WRITER(25),
/**
* <code>DIRECT_SUB_SCAN = 26;</code>
*/
DIRECT_SUB_SCAN(26),
/**
* <code>TEXT_WRITER = 27;</code>
*/
TEXT_WRITER(27),
/**
* <code>TEXT_SUB_SCAN = 28;</code>
*/
TEXT_SUB_SCAN(28),
/**
* <code>JSON_SUB_SCAN = 29;</code>
*/
JSON_SUB_SCAN(29),
/**
* <code>INFO_SCHEMA_SUB_SCAN = 30;</code>
*/
INFO_SCHEMA_SUB_SCAN(30),
/**
* <code>COMPLEX_TO_JSON = 31;</code>
*/
COMPLEX_TO_JSON(31),
/**
* <code>PRODUCER_CONSUMER = 32;</code>
*/
PRODUCER_CONSUMER(32),
/**
* <code>HBASE_SUB_SCAN = 33;</code>
*/
HBASE_SUB_SCAN(33),
/**
* <code>WINDOW = 34;</code>
*/
WINDOW(34),
/**
* <code>NESTED_LOOP_JOIN = 35;</code>
*/
NESTED_LOOP_JOIN(35),
/**
* <code>AVRO_SUB_SCAN = 36;</code>
*/
AVRO_SUB_SCAN(36),
/**
* <code>PCAP_SUB_SCAN = 37;</code>
*/
PCAP_SUB_SCAN(37),
/**
* <code>KAFKA_SUB_SCAN = 38;</code>
*/
KAFKA_SUB_SCAN(38),
/**
* <code>KUDU_SUB_SCAN = 39;</code>
*/
KUDU_SUB_SCAN(39),
/**
* <code>FLATTEN = 40;</code>
*/
FLATTEN(40),
/**
* <code>LATERAL_JOIN = 41;</code>
*/
LATERAL_JOIN(41),
/**
* <code>UNNEST = 42;</code>
*/
UNNEST(42),
/**
* <code>HIVE_DRILL_NATIVE_PARQUET_ROW_GROUP_SCAN = 43;</code>
*/
HIVE_DRILL_NATIVE_PARQUET_ROW_GROUP_SCAN(43),
/**
* <code>JDBC_SCAN = 44;</code>
*/
JDBC_SCAN(44),
/**
* <code>REGEX_SUB_SCAN = 45;</code>
*/
REGEX_SUB_SCAN(45),
/**
* <code>MAPRDB_SUB_SCAN = 46;</code>
*/
MAPRDB_SUB_SCAN(46),
/**
* <code>MONGO_SUB_SCAN = 47;</code>
*/
MONGO_SUB_SCAN(47),
/**
* <code>KUDU_WRITER = 48;</code>
*/
KUDU_WRITER(48),
/**
* <code>OPEN_TSDB_SUB_SCAN = 49;</code>
*/
OPEN_TSDB_SUB_SCAN(49),
/**
* <code>JSON_WRITER = 50;</code>
*/
JSON_WRITER(50),
/**
* <code>HTPPD_LOG_SUB_SCAN = 51;</code>
*/
HTPPD_LOG_SUB_SCAN(51),
/**
* <code>IMAGE_SUB_SCAN = 52;</code>
*/
IMAGE_SUB_SCAN(52),
/**
* <code>SEQUENCE_SUB_SCAN = 53;</code>
*/
SEQUENCE_SUB_SCAN(53),
/**
* <code>PARTITION_LIMIT = 54;</code>
*/
PARTITION_LIMIT(54),
/**
* <code>PCAPNG_SUB_SCAN = 55;</code>
*/
PCAPNG_SUB_SCAN(55),
/**
* <code>RUNTIME_FILTER = 56;</code>
*/
RUNTIME_FILTER(56),
/**
* <code>ROWKEY_JOIN = 57;</code>
*/
ROWKEY_JOIN(57),
/**
* <code>SYSLOG_SUB_SCAN = 58;</code>
*/
SYSLOG_SUB_SCAN(58),
/**
* <code>STATISTICS_AGGREGATE = 59;</code>
*/
STATISTICS_AGGREGATE(59),
/**
* <code>UNPIVOT_MAPS = 60;</code>
*/
UNPIVOT_MAPS(60),
/**
* <code>STATISTICS_MERGE = 61;</code>
*/
STATISTICS_MERGE(61),
/**
* <code>LTSV_SUB_SCAN = 62;</code>
*/
LTSV_SUB_SCAN(62),
/**
* <code>HDF5_SUB_SCAN = 63;</code>
*/
HDF5_SUB_SCAN(63),
/**
* <code>EXCEL_SUB_SCAN = 64;</code>
*/
EXCEL_SUB_SCAN(64),
/**
* <code>SHP_SUB_SCAN = 65;</code>
*/
SHP_SUB_SCAN(65),
/**
* <code>METADATA_HANDLER = 66;</code>
*/
METADATA_HANDLER(66),
/**
* <code>METADATA_CONTROLLER = 67;</code>
*/
METADATA_CONTROLLER(67),
/**
* <code>DRUID_SUB_SCAN = 68;</code>
*/
DRUID_SUB_SCAN(68),
/**
* <code>SPSS_SUB_SCAN = 69;</code>
*/
SPSS_SUB_SCAN(69),
/**
* <code>HTTP_SUB_SCAN = 70;</code>
*/
HTTP_SUB_SCAN(70),
/**
* <code>XML_SUB_SCAN = 71;</code>
*/
XML_SUB_SCAN(71);
private final int value;
CoreOperatorType(int value) {
this.value = value;
}
public int getId() {
return value;
}
public static CoreOperatorType valueOf(int id) {
if (id >= 0 && id <= XML_SUB_SCAN.getId()) {
return values()[id];
}
return null;
}
public static CoreOperatorType forName(String name) {
return Arrays.stream(values())
.filter(value -> value.name().equalsIgnoreCase(name))
.findFirst()
.orElse(null);
}
}