Review Board 1.7.22


Consolidate and simplify vectorization code and test generation

Review Request #13274 - Created Aug. 5, 2013 and updated

tony murphy
vectorization
HIVE-4989
Reviewers
hive
hanson5b, jitendra, rusanu, sarvesh.sn
hive-git
The current code generation is unwieldy to use and prone to errors. This change consolidates all the code and test generation into a single location, and removes the need to manually place files which can lead to missing or incomplete code or tests.

New usage:
From ql\src\gen\vectorization:
javac org\apache\hadoop\hive\ql\exec\vector\gen*.java
java org.apache.hadoop.hive.ql.exec.vector.gen.CodeGen
Additionally, I've fixed some incomplete\broken test generations.

 

Diff revision 1 (Latest)

  1. ql/src/gen/vectorization/org/apache/hadoop/hive/ql/exec/vector/gen/CodeGen.java: Loading...
  2. ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt: Loading...
  3. ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt: Loading...
  4. ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt: Loading...
  5. ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt: Loading...
  6. ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareColumn.txt: Loading...
  7. ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareScalar.txt: Loading...
  8. ql/src/gen/vectorization/ExpressionTemplates/FilterScalarCompareColumn.txt: Loading...
  9. ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnCompareColumn.txt: Loading...
  10. ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnCompareScalar.txt: Loading...
  11. ql/src/gen/vectorization/ExpressionTemplates/FilterStringScalarCompareColumn.txt: Loading...
  12. ql/src/gen/vectorization/ExpressionTemplates/ScalarArithmeticColumn.txt: Loading...
  13. ql/src/gen/vectorization/TestTemplates/TestClass.txt: Loading...
  14. ql/src/gen/vectorization/org/apache/hadoop/hive/ql/exec/vector/gen/TestCodeGen.java: Loading...
  15. ql/src/gen/vectorization/TestTemplates/TestColumnColumnFilterVectorExpressionEvaluation.txt: Loading...
  16. ql/src/gen/vectorization/TestTemplates/TestColumnColumnOperationVectorExpressionEvaluation.txt: Loading...
  17. ql/src/gen/vectorization/TestTemplates/TestColumnScalarFilterVectorExpressionEvaluation.txt: Loading...
  18. ql/src/gen/vectorization/TestTemplates/TestColumnScalarOperationVectorExpressionEvaluation.txt: Loading...
  19. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFAvg.txt: Loading...
  20. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFMinMax.txt: Loading...
  21. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFMinMaxString.txt: Loading...
  22. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFSum.txt: Loading...
  23. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFVar.txt: Loading...
  24. ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/TestColumnColumnOperationVectorExpressionEvaluation.java: Loading...
  25. ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/TestColumnScalarFilterVectorExpressionEvaluation.java: Loading...
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/CodeGen.java ql/src/gen/vectorization/org/apache/hadoop/hive/ql/exec/vector/gen/CodeGen.java (moved)
Revision a4c1999 New Change
[20] 13 lines
[+20]
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
16
 * limitations under the License.
17
 */
17
 */
18

    
   
18

   
19
package org.apache.hadoop.hive.ql.exec.vector.expressions.templates;
19
package org.apache.hadoop.hive.ql.exec.vector.gen;
20

    
   
20

   
21
import java.io.BufferedReader;
21
import java.io.BufferedReader;
22
import java.io.BufferedWriter;
22
import java.io.BufferedWriter;
23
import java.io.File;
23
import java.io.File;
24
import java.io.FileReader;
24
import java.io.FileReader;
[+20] [20] 240 lines
[+20] [+] public class CodeGen {
265
          "_FUNC_(x) - Returns the sample standard deviation of a set of numbers (vectorized, double)"},
265
          "_FUNC_(x) - Returns the sample standard deviation of a set of numbers (vectorized, double)"},
266

    
   
266

   
267
    };
267
    };
268

    
   
268

   
269

    
   
269

   
270
  private final String templateDirectory;
270
  private final String expressionOutputDirectory;
271
  private final String outputDirectory;
271
  private final String expressionTemplateDirectory;

    
   
272
  private final String udafOutputDirectory;

    
   
273
  private final String udafTemplateDirectory;
272
  private final TestCodeGen testCodeGen;
274
  private final TestCodeGen testCodeGen;
273

    
   
275

   
274
  static String joinPath(String...parts) {
276
  static String joinPath(String...parts) {
275
    String path = parts[0];
277
    String path = parts[0];
276
    for (int i=1; i < parts.length; ++i) {
278
    for (int i=1; i < parts.length; ++i) {
277
      path += File.separatorChar + parts[i];
279
      path += File.separatorChar + parts[i];
278
    }
280
    }
279
    return path;
281
    return path;
280
  }
282
  }
281

    
   
283

   
282
  public CodeGen() {
284
  public CodeGen() {
283
    templateDirectory = System.getProperty("user.dir");
285
    File generationDirectory = new File(System.getProperty("user.dir"));
284
    File f = new File(templateDirectory);

   
285
    outputDirectory = joinPath(f.getParent(), "gen");

   
286
    testCodeGen =  new TestCodeGen(joinPath(f.getParent(), "test"), templateDirectory);

   
287
  }

   
288

    
   
286

   
289
  public CodeGen(String templateDirectory, String outputDirectory, String testOutputDirectory) {
287
    expressionOutputDirectory =
290
    this.templateDirectory = templateDirectory;
288
      new File(
291
    this.outputDirectory = outputDirectory;
289
        joinPath(
292
    testCodeGen =  new TestCodeGen(testOutputDirectory, templateDirectory);
290
          generationDirectory.getAbsolutePath(),"..", "..", "java", "org",

    
   
291
          "apache", "hadoop", "hive", "ql", "exec", "vector",

    
   
292
          "expressions", "gen")).getAbsolutePath();

    
   
293

   

    
   
294
    expressionTemplateDirectory =

    
   
295
      joinPath(generationDirectory.getAbsolutePath(), "ExpressionTemplates");

    
   
296

   

    
   
297
    udafOutputDirectory =

    
   
298
      new File(

    
   
299
        joinPath(

    
   
300
          generationDirectory.getAbsolutePath(),"..", "..", "java", "org",

    
   
301
          "apache", "hadoop", "hive", "ql", "exec", "vector",

    
   
302
          "expressions", "aggregates", "gen")).getAbsolutePath();

    
   
303

   

    
   
304
    udafTemplateDirectory =

    
   
305
      joinPath(generationDirectory.getAbsolutePath(), "udafTemplates");

    
   
306

   

    
   
307
    testCodeGen =  new TestCodeGen(

    
   
308
      new File(

    
   
309
        joinPath(

    
   
310
          generationDirectory.getAbsolutePath(), "..", "..","test", "org",

    
   
311
          "apache", "hadoop", "hive", "ql", "exec", "vector",

    
   
312
          "expressions", "gen")).getAbsolutePath(),

    
   
313
      joinPath(generationDirectory.getAbsolutePath(), "TestTemplates"));
293
  }
314
  }
294

    
   
315

   
295
  /**
316
  /**
296
   * @param args
317
   * @param args
297
   * @throws Exception
318
   * @throws Exception
298
   */
319
   */
299
  public static void main(String[] args) throws Exception {
320
  public static void main(String[] args) throws Exception {
300
    CodeGen gen;
321
    CodeGen gen = new CodeGen();
301
    if (args == null || args.length==0) {

   
302
      gen = new CodeGen();

   
303
    } else if (args.length==3) {

   
304
      gen = new CodeGen(args[0], args[1], args[2]);

   
305
    }else{

   
306
      System.out.println("args: <templateDir> <outputDir> <testOutputDir>");

   
307
      return;

   
308
    }

   
309
    gen.generate();
322
    gen.generate();
310
  }
323
  }
311

    
   
324

   
312
  private void generate() throws Exception {
325
  private void generate() throws Exception {
313

    
   
326

   
[+20] [20] 45 lines
[+20] [+] private void generateVectorUDAFMinMax(String[] tdesc) throws Exception {
359
    String descValue = tdesc[5];
372
    String descValue = tdesc[5];
360
    String columnType = getColumnVectorType(valueType);
373
    String columnType = getColumnVectorType(valueType);
361
    String writableType = getOutputWritableType(valueType);
374
    String writableType = getOutputWritableType(valueType);
362
    String inspectorType = getOutputObjectInspector(valueType);
375
    String inspectorType = getOutputObjectInspector(valueType);
363

    
   
376

   
364
    String outputFile = joinPath(this.outputDirectory, className + ".java");
377
    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
365
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
378
    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
366

    
   
379

   
367
    String templateString = readFile(templateFile);
380
    String templateString = readFile(templateFile);
368
    templateString = templateString.replaceAll("<ClassName>", className);
381
    templateString = templateString.replaceAll("<ClassName>", className);
369
    templateString = templateString.replaceAll("<ValueType>", valueType);
382
    templateString = templateString.replaceAll("<ValueType>", valueType);
370
    templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
383
    templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
[+20] [20] 10 lines
[+20] private void generateVectorUDAFMinMax(String[] tdesc) throws Exception {
381
    String className = tdesc[1];
394
    String className = tdesc[1];
382
    String operatorSymbol = tdesc[2];
395
    String operatorSymbol = tdesc[2];
383
    String descName = tdesc[3];
396
    String descName = tdesc[3];
384
    String descValue = tdesc[4];
397
    String descValue = tdesc[4];
385

    
   
398

   
386
    String outputFile = joinPath(this.outputDirectory, className + ".java");
399
    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
387
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
400
    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
388

    
   
401

   
389
    String templateString = readFile(templateFile);
402
    String templateString = readFile(templateFile);
390
    templateString = templateString.replaceAll("<ClassName>", className);
403
    templateString = templateString.replaceAll("<ClassName>", className);
391
    templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
404
    templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
392
    templateString = templateString.replaceAll("<DescriptionName>", descName);
405
    templateString = templateString.replaceAll("<DescriptionName>", descName);
[+20] [20] 8 lines
[+20] [+] private void generateVectorUDAFSum(String[] tdesc) throws Exception {
401
    String valueType = tdesc[2];
414
    String valueType = tdesc[2];
402
    String columnType = getColumnVectorType(valueType);
415
    String columnType = getColumnVectorType(valueType);
403
    String writableType = getOutputWritableType(valueType);
416
    String writableType = getOutputWritableType(valueType);
404
    String inspectorType = getOutputObjectInspector(valueType);
417
    String inspectorType = getOutputObjectInspector(valueType);
405

    
   
418

   
406
    String outputFile = joinPath(this.outputDirectory, className + ".java");
419
    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
407
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
420
    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
408

    
   
421

   
409
    String templateString = readFile(templateFile);
422
    String templateString = readFile(templateFile);
410
    templateString = templateString.replaceAll("<ClassName>", className);
423
    templateString = templateString.replaceAll("<ClassName>", className);
411
    templateString = templateString.replaceAll("<ValueType>", valueType);
424
    templateString = templateString.replaceAll("<ValueType>", valueType);
412
    templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
425
    templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
[+20] [20] 5 lines
[+20] private void generateVectorUDAFSum(String[] tdesc) throws Exception {
418
  private void generateVectorUDAFAvg(String[] tdesc) throws IOException {
431
  private void generateVectorUDAFAvg(String[] tdesc) throws IOException {
419
    String className = tdesc[1];
432
    String className = tdesc[1];
420
    String valueType = tdesc[2];
433
    String valueType = tdesc[2];
421
    String columnType = getColumnVectorType(valueType);
434
    String columnType = getColumnVectorType(valueType);
422

    
   
435

   
423
    String outputFile = joinPath(this.outputDirectory, className + ".java");
436
    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
424
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
437
    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
425

    
   
438

   
426
    String templateString = readFile(templateFile);
439
    String templateString = readFile(templateFile);
427
    templateString = templateString.replaceAll("<ClassName>", className);
440
    templateString = templateString.replaceAll("<ClassName>", className);
428
    templateString = templateString.replaceAll("<ValueType>", valueType);
441
    templateString = templateString.replaceAll("<ValueType>", valueType);
429
    templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
442
    templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
[+20] [20] 6 lines
[+20] [+] private void generateVectorUDAFVar(String[] tdesc) throws IOException {
436
    String varianceFormula = tdesc[3];
449
    String varianceFormula = tdesc[3];
437
    String descriptionName = tdesc[4];
450
    String descriptionName = tdesc[4];
438
    String descriptionValue = tdesc[5];
451
    String descriptionValue = tdesc[5];
439
    String columnType = getColumnVectorType(valueType);
452
    String columnType = getColumnVectorType(valueType);
440

    
   
453

   
441
    String outputFile = joinPath(this.outputDirectory, className + ".java");
454
    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
442
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
455
    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
443

    
   
456

   
444
    String templateString = readFile(templateFile);
457
    String templateString = readFile(templateFile);
445
    templateString = templateString.replaceAll("<ClassName>", className);
458
    templateString = templateString.replaceAll("<ClassName>", className);
446
    templateString = templateString.replaceAll("<ValueType>", valueType);
459
    templateString = templateString.replaceAll("<ValueType>", valueType);
447
    templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
460
    templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
[+20] [20] 24 lines
[+20] [+] private void generateFilterStringColumnCompareColumn(String[] tdesc) throws IOException {
472
  }
485
  }
473

    
   
486

   
474
  private void generateFilterStringColumnCompareScalar(String[] tdesc, String className)
487
  private void generateFilterStringColumnCompareScalar(String[] tdesc, String className)
475
      throws IOException {
488
      throws IOException {
476
   String operatorSymbol = tdesc[2];
489
   String operatorSymbol = tdesc[2];
477
   String outputFile = joinPath(this.outputDirectory, className + ".java");
490
   String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
478
   // Read the template into a string;
491
   // Read the template into a string;
479
   String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
492
   String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
480
   String templateString = readFile(templateFile);
493
   String templateString = readFile(templateFile);
481
   // Expand, and write result
494
   // Expand, and write result
482
   templateString = templateString.replaceAll("<ClassName>", className);
495
   templateString = templateString.replaceAll("<ClassName>", className);
483
   templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
496
   templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
484
   writeFile(outputFile, templateString);
497
   writeFile(outputFile, templateString);
[+20] [20] 14 lines
[+20] [+] private void generateFilterColumnCompareColumn(String[] tdesc) throws IOException {
499
    String operandType = tdesc[1];
512
    String operandType = tdesc[1];
500
    String inputColumnVectorType = this.getColumnVectorType(operandType);
513
    String inputColumnVectorType = this.getColumnVectorType(operandType);
501
    String outputColumnVectorType = inputColumnVectorType;
514
    String outputColumnVectorType = inputColumnVectorType;
502
    String returnType = operandType;
515
    String returnType = operandType;
503
    String className = getCamelCaseType(operandType) + "ColUnaryMinus";
516
    String className = getCamelCaseType(operandType) + "ColUnaryMinus";
504
    String outputFile = joinPath(this.outputDirectory, className + ".java");
517
    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
505
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
518
    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
506
    String templateString = readFile(templateFile);
519
    String templateString = readFile(templateFile);
507
    // Expand, and write result
520
    // Expand, and write result
508
    templateString = templateString.replaceAll("<ClassName>", className);
521
    templateString = templateString.replaceAll("<ClassName>", className);
509
    templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
522
    templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
510
    templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
523
    templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
[+20] [20] 49 lines
[+20] [+] private void generateColumnBinaryOperatorColumn(String[] tdesc, String returnType,
560
    String operandType2 = tdesc[3];
573
    String operandType2 = tdesc[3];
561
    String outputColumnVectorType = this.getColumnVectorType(returnType);
574
    String outputColumnVectorType = this.getColumnVectorType(returnType);
562
    String inputColumnVectorType1 = this.getColumnVectorType(operandType1);
575
    String inputColumnVectorType1 = this.getColumnVectorType(operandType1);
563
    String inputColumnVectorType2 = this.getColumnVectorType(operandType2);
576
    String inputColumnVectorType2 = this.getColumnVectorType(operandType2);
564
    String operatorSymbol = tdesc[4];
577
    String operatorSymbol = tdesc[4];
565
    String outputFile = joinPath(this.outputDirectory, className + ".java");
578
    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
566

    
   
579

   
567
    //Read the template into a string;
580
    //Read the template into a string;
568
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
581
    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
569
    String templateString = readFile(templateFile);
582
    String templateString = readFile(templateFile);
570
    templateString = templateString.replaceAll("<ClassName>", className);
583
    templateString = templateString.replaceAll("<ClassName>", className);
571
    templateString = templateString.replaceAll("<InputColumnVectorType1>", inputColumnVectorType1);
584
    templateString = templateString.replaceAll("<InputColumnVectorType1>", inputColumnVectorType1);
572
    templateString = templateString.replaceAll("<InputColumnVectorType2>", inputColumnVectorType2);
585
    templateString = templateString.replaceAll("<InputColumnVectorType2>", inputColumnVectorType2);
573
    templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
586
    templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
[+20] [20] 24 lines
[+20] [+] private void generateColumnBinaryOperatorScalar(String[] tdesc, String returnType,
598
    String operandType1 = tdesc[2];
611
    String operandType1 = tdesc[2];
599
    String operandType2 = tdesc[3];
612
    String operandType2 = tdesc[3];
600
    String outputColumnVectorType = this.getColumnVectorType(returnType);
613
    String outputColumnVectorType = this.getColumnVectorType(returnType);
601
    String inputColumnVectorType = this.getColumnVectorType(operandType1);
614
    String inputColumnVectorType = this.getColumnVectorType(operandType1);
602
    String operatorSymbol = tdesc[4];
615
    String operatorSymbol = tdesc[4];
603
    String outputFile = joinPath(this.outputDirectory, className + ".java");
616
    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
604

    
   
617

   
605
    //Read the template into a string;
618
    //Read the template into a string;
606
    String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
619
    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
607
    String templateString = readFile(templateFile);
620
    String templateString = readFile(templateFile);
608
    templateString = templateString.replaceAll("<ClassName>", className);
621
    templateString = templateString.replaceAll("<ClassName>", className);
609
    templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
622
    templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
610
    templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
623
    templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
611
    templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
624
    templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
[+20] [20] 24 lines
[+20] [+] private void generateScalarBinaryOperatorColumn(String[] tdesc, String returnType,
636
     String operandType1 = tdesc[2];
649
     String operandType1 = tdesc[2];
637
     String operandType2 = tdesc[3];
650
     String operandType2 = tdesc[3];
638
     String outputColumnVectorType = this.getColumnVectorType(returnType);
651
     String outputColumnVectorType = this.getColumnVectorType(returnType);
639
     String inputColumnVectorType = this.getColumnVectorType(operandType2);
652
     String inputColumnVectorType = this.getColumnVectorType(operandType2);
640
     String operatorSymbol = tdesc[4];
653
     String operatorSymbol = tdesc[4];
641
     String outputFile = joinPath(this.outputDirectory, className + ".java");
654
     String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
642

    
   
655

   
643
     //Read the template into a string;
656
     //Read the template into a string;
644
     String templateFile = joinPath(this.templateDirectory, tdesc[0] + ".txt");
657
     String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
645
     String templateString = readFile(templateFile);
658
     String templateString = readFile(templateFile);
646
     templateString = templateString.replaceAll("<ClassName>", className);
659
     templateString = templateString.replaceAll("<ClassName>", className);
647
     templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
660
     templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
648
     templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
661
     templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
649
     templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
662
     templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
[+20] [20] 112 lines
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnArithmeticColumn.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnArithmeticScalar.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnCompareScalar.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnUnaryMinus.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/FilterColumnCompareColumn.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/FilterColumnCompareScalar.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/FilterScalarCompareColumn.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/FilterStringColumnCompareColumn.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/FilterStringColumnCompareScalar.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/FilterStringScalarCompareColumn.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ScalarArithmeticColumn.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestClass.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestCodeGen.java
Revision 34c093c New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestColumnColumnFilterVectorExpressionEvaluation.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestColumnColumnOperationVectorExpressionEvaluation.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestColumnScalarFilterVectorExpressionEvaluation.txt
Revision 5b53d6a New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestColumnScalarOperationVectorExpressionEvaluation.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/VectorUDAFAvg.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/VectorUDAFMinMax.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/VectorUDAFMinMaxString.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/VectorUDAFSum.txt
Revision New Change
 
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/VectorUDAFVar.txt
Revision New Change
 
ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/TestColumnColumnOperationVectorExpressionEvaluation.java
Revision dd2cc09 New Change
 
ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/TestColumnScalarFilterVectorExpressionEvaluation.java
Revision 6baa444 New Change
 
  1. ql/src/gen/vectorization/org/apache/hadoop/hive/ql/exec/vector/gen/CodeGen.java: Loading...
  2. ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt: Loading...
  3. ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt: Loading...
  4. ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt: Loading...
  5. ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt: Loading...
  6. ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareColumn.txt: Loading...
  7. ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareScalar.txt: Loading...
  8. ql/src/gen/vectorization/ExpressionTemplates/FilterScalarCompareColumn.txt: Loading...
  9. ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnCompareColumn.txt: Loading...
  10. ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnCompareScalar.txt: Loading...
  11. ql/src/gen/vectorization/ExpressionTemplates/FilterStringScalarCompareColumn.txt: Loading...
  12. ql/src/gen/vectorization/ExpressionTemplates/ScalarArithmeticColumn.txt: Loading...
  13. ql/src/gen/vectorization/TestTemplates/TestClass.txt: Loading...
  14. ql/src/gen/vectorization/org/apache/hadoop/hive/ql/exec/vector/gen/TestCodeGen.java: Loading...
  15. ql/src/gen/vectorization/TestTemplates/TestColumnColumnFilterVectorExpressionEvaluation.txt: Loading...
  16. ql/src/gen/vectorization/TestTemplates/TestColumnColumnOperationVectorExpressionEvaluation.txt: Loading...
  17. ql/src/gen/vectorization/TestTemplates/TestColumnScalarFilterVectorExpressionEvaluation.txt: Loading...
  18. ql/src/gen/vectorization/TestTemplates/TestColumnScalarOperationVectorExpressionEvaluation.txt: Loading...
  19. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFAvg.txt: Loading...
  20. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFMinMax.txt: Loading...
  21. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFMinMaxString.txt: Loading...
  22. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFSum.txt: Loading...
  23. ql/src/gen/vectorization/UDAFTemplates/VectorUDAFVar.txt: Loading...
  24. ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/TestColumnColumnOperationVectorExpressionEvaluation.java: Loading...
  25. ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/TestColumnScalarFilterVectorExpressionEvaluation.java: Loading...