@Explain(vectorization = Vectorization.OPERATOR, displayName = "Map Join Vectorization", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public MapJoinOperatorExplainVectorization getMapJoinVectorization() { if (vectorDesc == null || this instanceof SMBJoinDesc) { return null; } return new MapJoinOperatorExplainVectorization(this, vectorDesc); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "bigTableOuterKeyMapping", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getBigTableOuterKey() { if (!isNative || vectorMapJoinDesc.operatorVariation() != OperatorVariation.OUTER) { return null; } return columnMappingToStringList(vectorMapJoinInfo.getBigTableOuterKeyMapping()); }
@Explain(vectorization = Vectorization.OPERATOR, displayName = "nativeConditionsNotMet", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getNativeConditionsNotMet() { if (nativeConditions == null) { nativeConditions = createNativeConditions(); } return VectorizationCondition.getConditionsNotMet(nativeConditions); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "bigTableRetainedColumns", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public String getBigTableRetainedColumns() { if (!isNative) { return null; } return outputColumnsToStringList(vectorMapJoinInfo.getBigTableRetainedMapping()); }
@Explain(vectorization = Vectorization.EXPRESSION, displayName = "bigTableKeyExpressions", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getBigTableKeyExpressions() { if (!isNative) { return null; } return vectorExpressionsToStringList(vectorMapJoinInfo.getBigTableKeyExpressions()); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "projectedOutputColumns", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public String getProjectedOutputColumns() { if (!isNative) { return null; } return outputColumnsToStringList(vectorMapJoinInfo.getProjectionMapping()); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "bigTableValueColumns", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getBigTableValueColumns() { if (!isNative) { return null; } int[] bigTableValueColumnMap = vectorMapJoinInfo.getBigTableValueColumnMap(); if (bigTableValueColumnMap.length == 0) { return null; } return outputColumnsAndTypesToStringList( vectorMapJoinInfo.getBigTableValueColumnMap(), vectorMapJoinInfo.getBigTableValueTypeInfos()); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "bigTableKeyColumns", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getBigTableKeyColumns() { if (!isNative) { return null; } int[] bigTableKeyColumnMap = vectorMapJoinInfo.getBigTableKeyColumnMap(); if (bigTableKeyColumnMap.length == 0) { return null; } return outputColumnsAndTypesToStringList( vectorMapJoinInfo.getBigTableKeyColumnMap(), vectorMapJoinInfo.getBigTableKeyTypeInfos()); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "smallTableMapping", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public String getSmallTableColumns() { if (!isNative) { return null; } return outputColumnsToStringList(vectorMapJoinInfo.getSmallTableMapping()); }
@Explain(vectorization = Vectorization.EXPRESSION, displayName = "bigTableValueExpressions", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getBigTableValueExpressions() { if (!isNative) { return null; } return vectorExpressionsToStringList(vectorMapJoinInfo.getBigTableValueExpressions()); }
@Explain(vectorization = Vectorization.OPERATOR, displayName = "nativeConditionsMet", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getNativeConditionsMet() { if (nativeConditions == null) { nativeConditions = createNativeConditions(); } return VectorizationCondition.getConditionsMet(nativeConditions); }
@Explain(vectorization = Vectorization.OPERATOR, displayName = "Map Join Vectorization", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public MapJoinOperatorExplainVectorization getMapJoinVectorization() { VectorMapJoinDesc vectorMapJoinDesc = (VectorMapJoinDesc) getVectorDesc(); if (vectorMapJoinDesc == null || this instanceof SMBJoinDesc) { return null; } return new MapJoinOperatorExplainVectorization(this, vectorMapJoinDesc); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "smallTableValueMapping", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getSmallTableColumns() { if (!isNative) { return null; } return outputColumnsAndTypesToStringList(vectorMapJoinInfo.getSmallTableValueMapping()); }
@Explain(vectorization = Vectorization.OPERATOR, displayName = "nativeConditionsNotMet", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getNativeConditionsNotMet() { if (nativeConditions == null) { nativeConditions = createNativeConditions(); } return VectorizationCondition.getConditionsNotMet(nativeConditions); }
@Explain(vectorization = Vectorization.EXPRESSION, displayName = "bigTableFilterExpressions", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getBigTableFilterExpressions() { if (!isNative) { return null; } return vectorExpressionsToStringList(vectorMapJoinInfo.getBigTableFilterExpressions()); }
@Explain(vectorization = Vectorization.OPERATOR, displayName = "bigTableKeyExpressions", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getBigTableKeyExpressions() { return vectorExpressionsToStringList( isNative ? vectorMapJoinInfo.getSlimmedBigTableKeyExpressions() : vectorMapJoinDesc.getAllBigTableKeyExpressions()); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "outerSmallTableKeyMapping", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getOuterSmallTableKeyMapping() { if (!isNative || vectorMapJoinDesc.getVectorMapJoinVariation() != VectorMapJoinVariation.OUTER) { return null; } return columnMappingToStringList(vectorMapJoinInfo.getOuterSmallTableKeyMapping()); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "projectedOutput", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getProjectedOutputColumnNums() { if (!isNative) { return null; } return outputColumnsAndTypesToStringList(vectorMapJoinInfo.getProjectionMapping()); }
@Explain(vectorization = Vectorization.DETAIL, displayName = "fullOuterSmallTableKeyMapping", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getFullOuterSmallTableKeyMapping() { if (!isNative || vectorMapJoinDesc.getVectorMapJoinVariation() != VectorMapJoinVariation.FULL_OUTER) { return null; } return columnMappingToStringList(vectorMapJoinInfo.getFullOuterSmallTableKeyMapping()); }
@Explain(vectorization = Vectorization.OPERATOR, displayName = "nativeConditionsMet", explainLevels = { Level.DEFAULT, Level.EXTENDED }) public List<String> getNativeConditionsMet() { if (nativeConditions == null) { nativeConditions = createNativeConditions(); } return VectorizationCondition.getConditionsMet(nativeConditions); }