Package org.apache.druid.segment.virtual
Class NestedMergeVirtualColumn
java.lang.Object
org.apache.druid.segment.virtual.SpecializedExpressionVirtualColumn
org.apache.druid.segment.virtual.NestedMergeVirtualColumn
- All Implemented Interfaces:
Cacheable,VirtualColumn
Specialized virtual column for
NestedDataExpressions.JsonMergeExprMacro.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.druid.segment.VirtualColumn
VirtualColumn.EquivalenceKey -
Field Summary
Fields inherited from class org.apache.druid.segment.virtual.SpecializedExpressionVirtualColumn
delegate -
Constructor Summary
ConstructorsConstructorDescriptionNestedMergeVirtualColumn(String name, List<String> columns, ExprMacroTable macroTable) -
Method Summary
Modifier and TypeMethodDescriptionbooleaninthashCode()rewriteRequiredColumns(Map<String, String> columnRewrites) Return a copy of this virtual column that is identical to this virtual column except that it operates on different columns, based on a renaming map where the key is the column to be renamed and the value is the new column.booleanReturns true if the virtual column supportsVirtualColumn.rewriteRequiredColumns(Map)toSelectableColumn(ColumnIndexSelector columnSelector) Produces aSelectableColumnfrom this virtual column.toString()Methods inherited from class org.apache.druid.segment.virtual.SpecializedExpressionVirtualColumn
canVectorize, capabilities, capabilities, getCacheKey, getEquivalanceKey, getIndexSupplier, getOutputName, makeColumnValueSelector, makeDimensionSelector, makeGroupByVectorColumnSelector, makeMultiValueVectorDimensionSelector, makeSingleValueVectorDimensionSelector, makeVectorObjectSelector, makeVectorValueSelector, requiredColumns, usesDotNotationMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.druid.segment.VirtualColumn
makeColumnValueSelector, makeColumnValueSelector, makeDimensionSelector, makeDimensionSelector, makeMultiValueVectorDimensionSelector, makeMultiValueVectorDimensionSelector, makeSingleValueVectorDimensionSelector, makeSingleValueVectorDimensionSelector, makeVectorObjectSelector, makeVectorObjectSelector, makeVectorValueSelector, makeVectorValueSelector
-
Constructor Details
-
NestedMergeVirtualColumn
-
-
Method Details
-
getColumns
-
toSelectableColumn
Description copied from interface:VirtualColumnProduces aSelectableColumnfrom this virtual column. This allows the virtual column to offer specialized interfaces, such asNestedColumnTypeInspectororNestedColumnSelectorFactory. These interfaces may be used by query objects, including other virtual columns, to perform queries in a more efficient manner.- Specified by:
toSelectableColumnin interfaceVirtualColumn- Overrides:
toSelectableColumnin classSpecializedExpressionVirtualColumn- Parameters:
columnSelector- selector for underlying columns and indexes. Cannot be used during execution of this method, but can be stored for later usage.
-
supportsRequiredRewrite
public boolean supportsRequiredRewrite()Description copied from interface:VirtualColumnReturns true if the virtual column supportsVirtualColumn.rewriteRequiredColumns(Map) -
rewriteRequiredColumns
Description copied from interface:VirtualColumnReturn a copy of this virtual column that is identical to this virtual column except that it operates on different columns, based on a renaming map where the key is the column to be renamed and the value is the new column. Callers should checkVirtualColumn.supportsRequiredRewrite()first to ensure that this method is supported.- Parameters:
columnRewrites- Column rewrite map- Returns:
- Copy of this virtual column that operates on new columns based on the rewrite map
-
toString
-
equals
- Overrides:
equalsin classSpecializedExpressionVirtualColumn
-
hashCode
public int hashCode()- Overrides:
hashCodein classSpecializedExpressionVirtualColumn
-