diff options
author | rebase <builds@mapr.com> | 2018-02-12 14:10:56 -0800 |
---|---|---|
committer | Aman Sinha <asinha@maprtech.com> | 2018-10-25 16:08:51 -0700 |
commit | 0abcbe3f36bf6c0a2b5fe07a778d201ead8dd2ce (patch) | |
tree | 45fe91b40a729ed49de8cdc53dc932a50d4633b0 /protocol/src/main/java | |
parent | 61e8b464063299dc1f67445157a46c4939b0cace (diff) |
DRILL-6381: (Part 1) Secondary Index framework
1. Secondary Index planning interfaces and abstract classes like DBGroupScan, DbSubScan, IndexDecriptor etc.
2. Statistics and Cost model interfaces/classes: PluginCost, Statistics, StatisticsPayload, AbstractIndexStatistics
3. ScanBatch and RecordReader to support repeatable scan
4. Secondary Index execution related interfaces: RangePartitionSender, RowKeyJoin, PartitionFunction
5. MD-3979: Query using cast index plan fails with NPE
Co-authored-by: Aman Sinha <asinha@maprtech.com>
Co-authored-by: chunhui-shi <cshi@maprtech.com>
Co-authored-by: Gautam Parai <gparai@maprtech.com>
Co-authored-by: Padma Penumarthy <ppenumar97@yahoo.com>
Co-authored-by: Hanumath Rao Maduri <hmaduri@maprtech.com>
Conflicts:
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScanBatch.java
exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/DrillRelOptUtil.java
exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillTable.java
protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
protocol/src/main/java/org/apache/drill/exec/proto/beans/CoreOperatorType.java
protocol/src/main/protobuf/UserBitShared.proto
Diffstat (limited to 'protocol/src/main/java')
-rw-r--r-- | protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java | 75 | ||||
-rw-r--r-- | protocol/src/main/java/org/apache/drill/exec/proto/beans/CoreOperatorType.java | 8 |
2 files changed, 47 insertions, 36 deletions
diff --git a/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java b/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java index d3461826c..2f5c3de21 100644 --- a/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java +++ b/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java @@ -414,9 +414,9 @@ public final class UserBitShared { */ UNORDERED_RECEIVER(11, 11), /** - * <code>RANGE_SENDER = 12;</code> + * <code>RANGE_PARTITION_SENDER = 12;</code> */ - RANGE_SENDER(12, 12), + RANGE_PARTITION_SENDER(12, 12), /** * <code>SCREEN = 13;</code> */ @@ -593,6 +593,10 @@ public final class UserBitShared { * <code>RUNTIME_FILTER = 56;</code> */ RUNTIME_FILTER(56, 56), + /** + * <code>ROWKEY_JOIN = 57;</code> + */ + ROWKEY_JOIN(57, 57), ; /** @@ -644,9 +648,9 @@ public final class UserBitShared { */ public static final int UNORDERED_RECEIVER_VALUE = 11; /** - * <code>RANGE_SENDER = 12;</code> + * <code>RANGE_PARTITION_SENDER = 12;</code> */ - public static final int RANGE_SENDER_VALUE = 12; + public static final int RANGE_PARTITION_SENDER_VALUE = 12; /** * <code>SCREEN = 13;</code> */ @@ -823,6 +827,10 @@ public final class UserBitShared { * <code>RUNTIME_FILTER = 56;</code> */ public static final int RUNTIME_FILTER_VALUE = 56; + /** + * <code>ROWKEY_JOIN = 57;</code> + */ + public static final int ROWKEY_JOIN_VALUE = 57; public final int getNumber() { return value; } @@ -841,7 +849,7 @@ public final class UserBitShared { case 9: return ORDERED_PARTITION_SENDER; case 10: return PROJECT; case 11: return UNORDERED_RECEIVER; - case 12: return RANGE_SENDER; + case 12: return RANGE_PARTITION_SENDER; case 13: return SCREEN; case 14: return SELECTION_VECTOR_REMOVER; case 15: return STREAMING_AGGREGATE; @@ -886,6 +894,7 @@ public final class UserBitShared { case 54: return PARTITION_LIMIT; case 55: return PCAPNG_SUB_SCAN; case 56: return RUNTIME_FILTER; + case 57: return ROWKEY_JOIN; default: return null; } } @@ -24422,40 +24431,40 @@ public final class UserBitShared { "TATEMENT\020\005*\207\001\n\rFragmentState\022\013\n\007SENDING\020" + "\000\022\027\n\023AWAITING_ALLOCATION\020\001\022\013\n\007RUNNING\020\002\022" + "\014\n\010FINISHED\020\003\022\r\n\tCANCELLED\020\004\022\n\n\006FAILED\020\005" + - "\022\032\n\026CANCELLATION_REQUESTED\020\006*\367\010\n\020CoreOpe" + + "\022\032\n\026CANCELLATION_REQUESTED\020\006*\222\t\n\020CoreOpe" + "ratorType\022\021\n\rSINGLE_SENDER\020\000\022\024\n\020BROADCAS" + "T_SENDER\020\001\022\n\n\006FILTER\020\002\022\022\n\016HASH_AGGREGATE" + "\020\003\022\r\n\tHASH_JOIN\020\004\022\016\n\nMERGE_JOIN\020\005\022\031\n\025HAS" + "H_PARTITION_SENDER\020\006\022\t\n\005LIMIT\020\007\022\024\n\020MERGI" + "NG_RECEIVER\020\010\022\034\n\030ORDERED_PARTITION_SENDE" + "R\020\t\022\013\n\007PROJECT\020\n\022\026\n\022UNORDERED_RECEIVER\020\013", - "\022\020\n\014RANGE_SENDER\020\014\022\n\n\006SCREEN\020\r\022\034\n\030SELECT" + - "ION_VECTOR_REMOVER\020\016\022\027\n\023STREAMING_AGGREG" + - "ATE\020\017\022\016\n\nTOP_N_SORT\020\020\022\021\n\rEXTERNAL_SORT\020\021" + - "\022\t\n\005TRACE\020\022\022\t\n\005UNION\020\023\022\014\n\010OLD_SORT\020\024\022\032\n\026" + - "PARQUET_ROW_GROUP_SCAN\020\025\022\021\n\rHIVE_SUB_SCA" + - "N\020\026\022\025\n\021SYSTEM_TABLE_SCAN\020\027\022\021\n\rMOCK_SUB_S" + - "CAN\020\030\022\022\n\016PARQUET_WRITER\020\031\022\023\n\017DIRECT_SUB_" + - "SCAN\020\032\022\017\n\013TEXT_WRITER\020\033\022\021\n\rTEXT_SUB_SCAN" + - "\020\034\022\021\n\rJSON_SUB_SCAN\020\035\022\030\n\024INFO_SCHEMA_SUB" + - "_SCAN\020\036\022\023\n\017COMPLEX_TO_JSON\020\037\022\025\n\021PRODUCER", - "_CONSUMER\020 \022\022\n\016HBASE_SUB_SCAN\020!\022\n\n\006WINDO" + - "W\020\"\022\024\n\020NESTED_LOOP_JOIN\020#\022\021\n\rAVRO_SUB_SC" + - "AN\020$\022\021\n\rPCAP_SUB_SCAN\020%\022\022\n\016KAFKA_SUB_SCA" + - "N\020&\022\021\n\rKUDU_SUB_SCAN\020\'\022\013\n\007FLATTEN\020(\022\020\n\014L" + - "ATERAL_JOIN\020)\022\n\n\006UNNEST\020*\022,\n(HIVE_DRILL_" + - "NATIVE_PARQUET_ROW_GROUP_SCAN\020+\022\r\n\tJDBC_" + - "SCAN\020,\022\022\n\016REGEX_SUB_SCAN\020-\022\023\n\017MAPRDB_SUB" + - "_SCAN\020.\022\022\n\016MONGO_SUB_SCAN\020/\022\017\n\013KUDU_WRIT" + - "ER\0200\022\026\n\022OPEN_TSDB_SUB_SCAN\0201\022\017\n\013JSON_WRI" + - "TER\0202\022\026\n\022HTPPD_LOG_SUB_SCAN\0203\022\022\n\016IMAGE_S", - "UB_SCAN\0204\022\025\n\021SEQUENCE_SUB_SCAN\0205\022\023\n\017PART" + - "ITION_LIMIT\0206\022\023\n\017PCAPNG_SUB_SCAN\0207\022\022\n\016RU" + - "NTIME_FILTER\0208*g\n\nSaslStatus\022\020\n\014SASL_UNK" + - "NOWN\020\000\022\016\n\nSASL_START\020\001\022\024\n\020SASL_IN_PROGRE" + - "SS\020\002\022\020\n\014SASL_SUCCESS\020\003\022\017\n\013SASL_FAILED\020\004B" + - ".\n\033org.apache.drill.exec.protoB\rUserBitS" + - "haredH\001" + "\022\032\n\026RANGE_PARTITION_SENDER\020\014\022\n\n\006SCREEN\020\r" + + "\022\034\n\030SELECTION_VECTOR_REMOVER\020\016\022\027\n\023STREAM" + + "ING_AGGREGATE\020\017\022\016\n\nTOP_N_SORT\020\020\022\021\n\rEXTER" + + "NAL_SORT\020\021\022\t\n\005TRACE\020\022\022\t\n\005UNION\020\023\022\014\n\010OLD_" + + "SORT\020\024\022\032\n\026PARQUET_ROW_GROUP_SCAN\020\025\022\021\n\rHI" + + "VE_SUB_SCAN\020\026\022\025\n\021SYSTEM_TABLE_SCAN\020\027\022\021\n\r" + + "MOCK_SUB_SCAN\020\030\022\022\n\016PARQUET_WRITER\020\031\022\023\n\017D" + + "IRECT_SUB_SCAN\020\032\022\017\n\013TEXT_WRITER\020\033\022\021\n\rTEX" + + "T_SUB_SCAN\020\034\022\021\n\rJSON_SUB_SCAN\020\035\022\030\n\024INFO_" + + "SCHEMA_SUB_SCAN\020\036\022\023\n\017COMPLEX_TO_JSON\020\037\022\025", + "\n\021PRODUCER_CONSUMER\020 \022\022\n\016HBASE_SUB_SCAN\020" + + "!\022\n\n\006WINDOW\020\"\022\024\n\020NESTED_LOOP_JOIN\020#\022\021\n\rA" + + "VRO_SUB_SCAN\020$\022\021\n\rPCAP_SUB_SCAN\020%\022\022\n\016KAF" + + "KA_SUB_SCAN\020&\022\021\n\rKUDU_SUB_SCAN\020\'\022\013\n\007FLAT" + + "TEN\020(\022\020\n\014LATERAL_JOIN\020)\022\n\n\006UNNEST\020*\022,\n(H" + + "IVE_DRILL_NATIVE_PARQUET_ROW_GROUP_SCAN\020" + + "+\022\r\n\tJDBC_SCAN\020,\022\022\n\016REGEX_SUB_SCAN\020-\022\023\n\017" + + "MAPRDB_SUB_SCAN\020.\022\022\n\016MONGO_SUB_SCAN\020/\022\017\n" + + "\013KUDU_WRITER\0200\022\026\n\022OPEN_TSDB_SUB_SCAN\0201\022\017" + + "\n\013JSON_WRITER\0202\022\026\n\022HTPPD_LOG_SUB_SCAN\0203\022", + "\022\n\016IMAGE_SUB_SCAN\0204\022\025\n\021SEQUENCE_SUB_SCAN" + + "\0205\022\023\n\017PARTITION_LIMIT\0206\022\023\n\017PCAPNG_SUB_SC" + + "AN\0207\022\022\n\016RUNTIME_FILTER\0208\022\017\n\013ROWKEY_JOIN\020" + + "9*g\n\nSaslStatus\022\020\n\014SASL_UNKNOWN\020\000\022\016\n\nSAS" + + "L_START\020\001\022\024\n\020SASL_IN_PROGRESS\020\002\022\020\n\014SASL_" + + "SUCCESS\020\003\022\017\n\013SASL_FAILED\020\004B.\n\033org.apache" + + ".drill.exec.protoB\rUserBitSharedH\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { diff --git a/protocol/src/main/java/org/apache/drill/exec/proto/beans/CoreOperatorType.java b/protocol/src/main/java/org/apache/drill/exec/proto/beans/CoreOperatorType.java index 6b36fb4f6..6138ad614 100644 --- a/protocol/src/main/java/org/apache/drill/exec/proto/beans/CoreOperatorType.java +++ b/protocol/src/main/java/org/apache/drill/exec/proto/beans/CoreOperatorType.java @@ -34,7 +34,7 @@ public enum CoreOperatorType implements com.dyuproject.protostuff.EnumLite<CoreO ORDERED_PARTITION_SENDER(9), PROJECT(10), UNORDERED_RECEIVER(11), - RANGE_SENDER(12), + RANGE_PARTITION_SENDER(12), SCREEN(13), SELECTION_VECTOR_REMOVER(14), STREAMING_AGGREGATE(15), @@ -78,7 +78,8 @@ public enum CoreOperatorType implements com.dyuproject.protostuff.EnumLite<CoreO SEQUENCE_SUB_SCAN(53), PARTITION_LIMIT(54), PCAPNG_SUB_SCAN(55), - RUNTIME_FILTER(56); + RUNTIME_FILTER(56), + ROWKEY_JOIN(57); public final int number; @@ -108,7 +109,7 @@ public enum CoreOperatorType implements com.dyuproject.protostuff.EnumLite<CoreO case 9: return ORDERED_PARTITION_SENDER; case 10: return PROJECT; case 11: return UNORDERED_RECEIVER; - case 12: return RANGE_SENDER; + case 12: return RANGE_PARTITION_SENDER; case 13: return SCREEN; case 14: return SELECTION_VECTOR_REMOVER; case 15: return STREAMING_AGGREGATE; @@ -153,6 +154,7 @@ public enum CoreOperatorType implements com.dyuproject.protostuff.EnumLite<CoreO case 54: return PARTITION_LIMIT; case 55: return PCAPNG_SUB_SCAN; case 56: return RUNTIME_FILTER; + case 57: return ROWKEY_JOIN; default: return null; } } |