8e36fc031b6c8ca48465084e8aa5bf56c348461e
[hive.git] / ql / src / gen / vectorization / ExpressionTemplates / StringGroupColumnCompareTruncStringScalar.txt
1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18  
19 package org.apache.hadoop.hive.ql.exec.vector.expressions.gen;
20
21 import org.apache.hadoop.hive.ql.exec.vector.expressions.gen.<BaseClassName>;
22
23 import java.nio.charset.StandardCharsets;
24
25 import org.apache.hadoop.hive.common.type.<TruncStringHiveType>;
26
27 import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
28 import org.apache.hadoop.hive.ql.exec.vector.expressions.StringExpr;
29 import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
30 import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector;
31 import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
32 import org.apache.hadoop.hive.ql.exec.vector.VectorExpressionDescriptor;
33
34 /**
35  * This is a generated class to evaluate a <OperatorSymbol> comparison on a vector of strings.
36  */
37 public class <ClassName> extends <BaseClassName> {
38
39   public <ClassName>(int colNum, <TruncStringHiveType> value, int outputColumn) {
40     this.colNum = colNum;
41     this.value = value.<TruncStringHiveGetBytes>;
42     this.outputColumn = outputColumn;
43   }
44
45   public <ClassName>() {
46   }
47
48   @Override
49   public String vectorExpressionParameters() {
50     return "col " + colNum + ", val " + new String(value, StandardCharsets.UTF_8);
51   }
52
53   @Override
54   public VectorExpressionDescriptor.Descriptor getDescriptor() {
55     return (new VectorExpressionDescriptor.Builder())
56         .setMode(
57             VectorExpressionDescriptor.Mode.PROJECTION)
58         .setNumArguments(2)
59         .setArgumentTypes(
60             VectorExpressionDescriptor.ArgumentType.STRING_FAMILY,
61             VectorExpressionDescriptor.ArgumentType.getType("<TruncStringTypeName>"))
62         .setInputExpressionTypes(
63             VectorExpressionDescriptor.InputExpressionType.COLUMN,
64             VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
65   }
66 }