in vector-code-gen/src/org/apache/hadoop/hive/tools/GenVectorCode.java [1365:1598]
private void generate() throws Exception {
System.out.println("Generating vector expression code");
for (String [] tdesc : templateExpansions) {
if (tdesc[0].equals("ColumnArithmeticScalar") || tdesc[0].equals("ColumnDivideScalar")) {
generateColumnArithmeticScalar(tdesc);
} else if (tdesc[0].equals("ColumnArithmeticScalarDecimal")) {
generateColumnArithmeticScalarDecimal(tdesc);
} else if (tdesc[0].equals("ScalarArithmeticColumnDecimal")) {
generateScalarArithmeticColumnDecimal(tdesc);
} else if (tdesc[0].equals("ColumnArithmeticColumnDecimal")) {
generateColumnArithmeticColumnDecimal(tdesc);
} else if (tdesc[0].equals("ColumnDivideScalarDecimal")) {
generateColumnDivideScalarDecimal(tdesc);
} else if (tdesc[0].equals("ScalarDivideColumnDecimal")) {
generateScalarDivideColumnDecimal(tdesc);
} else if (tdesc[0].equals("ColumnDivideColumnDecimal")) {
generateColumnDivideColumnDecimal(tdesc);
} else if (tdesc[0].equals("ColumnCompareScalar")) {
generateColumnCompareScalar(tdesc);
} else if (tdesc[0].equals("ScalarCompareColumn")) {
generateScalarCompareColumn(tdesc);
} else if (tdesc[0].equals("DecimalCompareDecimal")) {
generateDecimalCompareDecimal(tdesc);
} else if (tdesc[0].equals("TimestampCompareTimestamp")) {
generateTimestampCompareTimestamp(tdesc);
} else if (tdesc[0].equals("TimestampCompareLongDouble")) {
generateTimestampCompareLongDouble(tdesc);
} else if (tdesc[0].equals("LongDoubleCompareTimestamp")) {
generateLongDoubleCompareTimestamp(tdesc);
} else if (tdesc[0].equals("FilterColumnCompareScalar")) {
generateFilterColumnCompareScalar(tdesc);
} else if (tdesc[0].equals("FilterScalarCompareColumn")) {
generateFilterScalarCompareColumn(tdesc);
} else if (tdesc[0].equals("FilterTimestampCompareTimestamp")) {
generateFilterTimestampCompareTimestamp(tdesc);
} else if (tdesc[0].equals("FilterTimestampCompareLongDouble")) {
generateFilterTimestampCompareLongDouble(tdesc);
} else if (tdesc[0].equals("FilterLongDoubleCompareTimestamp")) {
generateFilterLongDoubleCompareTimestamp(tdesc);
} else if (tdesc[0].equals("FilterColumnBetween")) {
generateFilterColumnBetween(tdesc);
} else if (tdesc[0].equals("FilterColumnBetweenDynamicValue")) {
generateFilterColumnBetweenDynamicValue(tdesc);
} else if (tdesc[0].equals("ColumnBetween") ||
tdesc[0].equals("StringColumnBetween") ||
tdesc[0].equals("TimestampColumnBetween") ||
tdesc[0].equals("DecimalColumnBetween")) {
generateColumnBetween(tdesc);
} else if (tdesc[0].equals("TruncStringColumnBetween")) {
generateTruncStringColumnBetween(tdesc);
} else if (tdesc[0].equals("Decimal64ColumnBetween")) {
generateDecimal64ColumnBetween(tdesc);
} else if (tdesc[0].equals("ScalarArithmeticColumn") || tdesc[0].equals("ScalarDivideColumn")) {
generateScalarArithmeticColumn(tdesc);
} else if (tdesc[0].equals("FilterColumnCompareColumn")) {
generateFilterColumnCompareColumn(tdesc);
} else if (tdesc[0].equals("ColumnCompareColumn")) {
generateColumnCompareColumn(tdesc);
} else if (tdesc[0].equals("ColumnArithmeticColumn") || tdesc[0].equals("ColumnDivideColumn")) {
generateColumnArithmeticColumn(tdesc);
} else if (tdesc[0].equals("Decimal64ColumnArithmeticDecimal64Scalar")) {
generateDecimal64ColumnArithmeticDecimal64Scalar(tdesc);
} else if (tdesc[0].equals("Decimal64ScalarArithmeticDecimal64Column")) {
generateDecimal64ScalarArithmeticDecimal64Column(tdesc);
} else if (tdesc[0].equals("Decimal64ColumnArithmeticDecimal64Column")) {
generateDecimal64ColumnArithmeticDecimal64Column(tdesc);
} else if (tdesc[0].equals("Decimal64ColumnDivideDecimal64Scalar")) {
generateDecimal64ColumnArithmeticDecimal64Scalar(tdesc);
} else if (tdesc[0].equals("Decimal64ColumnDivideDecimal64Column")) {
generateDecimal64ColumnArithmeticDecimal64Column(tdesc);
} else if(tdesc[0].equals("Decimal64ColumnScaleUp")) {
generateDecimal64ColumnScaleUp(tdesc);
} else if (tdesc[0].equals("ColumnUnaryMinus")) {
generateColumnUnaryMinus(tdesc);
} else if (tdesc[0].equals("ColumnUnaryFunc")) {
generateColumnUnaryFunc(tdesc);
} else if (tdesc[0].equals("DecimalColumnUnaryFunc")) {
generateDecimalColumnUnaryFunc(tdesc);
} else if (tdesc[0].equals("VectorUDAFMinMax")) {
generateVectorUDAFMinMax(tdesc);
} else if (tdesc[0].equals("VectorUDAFMinMaxString")) {
generateVectorUDAFMinMaxString(tdesc);
} else if (tdesc[0].equals("VectorUDAFMinMaxDecimal")) {
generateVectorUDAFMinMaxObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFMinMaxDecimal64")) {
generateVectorUDAFMinMaxDecimal64(tdesc);
} else if (tdesc[0].equals("VectorUDAFMinMaxTimestamp")) {
generateVectorUDAFMinMaxObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFMinMaxIntervalDayTime")) {
generateVectorUDAFMinMaxObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFSum")) {
generateVectorUDAFSum(tdesc);
} else if (tdesc[0].equals("VectorUDAFAvg")) {
generateVectorUDAFAvg(tdesc);
} else if (tdesc[0].equals("VectorUDAFAvgMerge")) {
generateVectorUDAFAvgMerge(tdesc);
} else if (tdesc[0].equals("VectorUDAFAvgDecimal")) {
generateVectorUDAFAvgObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFAvgDecimal64ToDecimal")) {
generateVectorUDAFAvgObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFAvgTimestamp")) {
generateVectorUDAFAvgObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFAvgDecimalMerge")) {
generateVectorUDAFAvgMerge(tdesc);
} else if (tdesc[0].equals("VectorUDAFComputeBitVector")) {
generateVectorUDAFDataSummary(tdesc);
} else if (tdesc[0].equals("VectorUDAFComputeDsKllSketch")) {
generateVectorUDAFDataSummary(tdesc);
} else if (tdesc[0].equals("VectorUDAFVar")) {
generateVectorUDAFVar(tdesc);
} else if (tdesc[0].equals("VectorUDAFVarDecimal")) {
generateVectorUDAFVarObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFVarTimestamp")) {
generateVectorUDAFVarObject(tdesc);
} else if (tdesc[0].equals("VectorUDAFVarMerge")) {
generateVectorUDAFVarMerge(tdesc);
} else if (tdesc[0].equals("FilterStringGroupColumnCompareStringGroupScalarBase")) {
generateFilterStringGroupColumnCompareStringGroupScalarBase(tdesc);
} else if (tdesc[0].equals("FilterStringGroupColumnCompareStringScalar")) {
generateFilterStringGroupColumnCompareStringScalar(tdesc);
} else if (tdesc[0].equals("FilterStringGroupColumnCompareTruncStringScalar")) {
generateFilterStringGroupColumnCompareTruncStringScalar(tdesc);
} else if (tdesc[0].equals("FilterStringColumnBetween")) {
generateFilterStringColumnBetween(tdesc);
} else if (tdesc[0].equals("FilterTruncStringColumnBetween")) {
generateFilterTruncStringColumnBetween(tdesc);
} else if (tdesc[0].equals("FilterDecimalColumnBetween")) {
generateFilterDecimalColumnBetween(tdesc);
} else if (tdesc[0].equals("FilterTimestampColumnBetween")) {
generateFilterTimestampColumnBetween(tdesc);
} else if (tdesc[0].equals("StringGroupColumnCompareStringGroupScalarBase")) {
generateStringGroupColumnCompareStringGroupScalarBase(tdesc);
} else if (tdesc[0].equals("StringGroupColumnCompareStringScalar")) {
generateStringGroupColumnCompareStringScalar(tdesc);
} else if (tdesc[0].equals("StringGroupColumnCompareTruncStringScalar")) {
generateStringGroupColumnCompareTruncStringScalar(tdesc);
} else if (tdesc[0].equals("FilterStringGroupScalarCompareStringGroupColumnBase")) {
generateFilterStringGroupScalarCompareStringGroupColumnBase(tdesc);
} else if (tdesc[0].equals("FilterStringScalarCompareStringGroupColumn")) {
generateFilterStringScalarCompareStringGroupColumn(tdesc);
} else if (tdesc[0].equals("FilterTruncStringScalarCompareStringGroupColumn")) {
generateFilterTruncStringScalarCompareStringGroupColumn(tdesc);
} else if (tdesc[0].equals("StringGroupScalarCompareStringGroupColumnBase")) {
generateStringGroupScalarCompareStringGroupColumnBase(tdesc);
} else if (tdesc[0].equals("StringScalarCompareStringGroupColumn")) {
generateStringScalarCompareStringGroupColumn(tdesc);
} else if (tdesc[0].equals("TruncStringScalarCompareStringGroupColumn")) {
generateTruncStringScalarCompareStringGroupColumn(tdesc);
} else if (tdesc[0].equals("FilterStringGroupColumnCompareStringGroupColumn")) {
generateFilterStringGroupColumnCompareStringGroupColumn(tdesc);
} else if (tdesc[0].equals("StringGroupColumnCompareStringGroupColumn")) {
generateStringGroupColumnCompareStringGroupColumn(tdesc);
} else if (tdesc[0].equals("Decimal64ColumnCompareDecimal64Scalar")) {
generateDecimal64ColumnCompareDecimal64Scalar(tdesc);
} else if (tdesc[0].equals("Decimal64ScalarCompareDecimal64Column")) {
generateDecimal64ScalarCompareDecimal64Column(tdesc);
} else if (tdesc[0].equals("Decimal64ColumnCompareDecimal64Column")) {
generateDecimal64ColumnCompareDecimal64Column(tdesc);
} else if (tdesc[0].equals("IfExprColumnScalar")) {
generateIfExprColumnScalar(tdesc);
} else if (tdesc[0].equals("IfExprScalarColumn")) {
generateIfExprScalarColumn(tdesc);
} else if (tdesc[0].equals("IfExprScalarScalar")) {
generateIfExprScalarScalar(tdesc);
} else if (
tdesc[0].equals("IfExprObjectColumnColumn") ||
tdesc[0].equals("IfExprObjectColumnScalar") ||
tdesc[0].equals("IfExprObjectScalarColumn") ||
tdesc[0].equals("IfExprObjectScalarScalar")) {
generateIfExprObject(tdesc);
} else if (tdesc[0].equals("FilterDecimalColumnCompareDecimalScalar")) {
generateFilterDecimalColumnCompareDecimalScalar(tdesc);
} else if (tdesc[0].equals("FilterDecimalScalarCompareDecimalColumn")) {
generateFilterDecimalScalarCompareDecimalColumn(tdesc);
} else if (tdesc[0].equals("FilterDecimalColumnCompareDecimalColumn")) {
generateFilterDecimalColumnCompareDecimalColumn(tdesc);
} else if (tdesc[0].equals("FilterDecimal64ColumnCompareDecimal64Scalar")) {
generateFilterDecimal64ColumnCompareDecimal64Scalar(tdesc);
} else if (tdesc[0].equals("FilterDecimal64ScalarCompareDecimal64Column")) {
generateFilterDecimal64ScalarCompareDecimal64Column(tdesc);
} else if (tdesc[0].equals("FilterDecimal64ColumnCompareDecimal64Column")) {
generateFilterDecimal64ColumnCompareDecimal64Column(tdesc);
} else if (tdesc[0].equals("FilterDTIScalarCompareColumn")) {
generateFilterDTIScalarCompareColumn(tdesc);
} else if (tdesc[0].equals("FilterDTIColumnCompareScalar")) {
generateFilterDTIColumnCompareScalar(tdesc);
} else if (tdesc[0].equals("DTIScalarCompareColumn")) {
generateDTIScalarCompareColumn(tdesc);
} else if (tdesc[0].equals("DTIColumnCompareScalar")) {
generateDTIColumnCompareScalar(tdesc);
} else if (tdesc[0].equals("DTIColumnArithmeticDTIScalarNoConvert")) {
generateColumnArithmeticScalar(tdesc);
} else if (tdesc[0].equals("DTIScalarArithmeticDTIColumnNoConvert")) {
generateScalarArithmeticColumn(tdesc);
} else if (tdesc[0].equals("DTIColumnArithmeticDTIColumnNoConvert")) {
generateColumnArithmeticColumn(tdesc);
} else if (tdesc[0].equals("DateArithmeticIntervalYearMonth")) {
generateDateTimeArithmeticIntervalYearMonth(tdesc);
} else if (tdesc[0].equals("IntervalYearMonthArithmeticDate")) {
generateDateTimeArithmeticIntervalYearMonth(tdesc);
} else if (tdesc[0].equals("TimestampArithmeticIntervalYearMonth")) {
generateDateTimeArithmeticIntervalYearMonth(tdesc);
} else if (tdesc[0].equals("IntervalYearMonthArithmeticTimestamp")) {
generateDateTimeArithmeticIntervalYearMonth(tdesc);
} else if (tdesc[0].equals("TimestampArithmeticTimestamp")) {
generateTimestampArithmeticTimestamp(tdesc);
} else if (tdesc[0].equals("DateArithmeticTimestamp")) {
generateDateArithmeticTimestamp(tdesc);
} else if (tdesc[0].equals("TimestampArithmeticDate")) {
generateTimestampArithmeticDate(tdesc);
} else {
continue;
}
}
System.out.println("Generating vector expression test code");
testCodeGen.generateTestSuites();
}