You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Hussain Towaileb (Code Review)" <de...@asterixdb.apache.org> on 2019/05/14 14:40:25 UTC

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Hussain Towaileb has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/3396


Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................

[NO ISSUE][OTH] Codegen clean up and plugin removal

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Remove the codegen related files.
- Remove the codegen plugin.
- Remove the codegen plugin dependency from pom files.

Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
---
D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
M asterixdb/asterix-fuzzyjoin/pom.xml
M asterixdb/asterix-geo/pom.xml
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
M asterixdb/asterix-maven-plugins/pom.xml
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
M asterixdb/pom.xml
17 files changed, 0 insertions(+), 1,419 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/96/3396/1

diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
deleted file mode 100644
index b8397f2..0000000
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.common.utils;
-
-public final class CodeGenHelper {
-
-    public final static String DEFAULT_SUFFIX_FOR_GENERATED_CLASS = "Gen";
-
-    private final static String DOLLAR = "$";
-
-    private final static String NESTED_CLASSNAME_PREFIX = "_";
-
-    public static String getGeneratedClassName(String originalClassName, String suffixForGeneratedClass) {
-        return toJdkStandardName(getGeneratedInternalClassName(originalClassName, suffixForGeneratedClass));
-    }
-
-    public static String getGeneratedInternalClassName(String originalClassName, String suffixForGeneratedClass) {
-        String originalFuncDescriptorClassInternalName = toInternalClassName(originalClassName);
-        return generateClassName(originalFuncDescriptorClassInternalName, suffixForGeneratedClass, 0);
-    }
-
-    /**
-     * Gets the name of a generated class.
-     *
-     * @param originalClassName,
-     *            the original class, i.e., the source of the generated class.
-     * @param suffix,
-     *            the suffix for the generated class.
-     * @param counter,
-     *            a counter that appearing at the end of the name of the generated class.
-     * @return the name of the generated class.
-     */
-    public static String generateClassName(String originalClassName, String suffix, int counter) {
-        StringBuilder sb = new StringBuilder();
-        int end = originalClassName.indexOf(DOLLAR);
-        if (end < 0) {
-            end = originalClassName.length();
-        }
-
-        String name = originalClassName.substring(0, end);
-        sb.append(name);
-        sb.append(DOLLAR);
-        sb.append(NESTED_CLASSNAME_PREFIX);
-        sb.append(suffix);
-
-        if (counter > 0) {
-            sb.append(counter);
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Converts an ASM class name to the JDK class naming format.
-     *
-     * @param name,
-     *            a class name following the ASM convention.
-     * @return a "."-separated class name for JDK.
-     */
-    public static String toJdkStandardName(String name) {
-        return name.replace("/", ".");
-    }
-
-    /**
-     * Converts a JDK class name to the class naming format of ASM.
-     *
-     * @param name,
-     *            a class name following the JDK convention.
-     * @return a "/"-separated class name assumed by ASM.
-     */
-    public static String toInternalClassName(String name) {
-        return name.replace(".", "/");
-    }
-
-    private CodeGenHelper() {
-    }
-}
diff --git a/asterixdb/asterix-fuzzyjoin/pom.xml b/asterixdb/asterix-fuzzyjoin/pom.xml
index 5c31882..0eab9ed 100644
--- a/asterixdb/asterix-fuzzyjoin/pom.xml
+++ b/asterixdb/asterix-fuzzyjoin/pom.xml
@@ -41,23 +41,6 @@
   <build>
     <plugins>
       <plugin>
-        <groupId>org.apache.asterix</groupId>
-        <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <configuration>
-          <evaluatorPackagePrefix>org.apache.asterix.runtime.evaluators</evaluatorPackagePrefix>
-        </configuration>
-        <executions>
-          <execution>
-            <id>generate-evaluator</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>generate-evaluator</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <executions>
diff --git a/asterixdb/asterix-geo/pom.xml b/asterixdb/asterix-geo/pom.xml
index 81d7871..6b5c845 100644
--- a/asterixdb/asterix-geo/pom.xml
+++ b/asterixdb/asterix-geo/pom.xml
@@ -41,23 +41,6 @@
   <build>
     <plugins>
       <plugin>
-        <groupId>org.apache.asterix</groupId>
-        <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <configuration>
-          <evaluatorPackagePrefix>org.apache.asterix.runtime.evaluators</evaluatorPackagePrefix>
-        </configuration>
-        <executions>
-          <execution>
-            <id>generate-evaluator</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>generate-evaluator</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <executions>
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
deleted file mode 100644
index d5ad95c..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<!--
- ! Licensed to the Apache Software Foundation (ASF) under one
- ! or more contributor license agreements.  See the NOTICE file
- ! distributed with this work for additional information
- ! regarding copyright ownership.  The ASF licenses this file
- ! to you under the Apache License, Version 2.0 (the
- ! "License"); you may not use this file except in compliance
- ! with the License.  You may obtain a copy of the License at
- !
- !   http://www.apache.org/licenses/LICENSE-2.0
- !
- ! Unless required by applicable law or agreed to in writing,
- ! software distributed under the License is distributed on an
- ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ! KIND, either express or implied.  See the License for the
- ! specific language governing permissions and limitations
- ! under the License.
- !-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-  <parent>
-    <groupId>org.apache.asterix</groupId>
-    <artifactId>asterix-maven-plugins</artifactId>
-    <version>0.9.5-SNAPSHOT</version>
-  </parent>
-
-  <packaging>maven-plugin</packaging>
-  <name>asterix-evaluator-generator-maven-plugin</name>
-
-  <properties>
-    <root.dir>${basedir}/../..</root.dir>
-  </properties>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <configuration>
-          <ignoredUnusedDeclaredDependencies combine.children="append">
-            <ignoredUnusedDeclaredDependency>org.apache.asterix:asterix-om:*</ignoredUnusedDeclaredDependency>
-          </ignoredUnusedDeclaredDependencies>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.asterix</groupId>
-      <artifactId>asterix-common</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.asterix</groupId>
-      <artifactId>asterix-om</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.reflections</groupId>
-      <artifactId>reflections</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-model</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>6.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-tree</artifactId>
-      <version>6.2</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
deleted file mode 100644
index 74084af..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.plugin;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Set;
-
-import org.apache.asterix.common.utils.CodeGenHelper;
-import org.apache.asterix.runtime.evaluators.staticcodegen.CodeGenUtil;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.reflections.Reflections;
-import org.reflections.util.ConfigurationBuilder;
-
-/**
- * Statically generates null-handling byte code for scalar functions.
- *
- * @goal generate-evaluator
- * @phase process-classes
- */
-public class EvaluatorGeneratorMojo extends AbstractMojo {
-
-    private String baseDir;
-
-    /**
-     * @parameter default-value="${project}"
-     * @required
-     * @readonly
-     */
-    MavenProject project;
-
-    /**
-     * @parameter default-value="${evaluatorPackagePrefix}"
-     * @required
-     * @readonly
-     */
-    String evaluatorPackagePrefix;
-
-    public EvaluatorGeneratorMojo() {
-    }
-
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        baseDir = project.getBuild().getDirectory() + File.separator + "classes";
-
-        URLClassLoader classLoader = null;
-        try {
-            URI baseURI = new File(baseDir).toURI();
-            classLoader = new URLClassLoader(new URL[] { baseURI.toURL() }, getClass().getClassLoader());
-
-            String superClassName = CodeGenHelper.toJdkStandardName(CodeGenUtil.DESCRIPTOR_SUPER_CLASS_NAME);
-            Class superClass = Class.forName(superClassName, false, classLoader);
-
-            // Finds all sub-classes of the given root class within the specified package
-            ConfigurationBuilder config = ConfigurationBuilder.build(classLoader, evaluatorPackagePrefix);
-            String genSuffix = CodeGenHelper.DEFAULT_SUFFIX_FOR_GENERATED_CLASS + ".class";
-            config.setInputsFilter(path -> path != null && !path.endsWith(genSuffix));
-
-            Reflections reflections = new Reflections(config);
-            Set<Class<?>> allClasses = reflections.getSubTypesOf(superClass);
-
-            // Generates byte code for all sub-classes
-            for (Class<?> cl : allClasses) {
-                getLog().info("Generating byte code for " + cl.getName());
-                CodeGenUtil.generateScalarFunctionDescriptorBinary(evaluatorPackagePrefix, cl.getName(),
-                        CodeGenHelper.DEFAULT_SUFFIX_FOR_GENERATED_CLASS, classLoader,
-                        (name, bytes) -> writeFile(name, bytes));
-            }
-        } catch (Exception e) {
-            getLog().error(e);
-            throw new MojoFailureException(e.toString());
-        } finally {
-            if (classLoader != null) {
-                try {
-                    classLoader.close();
-                } catch (IOException e) {
-                    getLog().error(e);
-                }
-            }
-        }
-    }
-
-    private void writeFile(String name, byte[] classDefinitionBinary) throws IOException {
-        File targetFile = new File(baseDir + File.separator + name + ".class");
-        targetFile.getParentFile().mkdirs();
-        targetFile.createNewFile();
-        try (FileOutputStream outputStream = new FileOutputStream(targetFile)) {
-            outputStream.write(classDefinitionBinary, 0, classDefinitionBinary.length);
-        }
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
deleted file mode 100644
index c396358..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.asterix.common.utils.CodeGenHelper;
-import org.apache.commons.lang3.tuple.Pair;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassWriter;
-
-/**
- * A utility class that generates byte code for scalar function descriptors.
- */
-public class CodeGenUtil {
-
-    private final static String OBJECT_CLASS_NAME = "java/lang/Object";
-    public final static String DESCRIPTOR_SUPER_CLASS_NAME =
-            "org/apache/asterix/runtime/evaluators/base/AbstractScalarFunctionDynamicDescriptor";
-    private final static String EVALUATOR_FACTORY = "EvaluatorFactory";
-    private final static String EVALUATOR = "Evaluator";
-    private final static String INNER = "Inner";
-
-    /**
-     * The callback interface for a caller to determine what it needs to do for
-     * the generated class bytes.
-     */
-    public static interface ClassByteCodeAction {
-
-        /**
-         * Run a user-defined action for the generated class definition bytes.
-         *
-         * @param targetClassName,
-         *            the name for the generated class.
-         * @param classDefinitionBytes,
-         *            the class definition bytes.
-         * @throws IOException
-         */
-        public void runAction(String targetClassName, byte[] classDefinitionBytes) throws IOException;
-    }
-
-    /**
-     * Generates the byte code for a scalar function descriptor.
-     *
-     * @param packagePrefix,
-     *            the prefix of evaluators for code generation.
-     * @param originalFuncDescriptorClassName,
-     *            the original class name of the function descriptor.
-     * @param suffixForGeneratedClass,
-     *            the suffix for the generated class.
-     * @param action,
-     *            the customized action for the generated class definition bytes.
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    public static List<Pair<String, String>> generateScalarFunctionDescriptorBinary(String packagePrefix,
-            String originalFuncDescriptorClassName, String suffixForGeneratedClass, ClassLoader classLoader,
-            ClassByteCodeAction action) throws IOException, ClassNotFoundException {
-        String internalFuncDescriptorClassName = CodeGenHelper.toInternalClassName(originalFuncDescriptorClassName);
-        if (internalFuncDescriptorClassName.equals(DESCRIPTOR_SUPER_CLASS_NAME)) {
-            return Collections.emptyList();
-        }
-
-        String targetFuncDescriptorClassName =
-                CodeGenHelper.getGeneratedInternalClassName(internalFuncDescriptorClassName, suffixForGeneratedClass);
-
-        // Adds the mapping of the old/new names of the function descriptor.
-        List<Pair<String, String>> nameMappings = new ArrayList<>();
-
-        // Generates code for super classes except java.lang.Object.
-        Class<?> evaluatorClass =
-                classLoader.loadClass(CodeGenHelper.toJdkStandardName(internalFuncDescriptorClassName));
-        nameMappings.addAll(generateScalarFunctionDescriptorBinary(packagePrefix,
-                evaluatorClass.getSuperclass().getName(), suffixForGeneratedClass, classLoader, action));
-
-        nameMappings.add(Pair.of(internalFuncDescriptorClassName, targetFuncDescriptorClassName));
-        nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(internalFuncDescriptorClassName),
-                CodeGenHelper.toJdkStandardName(targetFuncDescriptorClassName)));
-
-        // Gathers evaluator factory classes that are created in the function descriptor.
-        try (InputStream internalFuncDescriptorStream =
-                getResourceStream(internalFuncDescriptorClassName, classLoader)) {
-            ClassReader reader = new ClassReader(internalFuncDescriptorStream);
-            GatherEvaluatorFactoryCreationVisitor evalFactoryCreationVisitor =
-                    new GatherEvaluatorFactoryCreationVisitor(CodeGenHelper.toInternalClassName(packagePrefix));
-            reader.accept(evalFactoryCreationVisitor, 0);
-            Set<String> evaluatorFactoryClassNames = evalFactoryCreationVisitor.getCreatedEvaluatorFactoryClassNames();
-
-            // Generates inner classes other than evaluator factories.
-            generateNonEvalInnerClasses(reader, evaluatorFactoryClassNames, nameMappings, suffixForGeneratedClass,
-                    classLoader, action);
-
-            // Generates evaluator factories that are created in the function descriptor.
-            int evalFactoryCounter = 0;
-            for (String evaluateFactoryClassName : evaluatorFactoryClassNames) {
-                generateEvaluatorFactoryClassBinary(packagePrefix, evaluateFactoryClassName, suffixForGeneratedClass,
-                        evalFactoryCounter++, nameMappings, classLoader, action);
-            }
-
-            // Transforms the function descriptor class and outputs the generated class binary.
-            ClassWriter writer = new ClassWriter(reader, 0);
-            RenameClassVisitor renamingVisitor = new RenameClassVisitor(writer, nameMappings);
-            reader.accept(renamingVisitor, 0);
-            action.runAction(targetFuncDescriptorClassName, writer.toByteArray());
-            return nameMappings;
-        }
-    }
-
-    /**
-     * Apply mappings for a class name.
-     *
-     * @param nameMappings,
-     *            the mappings from existing class names to that of their generated counterparts.
-     * @param inputStr,
-     *            the name of a class.
-     * @return the name of the generated counterpart class.
-     */
-    static String applyMapping(List<Pair<String, String>> nameMappings, String inputStr) {
-        if (inputStr == null) {
-            return null;
-        }
-        String result = inputStr;
-
-        // Applies name mappings in the reverse order, i.e.,
-        // mapping recent added old/new name pairs first.
-        int index = nameMappings.size() - 1;
-        for (; index >= 0; --index) {
-            Pair<String, String> entry = nameMappings.get(index);
-            if (result.contains(entry.getLeft())) {
-                return result.replace(entry.getLeft(), entry.getRight());
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Generates the byte code for an evaluator factory class.
-     *
-     * @param packagePrefix,
-     *            the prefix of evaluators for code generation.
-     * @param originalEvaluatorFactoryClassName,
-     *            the original evaluator factory class name.
-     * @param suffixForGeneratedClass,
-     *            the suffix for the generated class.
-     * @param factoryCounter,
-     *            the counter for the generated class.
-     * @param nameMappings,
-     *            class names that needs to be rewritten in the generated byte code.
-     * @param classLoader,
-     *            a class loader that has the original evaluator factory class in its resource paths.
-     * @param action,
-     *            a user definition action for the generated byte code.
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    private static void generateEvaluatorFactoryClassBinary(String packagePrefix,
-            String originalEvaluatorFactoryClassName, String suffixForGeneratedClass, int factoryCounter,
-            List<Pair<String, String>> nameMappings, ClassLoader classLoader, ClassByteCodeAction action)
-            throws IOException, ClassNotFoundException {
-        String internalEvaluatorFactoryClassName = CodeGenHelper.toInternalClassName(originalEvaluatorFactoryClassName);
-        String targetEvaluatorFactoryClassName = CodeGenHelper.generateClassName(internalEvaluatorFactoryClassName,
-                EVALUATOR_FACTORY + suffixForGeneratedClass, factoryCounter);
-
-        // Adds the old/new names of the evaluator factory into the mapping.
-        nameMappings.add(Pair.of(internalEvaluatorFactoryClassName, targetEvaluatorFactoryClassName));
-        nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(internalEvaluatorFactoryClassName),
-                CodeGenHelper.toJdkStandardName(targetEvaluatorFactoryClassName)));
-
-        // Gathers the class names of the evaluators that are created in the evaluator factory.
-        try (InputStream internalEvaluatorFactoryStream =
-                getResourceStream(internalEvaluatorFactoryClassName, classLoader)) {
-            ClassReader reader = new ClassReader(internalEvaluatorFactoryStream);
-            GatherEvaluatorCreationVisitor evalCreationVisitor =
-                    new GatherEvaluatorCreationVisitor(CodeGenHelper.toInternalClassName(packagePrefix));
-            reader.accept(evalCreationVisitor, 0);
-            Set<String> evaluatorClassNames = evalCreationVisitor.getCreatedEvaluatorClassNames();
-
-            // Generates inner classes other than evaluators.
-            generateNonEvalInnerClasses(reader, evaluatorClassNames, nameMappings, suffixForGeneratedClass, classLoader,
-                    action);
-
-            // Generates code for all evaluators.
-            int evalCounter = 0;
-            for (String evaluateClassName : evaluatorClassNames) {
-                generateEvaluatorClassBinary(evaluateClassName, suffixForGeneratedClass, evalCounter++, nameMappings,
-                        classLoader, action);
-            }
-
-            // Transforms the evaluator factory class and outputs the generated class binary.
-            ClassWriter writer = new ClassWriter(reader, 0);
-            RenameClassVisitor renamingVisitor = new RenameClassVisitor(writer, nameMappings);
-            reader.accept(renamingVisitor, 0);
-            action.runAction(targetEvaluatorFactoryClassName, writer.toByteArray());
-        }
-    }
-
-    /**
-     * Generates the byte code for an evaluator class.
-     *
-     * @param originalEvaluatorClassName,
-     *            the name of the original evaluator class.
-     * @param suffixForGeneratedClass,
-     *            the suffix for the generated class.
-     * @param evalCounter,
-     *            the counter for the generated class.
-     * @param nameMappings,
-     *            class names that needs to be rewritten in the generated byte code.
-     * @param classLoader,
-     *            a class loader that has the original evaluator factory class in its resource paths.
-     * @param action,
-     *            a user definition action for the generated byte code.
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    private static void generateEvaluatorClassBinary(String originalEvaluatorClassName, String suffixForGeneratedClass,
-            int evalCounter, List<Pair<String, String>> nameMappings, ClassLoader classLoader,
-            ClassByteCodeAction action) throws IOException, ClassNotFoundException {
-        // Convert class names.
-        String internalEvaluatorClassName = CodeGenHelper.toInternalClassName(originalEvaluatorClassName);
-        if (internalEvaluatorClassName.equals(OBJECT_CLASS_NAME)) {
-            return;
-        }
-        String targetEvaluatorClassName = CodeGenHelper.generateClassName(internalEvaluatorClassName,
-                EVALUATOR + suffixForGeneratedClass, evalCounter);
-
-        // Generates code for super classes except java.lang.Object.
-        Class<?> evaluatorClass = classLoader.loadClass(CodeGenHelper.toJdkStandardName(internalEvaluatorClassName));
-        generateEvaluatorClassBinary(evaluatorClass.getSuperclass().getName(), suffixForGeneratedClass, evalCounter,
-                nameMappings, classLoader, action);
-
-        // Adds name mapping.
-        nameMappings.add(Pair.of(internalEvaluatorClassName, targetEvaluatorClassName));
-        nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(internalEvaluatorClassName),
-                CodeGenHelper.toJdkStandardName(targetEvaluatorClassName)));
-
-        try (InputStream internalEvaluatorStream = getResourceStream(internalEvaluatorClassName, classLoader)) {
-            ClassReader firstPassReader = new ClassReader(internalEvaluatorStream);
-            // Generates inner classes other than the evaluator.
-            Set<String> excludedNames = new HashSet<>();
-            for (Pair<String, String> entry : nameMappings) {
-                excludedNames.add(entry.getKey());
-            }
-            generateNonEvalInnerClasses(firstPassReader, excludedNames, nameMappings, suffixForGeneratedClass,
-                    classLoader, action);
-
-            // Injects missing-handling byte code.
-            ClassWriter firstPassWriter = new ClassWriter(firstPassReader, 0);
-            EvaluatorMissingCheckVisitor missingHandlingVisitor = new EvaluatorMissingCheckVisitor(firstPassWriter);
-            firstPassReader.accept(missingHandlingVisitor, 0);
-
-            ClassReader secondPassReader = new ClassReader(firstPassWriter.toByteArray());
-            // Injects null-handling byte code and output the class binary.
-            // Since we're going to add jump instructions, we have to let the ClassWriter to
-            // automatically generate frames for JVM to verify the class.
-            ClassWriter secondPassWriter =
-                    new ClassWriter(secondPassReader, ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);
-            RenameClassVisitor renamingVisitor = new RenameClassVisitor(secondPassWriter, nameMappings);
-            EvaluatorNullCheckVisitor nullHandlingVisitor =
-                    new EvaluatorNullCheckVisitor(renamingVisitor, missingHandlingVisitor.getLastAddedLabel());
-            secondPassReader.accept(nullHandlingVisitor, 0);
-            action.runAction(targetEvaluatorClassName, secondPassWriter.toByteArray());
-        }
-    }
-
-    /**
-     * Generates non-evaluator(-factory) inner classes defined in either a function descriptor
-     * or an evaluator factory.
-     *
-     * @param reader,
-     *            the reader of the outer class.
-     * @param evalClassNames,
-     *            the names of evaluator/evaluator-factory classes that shouldn't be generated in this
-     *            method.
-     * @param nameMappings,
-     *            class names that needs to be rewritten in the generated byte code.
-     * @param classLoader,
-     *            a class loader that has the original evaluator factory class in its resource paths.
-     * @param action,
-     *            a user definition action for the generated byte code.
-     * @throws IOException
-     */
-    private static void generateNonEvalInnerClasses(ClassReader reader, Set<String> evalClassNames,
-            List<Pair<String, String>> nameMappings, String suffixForGeneratedClass, ClassLoader classLoader,
-            ClassByteCodeAction action) throws IOException {
-        // Gathers inner classes of the function descriptor.
-        GatherInnerClassVisitor innerClassVisitor = new GatherInnerClassVisitor();
-        reader.accept(innerClassVisitor, 0);
-        Set<String> innerClassNames = innerClassVisitor.getInnerClassNames();
-        innerClassNames.removeAll(evalClassNames);
-
-        // Rewrites inner classes.
-        int counter = 0;
-        String suffix = INNER + suffixForGeneratedClass;
-        for (String innerClassName : innerClassNames) {
-            // adds name mapping.
-            String targetInnerClassName = CodeGenHelper.generateClassName(innerClassName, suffix, counter++);
-            nameMappings.add(Pair.of(innerClassName, targetInnerClassName));
-            nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(innerClassName),
-                    CodeGenHelper.toJdkStandardName(targetInnerClassName)));
-
-            // Renaming appearances of original class names.
-            try (InputStream innerStream = getResourceStream(innerClassName, classLoader)) {
-                ClassReader innerClassReader = new ClassReader(innerStream);
-                ClassWriter writer = new ClassWriter(innerClassReader, 0);
-                RenameClassVisitor renamingVisitor = new RenameClassVisitor(writer, nameMappings);
-                innerClassReader.accept(renamingVisitor, 0);
-                action.runAction(targetInnerClassName, writer.toByteArray());
-            }
-        }
-    }
-
-    /**
-     * Gets the input stream from a class file.
-     *
-     * @param className,
-     *            the name of a class.
-     * @param classLoader,
-     *            the corresponding class loader.
-     * @return the input stream.
-     */
-    private static InputStream getResourceStream(String className, ClassLoader classLoader) {
-        return classLoader.getResourceAsStream(className.replace('.', '/') + ".class");
-    }
-
-    private CodeGenUtil() {
-    }
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
deleted file mode 100644
index 38b9751..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.tree.AbstractInsnNode;
-import org.objectweb.asm.tree.FieldInsnNode;
-import org.objectweb.asm.tree.IincInsnNode;
-import org.objectweb.asm.tree.InsnNode;
-import org.objectweb.asm.tree.IntInsnNode;
-import org.objectweb.asm.tree.VarInsnNode;
-
-/**
- * This visitor adds missing-handling byte code into an evaluator class.
- */
-public class EvaluatorMissingCheckVisitor extends ClassVisitor {
-    private static final String EVALUATE_DESC = "(Lorg/apache/hyracks/dataflow/common/data/"
-            + "accessors/IFrameTupleReference;Lorg/apache/hyracks/data/std/api/IPointable;)V";
-    private static final String EVALUATE = "evaluate";
-    private static final MethodIdentifier METHOD_IDENTIFIER = new MethodIdentifier(EVALUATE, EVALUATE_DESC, null);
-    private static final String TYPE_CHECKER_CLASS = "org/apache/asterix/runtime/evaluators/staticcodegen/TypeChecker";
-    private static final String TYPE_CHECKER_DESC = "L" + TYPE_CHECKER_CLASS + ";";
-    private static final String TYPE_CHECKER_NAME = "typeChecker";
-    private static final String IS_MISSING = "isMissing";
-    private static final String TYPECHECK_METHOD_DESC =
-            "(Lorg/apache/hyracks/data/std/api/IPointable;" + "Lorg/apache/hyracks/data/std/api/IPointable;)Z";
-    private static final String CONSTRUCTOR = "<init>";
-    private String className = null;
-    private Label lastAddedLabel = null;
-
-    public EvaluatorMissingCheckVisitor(ClassVisitor downStreamVisitor) {
-        super(Opcodes.ASM5, downStreamVisitor);
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        if (cv != null) {
-            cv.visit(version, access, name, signature, superName, interfaces);
-        }
-        this.className = name;
-    }
-
-    @Override
-    public void visitEnd() {
-        if (cv != null) {
-            cv.visitField(Opcodes.ACC_PRIVATE | Opcodes.ACC_FINAL, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC, null, null);
-            cv.visitEnd();
-        }
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        MethodVisitor mv = cv.visitMethod(access, name, desc, signature, exceptions);
-        if (!METHOD_IDENTIFIER.equals(new MethodIdentifier(name, desc, signature)) && !name.equals(CONSTRUCTOR)) {
-            return mv;
-        }
-        if (name.equals(CONSTRUCTOR) && mv != null) {
-            return new ConstructorVisitor(Opcodes.ASM5, mv);
-        }
-        if (mv != null) {
-            return new InjectMissingCheckVisitor(Opcodes.ASM5, mv);
-        }
-        return null;
-    }
-
-    // Obtains the last added label.
-    Label getLastAddedLabel() {
-        return lastAddedLabel;
-    }
-
-    class ConstructorVisitor extends MethodVisitor {
-
-        public ConstructorVisitor(int api, MethodVisitor mv) {
-            super(api, mv);
-        }
-
-        @Override
-        public void visitInsn(int opcode) {
-            if (opcode != Opcodes.RETURN) {
-                mv.visitInsn(opcode);
-                return;
-            }
-            // Loads "this".
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            // New TypeChecker.
-            mv.visitTypeInsn(Opcodes.NEW, TYPE_CHECKER_CLASS);
-            // Duplicate the top operand.
-            mv.visitInsn(Opcodes.DUP);
-            // Invoke the constructor of TypeChecker.
-            mv.visitMethodInsn(Opcodes.INVOKESPECIAL, TYPE_CHECKER_CLASS, CONSTRUCTOR, "()V", false);
-            // Putfield for the field typeChecker.
-            mv.visitFieldInsn(Opcodes.PUTFIELD, className, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC);
-            // RETURN.
-            mv.visitInsn(Opcodes.RETURN);
-        }
-    }
-
-    class InjectMissingCheckVisitor extends MethodVisitor {
-
-        private FieldInsnNode fieldAccessNode = null;
-        private List<AbstractInsnNode> instructionsAfterFieldAccess = new ArrayList<>();
-        private boolean updateToNextLabel = false;
-
-        public InjectMissingCheckVisitor(int opcode, MethodVisitor mv) {
-            super(opcode, mv);
-        }
-
-        @Override
-        public void visitFieldInsn(int opcode, String owner, String name, String desc) {
-            mv.visitFieldInsn(opcode, owner, name, desc);
-            fieldAccessNode = new FieldInsnNode(opcode, owner, name, desc);
-            instructionsAfterFieldAccess.clear();
-        }
-
-        @Override
-        public void visitIincInsn(int var, int increment) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new IincInsnNode(var, increment));
-            }
-            super.visitIincInsn(var, increment);
-        }
-
-        @Override
-        public void visitInsn(int opcode) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new InsnNode(opcode));
-            }
-            super.visitInsn(opcode);
-        }
-
-        @Override
-        public void visitIntInsn(int opcode, int operand) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new IntInsnNode(opcode, operand));
-            }
-            super.visitIntInsn(opcode, operand);
-        }
-
-        @Override
-        public void visitVarInsn(int opcode, int operand) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new VarInsnNode(opcode, operand));
-            }
-            super.visitVarInsn(opcode, operand);
-        }
-
-        @Override
-        public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-            mv.visitMethodInsn(opcode, owner, name, desc, itf);
-            if (fieldAccessNode == null || !METHOD_IDENTIFIER.equals(new MethodIdentifier(name, desc, null))) {
-                return;
-            }
-
-            // Loads the callee.
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            mv.visitFieldInsn(Opcodes.GETFIELD, className, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC);
-
-            // Loads "this".
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            // Replays the field access instruction.
-            fieldAccessNode.accept(mv);
-
-            // Replays other instruction between the field access and the evaluator call.
-            for (AbstractInsnNode instruction : instructionsAfterFieldAccess) {
-                instruction.accept(mv);
-            }
-
-            // Loads the result IPointable.
-            mv.visitVarInsn(Opcodes.ALOAD, 2);
-
-            // Invokes the missing check method.
-            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, TYPE_CHECKER_CLASS, IS_MISSING, TYPECHECK_METHOD_DESC, false);
-            lastAddedLabel = new Label();
-            // Adds the if branch.
-            mv.visitJumpInsn(Opcodes.IFEQ, lastAddedLabel);
-            mv.visitInsn(Opcodes.RETURN);
-            mv.visitLabel(lastAddedLabel);
-        }
-
-        @Override
-        public void visitLabel(Label label) {
-            if (updateToNextLabel) {
-                lastAddedLabel = label;
-                updateToNextLabel = false;
-            }
-            super.visitLabel(label);
-        }
-
-        @Override
-        public void visitJumpInsn(int opcode, Label label) {
-            super.visitJumpInsn(opcode, label);
-            if (lastAddedLabel == null) {
-                return;
-            }
-            try {
-                if (label.getOffset() < lastAddedLabel.getOffset()) {
-                    // Backward jump, i.e., loop.
-                    updateToNextLabel = true;
-                }
-            } catch (IllegalStateException e) {
-                // Forward jump, the offset is not available.
-            }
-        }
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
deleted file mode 100644
index 84bc320..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor adds null-handling byte code into an evaluator class.
- */
-public class EvaluatorNullCheckVisitor extends ClassVisitor {
-    private final static String EVALUATE_DESC = "(Lorg/apache/hyracks/dataflow/common/data/accessors/"
-            + "IFrameTupleReference;Lorg/apache/hyracks/data/std/api/IPointable;)V";
-    private final static String EVALUATE = "evaluate";
-    private final static MethodIdentifier METHOD_IDENTIFIER = new MethodIdentifier(EVALUATE, EVALUATE_DESC, null);
-    private final static String TYPE_CHECKER_CLASS =
-            "org/apache/asterix/runtime/evaluators/staticcodegen/" + "TypeChecker";
-    private final static String TYPE_CHECKER_DESC = "L" + TYPE_CHECKER_CLASS + ";";
-    private final static String TYPE_CHECKER_NAME = "typeChecker";
-    private final static String IS_NULL = "isNull";
-    private final static String TYPECHECK_METHOD_DESC = "(Lorg/apache/hyracks/data/std/api/IPointable;)Z";
-    private String className = null;
-    private final Label lastAddedLabel;
-
-    public EvaluatorNullCheckVisitor(ClassVisitor downStreamVisitor, Label lastAddedLabel) {
-        super(Opcodes.ASM5, downStreamVisitor);
-        this.lastAddedLabel = lastAddedLabel;
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        if (cv != null) {
-            cv.visit(version, access, name, signature, superName, interfaces);
-        }
-        this.className = name;
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        MethodVisitor mv = cv.visitMethod(access, name, desc, signature, exceptions);
-        if (!METHOD_IDENTIFIER.equals(new MethodIdentifier(name, desc, signature))) {
-            return mv;
-        }
-        if (mv != null) {
-            return new InjectNullCheckVisitor(Opcodes.ASM5, mv);
-        }
-        return null;
-    }
-
-    // Obtains the last added label.
-    Label getLastAddedLabel() {
-        return lastAddedLabel;
-    }
-
-    class InjectNullCheckVisitor extends MethodVisitor {
-
-        public InjectNullCheckVisitor(int api, MethodVisitor mv) {
-            super(api, mv);
-        }
-
-        @Override
-        public void visitLabel(Label label) {
-            // Emits the label.
-            mv.visitLabel(label);
-
-            // Injects null-handling after the last missing-handling byte code.
-            if (lastAddedLabel == null || lastAddedLabel.getOffset() != label.getOffset()) {
-                return;
-            }
-
-            // Loads the callee.
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            mv.visitFieldInsn(Opcodes.GETFIELD, className, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC);
-
-            // Loads the result IPointable.
-            mv.visitVarInsn(Opcodes.ALOAD, 2);
-
-            // Invokes the null check method.
-            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, TYPE_CHECKER_CLASS, IS_NULL, TYPECHECK_METHOD_DESC, false);
-            Label notNull = new Label();
-            // Adds the if branch.
-            mv.visitJumpInsn(Opcodes.IFEQ, notNull);
-            mv.visitInsn(Opcodes.RETURN);
-            mv.visitLabel(notNull);
-        }
-    }
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
deleted file mode 100644
index 17f60ee..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor gathers all created evaluators in an evaluator factory.
- */
-public class GatherEvaluatorCreationVisitor extends ClassVisitor {
-
-    private static final String METHOD_NAME = "createScalarEvaluator";
-    private Set<String> createdEvaluatorClassNames = new HashSet<>();
-    private String ownerPrefix;
-
-    public GatherEvaluatorCreationVisitor(String ownerPrefix) {
-        super(Opcodes.ASM5);
-        this.ownerPrefix = ownerPrefix;
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        if (!name.equals(METHOD_NAME)) {
-            return null;
-        }
-        return new MethodVisitor(Opcodes.ASM5, null) {
-
-            @Override
-            public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-                if (opcode != Opcodes.INVOKESPECIAL) {
-                    return;
-                }
-                if (owner.startsWith(ownerPrefix)) {
-                    createdEvaluatorClassNames.add(owner);
-                }
-            }
-        };
-
-    }
-
-    public Set<String> getCreatedEvaluatorClassNames() {
-        return createdEvaluatorClassNames;
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
deleted file mode 100644
index eeeb313..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor gathers all created evaluator factories in a scalar function descriptor.
- */
-public class GatherEvaluatorFactoryCreationVisitor extends ClassVisitor {
-
-    private static final String METHOD_NAME = "createEvaluatorFactory";
-    private final Set<String> createdEvaluatorFactoryClassNames = new HashSet<>();
-    private String ownerPrefix;
-
-    public GatherEvaluatorFactoryCreationVisitor(String ownerPrefix) {
-        super(Opcodes.ASM5);
-        this.ownerPrefix = ownerPrefix;
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        if (!name.equals(METHOD_NAME)) {
-            return null;
-        }
-        return new MethodVisitor(Opcodes.ASM5, null) {
-
-            @Override
-            public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-                if (opcode != Opcodes.INVOKESPECIAL) {
-                    return;
-                }
-                if (owner.startsWith(ownerPrefix)) {
-                    createdEvaluatorFactoryClassNames.add(owner);
-                }
-            }
-        };
-    }
-
-    public Set<String> getCreatedEvaluatorFactoryClassNames() {
-        return createdEvaluatorFactoryClassNames;
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
deleted file mode 100644
index dfd189f..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This class gathers all inner classes defined in a class.
- */
-public class GatherInnerClassVisitor extends ClassVisitor {
-
-    private final Set<String> innerClassNames = new HashSet<>();
-    private String className = null;
-
-    public GatherInnerClassVisitor() {
-        super(Opcodes.ASM5);
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        className = name;
-    }
-
-    @Override
-    public void visitInnerClass(String name, String outerName, String innerName, int access) {
-        if ((!name.equals(className)) && ((access & Opcodes.ACC_PUBLIC) == 0 || (access & Opcodes.ACC_STATIC) == 0)) {
-            innerClassNames.add(name);
-        }
-    }
-
-    public Set<String> getInnerClassNames() {
-        return innerClassNames;
-    }
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
deleted file mode 100644
index c37b93e..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-/**
- * The data structure that can uniquely identify a method.
- */
-public class MethodIdentifier {
-
-    private final String name;
-    private final String desc;
-    private final String signature;
-
-    public MethodIdentifier(String name, String desc, String signature) {
-        this.name = name == null ? "" : name;
-        this.desc = desc == null ? "" : desc;
-        this.signature = signature == null ? "" : signature;
-    }
-
-    @Override
-    public int hashCode() {
-        return name.hashCode() * desc.hashCode() * signature.hashCode();
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (!(o instanceof MethodIdentifier)) {
-            return false;
-        }
-        MethodIdentifier methodIdentifier = (MethodIdentifier) o;
-        return name.equals(methodIdentifier.name) && desc.equals(methodIdentifier.desc)
-                && signature.equals(methodIdentifier.signature);
-    }
-
-    @Override
-    public String toString() {
-        return name + ":" + desc + ":" + signature;
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
deleted file mode 100644
index 4396fd6..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.List;
-
-import org.apache.commons.lang3.tuple.Pair;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor replaces all the appearances of original class names with
- * new (generated) class names, according to an input name mapping.
- */
-public class RenameClassVisitor extends ClassVisitor {
-
-    private final List<Pair<String, String>> nameMapping;
-
-    public RenameClassVisitor(ClassVisitor downStreamVisitor, List<Pair<String, String>> nameMapping) {
-        super(Opcodes.ASM5, downStreamVisitor);
-        this.nameMapping = nameMapping;
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        super.visit(version, access, applyMapping(name), signature, applyMapping(superName), interfaces);
-    }
-
-    @Override
-    public void visitOuterClass(String owner, String name, String desc) {
-        // Skips outer class descriptions.
-    }
-
-    @Override
-    public void visitInnerClass(String name, String outerName, String innerName, int access) {
-        if ((access & Opcodes.ACC_PUBLIC) != 0 && (access & Opcodes.ACC_STATIC) != 0) {
-            super.visitInnerClass(name, outerName, innerName, access);
-        }
-    }
-
-    @Override
-    public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
-        return cv.visitField(access, name, applyMapping(desc), applyMapping(signature), value);
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        MethodVisitor mv = cv.visitMethod(access, name, applyMapping(desc), applyMapping(signature), exceptions);
-        if (mv != null) {
-            return new MethodVisitor(Opcodes.ASM5, mv) {
-
-                @Override
-                public void visitFieldInsn(int opcode, String owner, String name, String desc) {
-                    mv.visitFieldInsn(opcode, applyMapping(owner), applyMapping(name), applyMapping(desc));
-                }
-
-                @Override
-                public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-                    mv.visitMethodInsn(opcode, applyMapping(owner), name, applyMapping(desc), itf);
-                }
-
-                @Override
-                public void visitLocalVariable(String name, String desc, String signature, Label start, Label end,
-                        int index) {
-                    mv.visitLocalVariable(name, applyMapping(desc), applyMapping(signature), start, end, index);
-                }
-
-                @Override
-                public void visitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack) {
-                    if (local != null) {
-                        for (int index = 0; index < local.length; ++index) {
-                            if (local[index] instanceof String) {
-                                local[index] = applyMapping((String) local[index]);
-                            }
-                        }
-                    }
-                    mv.visitFrame(type, nLocal, local, nStack, stack);
-                }
-
-                @Override
-                public void visitTypeInsn(int opcode, String type) {
-                    mv.visitTypeInsn(opcode, applyMapping(type));
-                }
-
-            };
-        }
-        return null;
-    }
-
-    private String applyMapping(String inputStr) {
-        return CodeGenUtil.applyMapping(nameMapping, inputStr);
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/pom.xml b/asterixdb/asterix-maven-plugins/pom.xml
index 6f8558e..d7e6f6e 100644
--- a/asterixdb/asterix-maven-plugins/pom.xml
+++ b/asterixdb/asterix-maven-plugins/pom.xml
@@ -44,7 +44,6 @@
   <modules>
     <module>lexer-generator-maven-plugin</module>
     <module>record-manager-generator-maven-plugin</module>
-    <module>asterix-evaluator-generator-maven-plugin</module>
     <module>asterix-test-datagenerator-maven-plugin</module>
     <module>asterix-grammar-extension-maven-plugin</module>
   </modules>
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
index 90c742c..309d70a 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
@@ -22,6 +22,4 @@
 
 public interface IFunctionCollection extends Serializable {
     void add(IFunctionDescriptorFactory descriptorFactory);
-
-    void addGenerated(IFunctionDescriptorFactory descriptorFactory);
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
index 2aed755..be4937e 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
@@ -19,12 +19,10 @@
 
 package org.apache.asterix.runtime.functions;
 
-import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.ServiceLoader;
 
-import org.apache.asterix.common.utils.CodeGenHelper;
 import org.apache.asterix.om.functions.IFunctionCollection;
 import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
 import org.apache.asterix.om.functions.IFunctionRegistrant;
@@ -533,18 +531,11 @@
 public final class FunctionCollection implements IFunctionCollection {
     private static final long serialVersionUID = -8308873930697425307L;
 
-    private static final String FACTORY = "FACTORY";
-
     private final ArrayList<IFunctionDescriptorFactory> descriptorFactories = new ArrayList<>();
 
     @Override
     public void add(IFunctionDescriptorFactory descriptorFactory) {
         descriptorFactories.add(descriptorFactory);
-    }
-
-    @Override
-    public void addGenerated(IFunctionDescriptorFactory descriptorFactory) {
-        add(getGeneratedFunctionDescriptorFactory(descriptorFactory.createFunctionDescriptor().getClass()));
     }
 
     public static FunctionCollection createDefaultFunctionCollection() {
@@ -1127,25 +1118,5 @@
 
     public List<IFunctionDescriptorFactory> getFunctionDescriptorFactories() {
         return descriptorFactories;
-    }
-
-    /**
-     * Gets the generated function descriptor factory from an <code>IFunctionDescriptor</code>
-     * implementation class.
-     *
-     * @param cl,
-     *            the class of an <code>IFunctionDescriptor</code> implementation.
-     * @return the IFunctionDescriptorFactory instance defined in the class.
-     */
-    private static IFunctionDescriptorFactory getGeneratedFunctionDescriptorFactory(Class<?> cl) {
-        try {
-            String className =
-                    CodeGenHelper.getGeneratedClassName(cl.getName(), CodeGenHelper.DEFAULT_SUFFIX_FOR_GENERATED_CLASS);
-            Class<?> generatedCl = cl.getClassLoader().loadClass(className);
-            Field factory = generatedCl.getDeclaredField(FACTORY);
-            return (IFunctionDescriptorFactory) factory.get(null);
-        } catch (Exception e) {
-            throw new IllegalStateException(e);
-        }
     }
 }
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index decf7e7..3e65e5f 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -386,19 +386,6 @@
                 </pluginExecution>
                 <pluginExecution>
                   <pluginExecutionFilter>
-                    <groupId>org.apache.asterix</groupId>
-                    <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-                    <versionRange>[0.0,)</versionRange>
-                    <goals>
-                      <goal>generate-evaluator</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <ignore />
-                  </action>
-                </pluginExecution>
-                <pluginExecution>
-                  <pluginExecutionFilter>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-jar-plugin</artifactId>
                     <versionRange>[0.0,)</versionRange>

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Michael Blow (Code Review)" <de...@asterixdb.apache.org>.
Michael Blow has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1: Code-Review+2

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/3396/1/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
File asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java:

https://asterix-gerrit.ics.uci.edu/#/c/3396/1/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java@23
PS1, Line 23: public interface IFunctionCollection extends Serializable {
let's make this a functional interface while we're at it



-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 18:22:14 +0000
Gerrit-HasComments: Yes

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-stabilization-f69489-compat/1052/ (5/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:18 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/5692/ (1/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:17 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Hussain Towaileb (Code Review)" <de...@asterixdb.apache.org>.
Hello Anon. E. Moose (1000171), Jenkins, Michael Blow, 

I'd like you to reexamine a change. Please visit

    https://asterix-gerrit.ics.uci.edu/3396

to look at the new patch set (#2).

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................

[NO ISSUE][OTH] Codegen clean up and plugin removal

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Remove the codegen related files.
- Remove the codegen plugin.
- Remove the codegen plugin dependency from pom files.

Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
---
D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
M asterixdb/asterix-fuzzyjoin/pom.xml
M asterixdb/asterix-geo/pom.xml
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
M asterixdb/asterix-maven-plugins/pom.xml
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
M asterixdb/pom.xml
17 files changed, 1 insertion(+), 1,419 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/96/3396/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/5774/ (10/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:40 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/5997/ (15/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:50 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/3787/ (16/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:34 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/3786/ (14/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:48 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/6358/ (4/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:18 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/4409/


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:27:11 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/5943/ (7/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:34 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/8555/


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:25:48 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/5944/ (10/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:23 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Hussain Towaileb (Code Review)" <de...@asterixdb.apache.org>.
Hussain Towaileb has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2: -Code-Review

Forwarding +2 from Michael Blow.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 22:00:01 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/5793/ (13/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:29 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/6147/ (6/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:33 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/5691/ (1/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:31 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Hussain Towaileb (Code Review)" <de...@asterixdb.apache.org>.
Hussain Towaileb has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2: Code-Review+2


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 22:00:26 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-stabilization-f69489-compat/1051/ (3/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:31 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ssl-compression/556/ (9/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:38 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/8554/


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:41:40 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Anon. E. Moose (Code Review)" <de...@asterixdb.apache.org>.
Anon. E. Moose (1000171) has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Analytics Compatibility Compilation Successful
https://cbjenkins.page.link/buuQybhn4isap4PU7 : SUCCESS


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:30:07 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Anon. E. Moose (Code Review)" <de...@asterixdb.apache.org>.
Anon. E. Moose (1000171) has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1: Contrib-2

Analytics Compatibility Compilation Failed
https://cbjenkins.page.link/YFBni5HJrpp5wJiRA : UNSTABLE


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:44:18 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/5792/ (11/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:42 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-txnlog/953/ (5/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:32 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/5775/ (11/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:25 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-openjdk11/1144/ (3/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:18 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Hussain Towaileb (Code Review)" <de...@asterixdb.apache.org>.
Hussain Towaileb has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2: Code-Review+2


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 21:59:05 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/9734/ (2/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:18 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/5754/ (13/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:47 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/8554/ : SUCCESS


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 15:50:50 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-spidersilk-tests/716/ (12/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:27 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/8555/ : SUCCESS


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 21:40:11 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2: Contrib+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/4409/ : SUCCESS


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:43:32 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/4408/


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:43:46 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Hussain Towaileb (Code Review)" <de...@asterixdb.apache.org>.
Hussain Towaileb has submitted this change and it was merged. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................

[NO ISSUE][OTH] Codegen clean up and plugin removal

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Remove the codegen related files.
- Remove the codegen plugin.
- Remove the codegen plugin dependency from pom files.

Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3396
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Hussain Towaileb <hu...@gmail.com>
---
D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
M asterixdb/asterix-fuzzyjoin/pom.xml
M asterixdb/asterix-geo/pom.xml
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
D asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
M asterixdb/asterix-maven-plugins/pom.xml
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
M asterixdb/pom.xml
17 files changed, 1 insertion(+), 1,419 deletions(-)

Approvals:
  Jenkins: Verified; No violations found; ; Verified
  Hussain Towaileb: Looks good to me, approved



diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
deleted file mode 100644
index b8397f2..0000000
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.common.utils;
-
-public final class CodeGenHelper {
-
-    public final static String DEFAULT_SUFFIX_FOR_GENERATED_CLASS = "Gen";
-
-    private final static String DOLLAR = "$";
-
-    private final static String NESTED_CLASSNAME_PREFIX = "_";
-
-    public static String getGeneratedClassName(String originalClassName, String suffixForGeneratedClass) {
-        return toJdkStandardName(getGeneratedInternalClassName(originalClassName, suffixForGeneratedClass));
-    }
-
-    public static String getGeneratedInternalClassName(String originalClassName, String suffixForGeneratedClass) {
-        String originalFuncDescriptorClassInternalName = toInternalClassName(originalClassName);
-        return generateClassName(originalFuncDescriptorClassInternalName, suffixForGeneratedClass, 0);
-    }
-
-    /**
-     * Gets the name of a generated class.
-     *
-     * @param originalClassName,
-     *            the original class, i.e., the source of the generated class.
-     * @param suffix,
-     *            the suffix for the generated class.
-     * @param counter,
-     *            a counter that appearing at the end of the name of the generated class.
-     * @return the name of the generated class.
-     */
-    public static String generateClassName(String originalClassName, String suffix, int counter) {
-        StringBuilder sb = new StringBuilder();
-        int end = originalClassName.indexOf(DOLLAR);
-        if (end < 0) {
-            end = originalClassName.length();
-        }
-
-        String name = originalClassName.substring(0, end);
-        sb.append(name);
-        sb.append(DOLLAR);
-        sb.append(NESTED_CLASSNAME_PREFIX);
-        sb.append(suffix);
-
-        if (counter > 0) {
-            sb.append(counter);
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Converts an ASM class name to the JDK class naming format.
-     *
-     * @param name,
-     *            a class name following the ASM convention.
-     * @return a "."-separated class name for JDK.
-     */
-    public static String toJdkStandardName(String name) {
-        return name.replace("/", ".");
-    }
-
-    /**
-     * Converts a JDK class name to the class naming format of ASM.
-     *
-     * @param name,
-     *            a class name following the JDK convention.
-     * @return a "/"-separated class name assumed by ASM.
-     */
-    public static String toInternalClassName(String name) {
-        return name.replace(".", "/");
-    }
-
-    private CodeGenHelper() {
-    }
-}
diff --git a/asterixdb/asterix-fuzzyjoin/pom.xml b/asterixdb/asterix-fuzzyjoin/pom.xml
index 5c31882..0eab9ed 100644
--- a/asterixdb/asterix-fuzzyjoin/pom.xml
+++ b/asterixdb/asterix-fuzzyjoin/pom.xml
@@ -41,23 +41,6 @@
   <build>
     <plugins>
       <plugin>
-        <groupId>org.apache.asterix</groupId>
-        <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <configuration>
-          <evaluatorPackagePrefix>org.apache.asterix.runtime.evaluators</evaluatorPackagePrefix>
-        </configuration>
-        <executions>
-          <execution>
-            <id>generate-evaluator</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>generate-evaluator</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <executions>
diff --git a/asterixdb/asterix-geo/pom.xml b/asterixdb/asterix-geo/pom.xml
index 81d7871..6b5c845 100644
--- a/asterixdb/asterix-geo/pom.xml
+++ b/asterixdb/asterix-geo/pom.xml
@@ -41,23 +41,6 @@
   <build>
     <plugins>
       <plugin>
-        <groupId>org.apache.asterix</groupId>
-        <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <configuration>
-          <evaluatorPackagePrefix>org.apache.asterix.runtime.evaluators</evaluatorPackagePrefix>
-        </configuration>
-        <executions>
-          <execution>
-            <id>generate-evaluator</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>generate-evaluator</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <executions>
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
deleted file mode 100644
index d5ad95c..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<!--
- ! Licensed to the Apache Software Foundation (ASF) under one
- ! or more contributor license agreements.  See the NOTICE file
- ! distributed with this work for additional information
- ! regarding copyright ownership.  The ASF licenses this file
- ! to you under the Apache License, Version 2.0 (the
- ! "License"); you may not use this file except in compliance
- ! with the License.  You may obtain a copy of the License at
- !
- !   http://www.apache.org/licenses/LICENSE-2.0
- !
- ! Unless required by applicable law or agreed to in writing,
- ! software distributed under the License is distributed on an
- ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ! KIND, either express or implied.  See the License for the
- ! specific language governing permissions and limitations
- ! under the License.
- !-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-  <parent>
-    <groupId>org.apache.asterix</groupId>
-    <artifactId>asterix-maven-plugins</artifactId>
-    <version>0.9.5-SNAPSHOT</version>
-  </parent>
-
-  <packaging>maven-plugin</packaging>
-  <name>asterix-evaluator-generator-maven-plugin</name>
-
-  <properties>
-    <root.dir>${basedir}/../..</root.dir>
-  </properties>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <configuration>
-          <ignoredUnusedDeclaredDependencies combine.children="append">
-            <ignoredUnusedDeclaredDependency>org.apache.asterix:asterix-om:*</ignoredUnusedDeclaredDependency>
-          </ignoredUnusedDeclaredDependencies>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.asterix</groupId>
-      <artifactId>asterix-common</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.asterix</groupId>
-      <artifactId>asterix-om</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.reflections</groupId>
-      <artifactId>reflections</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-model</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>6.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-tree</artifactId>
-      <version>6.2</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
deleted file mode 100644
index 74084af..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.plugin;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Set;
-
-import org.apache.asterix.common.utils.CodeGenHelper;
-import org.apache.asterix.runtime.evaluators.staticcodegen.CodeGenUtil;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.reflections.Reflections;
-import org.reflections.util.ConfigurationBuilder;
-
-/**
- * Statically generates null-handling byte code for scalar functions.
- *
- * @goal generate-evaluator
- * @phase process-classes
- */
-public class EvaluatorGeneratorMojo extends AbstractMojo {
-
-    private String baseDir;
-
-    /**
-     * @parameter default-value="${project}"
-     * @required
-     * @readonly
-     */
-    MavenProject project;
-
-    /**
-     * @parameter default-value="${evaluatorPackagePrefix}"
-     * @required
-     * @readonly
-     */
-    String evaluatorPackagePrefix;
-
-    public EvaluatorGeneratorMojo() {
-    }
-
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        baseDir = project.getBuild().getDirectory() + File.separator + "classes";
-
-        URLClassLoader classLoader = null;
-        try {
-            URI baseURI = new File(baseDir).toURI();
-            classLoader = new URLClassLoader(new URL[] { baseURI.toURL() }, getClass().getClassLoader());
-
-            String superClassName = CodeGenHelper.toJdkStandardName(CodeGenUtil.DESCRIPTOR_SUPER_CLASS_NAME);
-            Class superClass = Class.forName(superClassName, false, classLoader);
-
-            // Finds all sub-classes of the given root class within the specified package
-            ConfigurationBuilder config = ConfigurationBuilder.build(classLoader, evaluatorPackagePrefix);
-            String genSuffix = CodeGenHelper.DEFAULT_SUFFIX_FOR_GENERATED_CLASS + ".class";
-            config.setInputsFilter(path -> path != null && !path.endsWith(genSuffix));
-
-            Reflections reflections = new Reflections(config);
-            Set<Class<?>> allClasses = reflections.getSubTypesOf(superClass);
-
-            // Generates byte code for all sub-classes
-            for (Class<?> cl : allClasses) {
-                getLog().info("Generating byte code for " + cl.getName());
-                CodeGenUtil.generateScalarFunctionDescriptorBinary(evaluatorPackagePrefix, cl.getName(),
-                        CodeGenHelper.DEFAULT_SUFFIX_FOR_GENERATED_CLASS, classLoader,
-                        (name, bytes) -> writeFile(name, bytes));
-            }
-        } catch (Exception e) {
-            getLog().error(e);
-            throw new MojoFailureException(e.toString());
-        } finally {
-            if (classLoader != null) {
-                try {
-                    classLoader.close();
-                } catch (IOException e) {
-                    getLog().error(e);
-                }
-            }
-        }
-    }
-
-    private void writeFile(String name, byte[] classDefinitionBinary) throws IOException {
-        File targetFile = new File(baseDir + File.separator + name + ".class");
-        targetFile.getParentFile().mkdirs();
-        targetFile.createNewFile();
-        try (FileOutputStream outputStream = new FileOutputStream(targetFile)) {
-            outputStream.write(classDefinitionBinary, 0, classDefinitionBinary.length);
-        }
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
deleted file mode 100644
index c396358..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.asterix.common.utils.CodeGenHelper;
-import org.apache.commons.lang3.tuple.Pair;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassWriter;
-
-/**
- * A utility class that generates byte code for scalar function descriptors.
- */
-public class CodeGenUtil {
-
-    private final static String OBJECT_CLASS_NAME = "java/lang/Object";
-    public final static String DESCRIPTOR_SUPER_CLASS_NAME =
-            "org/apache/asterix/runtime/evaluators/base/AbstractScalarFunctionDynamicDescriptor";
-    private final static String EVALUATOR_FACTORY = "EvaluatorFactory";
-    private final static String EVALUATOR = "Evaluator";
-    private final static String INNER = "Inner";
-
-    /**
-     * The callback interface for a caller to determine what it needs to do for
-     * the generated class bytes.
-     */
-    public static interface ClassByteCodeAction {
-
-        /**
-         * Run a user-defined action for the generated class definition bytes.
-         *
-         * @param targetClassName,
-         *            the name for the generated class.
-         * @param classDefinitionBytes,
-         *            the class definition bytes.
-         * @throws IOException
-         */
-        public void runAction(String targetClassName, byte[] classDefinitionBytes) throws IOException;
-    }
-
-    /**
-     * Generates the byte code for a scalar function descriptor.
-     *
-     * @param packagePrefix,
-     *            the prefix of evaluators for code generation.
-     * @param originalFuncDescriptorClassName,
-     *            the original class name of the function descriptor.
-     * @param suffixForGeneratedClass,
-     *            the suffix for the generated class.
-     * @param action,
-     *            the customized action for the generated class definition bytes.
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    public static List<Pair<String, String>> generateScalarFunctionDescriptorBinary(String packagePrefix,
-            String originalFuncDescriptorClassName, String suffixForGeneratedClass, ClassLoader classLoader,
-            ClassByteCodeAction action) throws IOException, ClassNotFoundException {
-        String internalFuncDescriptorClassName = CodeGenHelper.toInternalClassName(originalFuncDescriptorClassName);
-        if (internalFuncDescriptorClassName.equals(DESCRIPTOR_SUPER_CLASS_NAME)) {
-            return Collections.emptyList();
-        }
-
-        String targetFuncDescriptorClassName =
-                CodeGenHelper.getGeneratedInternalClassName(internalFuncDescriptorClassName, suffixForGeneratedClass);
-
-        // Adds the mapping of the old/new names of the function descriptor.
-        List<Pair<String, String>> nameMappings = new ArrayList<>();
-
-        // Generates code for super classes except java.lang.Object.
-        Class<?> evaluatorClass =
-                classLoader.loadClass(CodeGenHelper.toJdkStandardName(internalFuncDescriptorClassName));
-        nameMappings.addAll(generateScalarFunctionDescriptorBinary(packagePrefix,
-                evaluatorClass.getSuperclass().getName(), suffixForGeneratedClass, classLoader, action));
-
-        nameMappings.add(Pair.of(internalFuncDescriptorClassName, targetFuncDescriptorClassName));
-        nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(internalFuncDescriptorClassName),
-                CodeGenHelper.toJdkStandardName(targetFuncDescriptorClassName)));
-
-        // Gathers evaluator factory classes that are created in the function descriptor.
-        try (InputStream internalFuncDescriptorStream =
-                getResourceStream(internalFuncDescriptorClassName, classLoader)) {
-            ClassReader reader = new ClassReader(internalFuncDescriptorStream);
-            GatherEvaluatorFactoryCreationVisitor evalFactoryCreationVisitor =
-                    new GatherEvaluatorFactoryCreationVisitor(CodeGenHelper.toInternalClassName(packagePrefix));
-            reader.accept(evalFactoryCreationVisitor, 0);
-            Set<String> evaluatorFactoryClassNames = evalFactoryCreationVisitor.getCreatedEvaluatorFactoryClassNames();
-
-            // Generates inner classes other than evaluator factories.
-            generateNonEvalInnerClasses(reader, evaluatorFactoryClassNames, nameMappings, suffixForGeneratedClass,
-                    classLoader, action);
-
-            // Generates evaluator factories that are created in the function descriptor.
-            int evalFactoryCounter = 0;
-            for (String evaluateFactoryClassName : evaluatorFactoryClassNames) {
-                generateEvaluatorFactoryClassBinary(packagePrefix, evaluateFactoryClassName, suffixForGeneratedClass,
-                        evalFactoryCounter++, nameMappings, classLoader, action);
-            }
-
-            // Transforms the function descriptor class and outputs the generated class binary.
-            ClassWriter writer = new ClassWriter(reader, 0);
-            RenameClassVisitor renamingVisitor = new RenameClassVisitor(writer, nameMappings);
-            reader.accept(renamingVisitor, 0);
-            action.runAction(targetFuncDescriptorClassName, writer.toByteArray());
-            return nameMappings;
-        }
-    }
-
-    /**
-     * Apply mappings for a class name.
-     *
-     * @param nameMappings,
-     *            the mappings from existing class names to that of their generated counterparts.
-     * @param inputStr,
-     *            the name of a class.
-     * @return the name of the generated counterpart class.
-     */
-    static String applyMapping(List<Pair<String, String>> nameMappings, String inputStr) {
-        if (inputStr == null) {
-            return null;
-        }
-        String result = inputStr;
-
-        // Applies name mappings in the reverse order, i.e.,
-        // mapping recent added old/new name pairs first.
-        int index = nameMappings.size() - 1;
-        for (; index >= 0; --index) {
-            Pair<String, String> entry = nameMappings.get(index);
-            if (result.contains(entry.getLeft())) {
-                return result.replace(entry.getLeft(), entry.getRight());
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Generates the byte code for an evaluator factory class.
-     *
-     * @param packagePrefix,
-     *            the prefix of evaluators for code generation.
-     * @param originalEvaluatorFactoryClassName,
-     *            the original evaluator factory class name.
-     * @param suffixForGeneratedClass,
-     *            the suffix for the generated class.
-     * @param factoryCounter,
-     *            the counter for the generated class.
-     * @param nameMappings,
-     *            class names that needs to be rewritten in the generated byte code.
-     * @param classLoader,
-     *            a class loader that has the original evaluator factory class in its resource paths.
-     * @param action,
-     *            a user definition action for the generated byte code.
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    private static void generateEvaluatorFactoryClassBinary(String packagePrefix,
-            String originalEvaluatorFactoryClassName, String suffixForGeneratedClass, int factoryCounter,
-            List<Pair<String, String>> nameMappings, ClassLoader classLoader, ClassByteCodeAction action)
-            throws IOException, ClassNotFoundException {
-        String internalEvaluatorFactoryClassName = CodeGenHelper.toInternalClassName(originalEvaluatorFactoryClassName);
-        String targetEvaluatorFactoryClassName = CodeGenHelper.generateClassName(internalEvaluatorFactoryClassName,
-                EVALUATOR_FACTORY + suffixForGeneratedClass, factoryCounter);
-
-        // Adds the old/new names of the evaluator factory into the mapping.
-        nameMappings.add(Pair.of(internalEvaluatorFactoryClassName, targetEvaluatorFactoryClassName));
-        nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(internalEvaluatorFactoryClassName),
-                CodeGenHelper.toJdkStandardName(targetEvaluatorFactoryClassName)));
-
-        // Gathers the class names of the evaluators that are created in the evaluator factory.
-        try (InputStream internalEvaluatorFactoryStream =
-                getResourceStream(internalEvaluatorFactoryClassName, classLoader)) {
-            ClassReader reader = new ClassReader(internalEvaluatorFactoryStream);
-            GatherEvaluatorCreationVisitor evalCreationVisitor =
-                    new GatherEvaluatorCreationVisitor(CodeGenHelper.toInternalClassName(packagePrefix));
-            reader.accept(evalCreationVisitor, 0);
-            Set<String> evaluatorClassNames = evalCreationVisitor.getCreatedEvaluatorClassNames();
-
-            // Generates inner classes other than evaluators.
-            generateNonEvalInnerClasses(reader, evaluatorClassNames, nameMappings, suffixForGeneratedClass, classLoader,
-                    action);
-
-            // Generates code for all evaluators.
-            int evalCounter = 0;
-            for (String evaluateClassName : evaluatorClassNames) {
-                generateEvaluatorClassBinary(evaluateClassName, suffixForGeneratedClass, evalCounter++, nameMappings,
-                        classLoader, action);
-            }
-
-            // Transforms the evaluator factory class and outputs the generated class binary.
-            ClassWriter writer = new ClassWriter(reader, 0);
-            RenameClassVisitor renamingVisitor = new RenameClassVisitor(writer, nameMappings);
-            reader.accept(renamingVisitor, 0);
-            action.runAction(targetEvaluatorFactoryClassName, writer.toByteArray());
-        }
-    }
-
-    /**
-     * Generates the byte code for an evaluator class.
-     *
-     * @param originalEvaluatorClassName,
-     *            the name of the original evaluator class.
-     * @param suffixForGeneratedClass,
-     *            the suffix for the generated class.
-     * @param evalCounter,
-     *            the counter for the generated class.
-     * @param nameMappings,
-     *            class names that needs to be rewritten in the generated byte code.
-     * @param classLoader,
-     *            a class loader that has the original evaluator factory class in its resource paths.
-     * @param action,
-     *            a user definition action for the generated byte code.
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    private static void generateEvaluatorClassBinary(String originalEvaluatorClassName, String suffixForGeneratedClass,
-            int evalCounter, List<Pair<String, String>> nameMappings, ClassLoader classLoader,
-            ClassByteCodeAction action) throws IOException, ClassNotFoundException {
-        // Convert class names.
-        String internalEvaluatorClassName = CodeGenHelper.toInternalClassName(originalEvaluatorClassName);
-        if (internalEvaluatorClassName.equals(OBJECT_CLASS_NAME)) {
-            return;
-        }
-        String targetEvaluatorClassName = CodeGenHelper.generateClassName(internalEvaluatorClassName,
-                EVALUATOR + suffixForGeneratedClass, evalCounter);
-
-        // Generates code for super classes except java.lang.Object.
-        Class<?> evaluatorClass = classLoader.loadClass(CodeGenHelper.toJdkStandardName(internalEvaluatorClassName));
-        generateEvaluatorClassBinary(evaluatorClass.getSuperclass().getName(), suffixForGeneratedClass, evalCounter,
-                nameMappings, classLoader, action);
-
-        // Adds name mapping.
-        nameMappings.add(Pair.of(internalEvaluatorClassName, targetEvaluatorClassName));
-        nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(internalEvaluatorClassName),
-                CodeGenHelper.toJdkStandardName(targetEvaluatorClassName)));
-
-        try (InputStream internalEvaluatorStream = getResourceStream(internalEvaluatorClassName, classLoader)) {
-            ClassReader firstPassReader = new ClassReader(internalEvaluatorStream);
-            // Generates inner classes other than the evaluator.
-            Set<String> excludedNames = new HashSet<>();
-            for (Pair<String, String> entry : nameMappings) {
-                excludedNames.add(entry.getKey());
-            }
-            generateNonEvalInnerClasses(firstPassReader, excludedNames, nameMappings, suffixForGeneratedClass,
-                    classLoader, action);
-
-            // Injects missing-handling byte code.
-            ClassWriter firstPassWriter = new ClassWriter(firstPassReader, 0);
-            EvaluatorMissingCheckVisitor missingHandlingVisitor = new EvaluatorMissingCheckVisitor(firstPassWriter);
-            firstPassReader.accept(missingHandlingVisitor, 0);
-
-            ClassReader secondPassReader = new ClassReader(firstPassWriter.toByteArray());
-            // Injects null-handling byte code and output the class binary.
-            // Since we're going to add jump instructions, we have to let the ClassWriter to
-            // automatically generate frames for JVM to verify the class.
-            ClassWriter secondPassWriter =
-                    new ClassWriter(secondPassReader, ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);
-            RenameClassVisitor renamingVisitor = new RenameClassVisitor(secondPassWriter, nameMappings);
-            EvaluatorNullCheckVisitor nullHandlingVisitor =
-                    new EvaluatorNullCheckVisitor(renamingVisitor, missingHandlingVisitor.getLastAddedLabel());
-            secondPassReader.accept(nullHandlingVisitor, 0);
-            action.runAction(targetEvaluatorClassName, secondPassWriter.toByteArray());
-        }
-    }
-
-    /**
-     * Generates non-evaluator(-factory) inner classes defined in either a function descriptor
-     * or an evaluator factory.
-     *
-     * @param reader,
-     *            the reader of the outer class.
-     * @param evalClassNames,
-     *            the names of evaluator/evaluator-factory classes that shouldn't be generated in this
-     *            method.
-     * @param nameMappings,
-     *            class names that needs to be rewritten in the generated byte code.
-     * @param classLoader,
-     *            a class loader that has the original evaluator factory class in its resource paths.
-     * @param action,
-     *            a user definition action for the generated byte code.
-     * @throws IOException
-     */
-    private static void generateNonEvalInnerClasses(ClassReader reader, Set<String> evalClassNames,
-            List<Pair<String, String>> nameMappings, String suffixForGeneratedClass, ClassLoader classLoader,
-            ClassByteCodeAction action) throws IOException {
-        // Gathers inner classes of the function descriptor.
-        GatherInnerClassVisitor innerClassVisitor = new GatherInnerClassVisitor();
-        reader.accept(innerClassVisitor, 0);
-        Set<String> innerClassNames = innerClassVisitor.getInnerClassNames();
-        innerClassNames.removeAll(evalClassNames);
-
-        // Rewrites inner classes.
-        int counter = 0;
-        String suffix = INNER + suffixForGeneratedClass;
-        for (String innerClassName : innerClassNames) {
-            // adds name mapping.
-            String targetInnerClassName = CodeGenHelper.generateClassName(innerClassName, suffix, counter++);
-            nameMappings.add(Pair.of(innerClassName, targetInnerClassName));
-            nameMappings.add(Pair.of(CodeGenHelper.toJdkStandardName(innerClassName),
-                    CodeGenHelper.toJdkStandardName(targetInnerClassName)));
-
-            // Renaming appearances of original class names.
-            try (InputStream innerStream = getResourceStream(innerClassName, classLoader)) {
-                ClassReader innerClassReader = new ClassReader(innerStream);
-                ClassWriter writer = new ClassWriter(innerClassReader, 0);
-                RenameClassVisitor renamingVisitor = new RenameClassVisitor(writer, nameMappings);
-                innerClassReader.accept(renamingVisitor, 0);
-                action.runAction(targetInnerClassName, writer.toByteArray());
-            }
-        }
-    }
-
-    /**
-     * Gets the input stream from a class file.
-     *
-     * @param className,
-     *            the name of a class.
-     * @param classLoader,
-     *            the corresponding class loader.
-     * @return the input stream.
-     */
-    private static InputStream getResourceStream(String className, ClassLoader classLoader) {
-        return classLoader.getResourceAsStream(className.replace('.', '/') + ".class");
-    }
-
-    private CodeGenUtil() {
-    }
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
deleted file mode 100644
index 38b9751..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.tree.AbstractInsnNode;
-import org.objectweb.asm.tree.FieldInsnNode;
-import org.objectweb.asm.tree.IincInsnNode;
-import org.objectweb.asm.tree.InsnNode;
-import org.objectweb.asm.tree.IntInsnNode;
-import org.objectweb.asm.tree.VarInsnNode;
-
-/**
- * This visitor adds missing-handling byte code into an evaluator class.
- */
-public class EvaluatorMissingCheckVisitor extends ClassVisitor {
-    private static final String EVALUATE_DESC = "(Lorg/apache/hyracks/dataflow/common/data/"
-            + "accessors/IFrameTupleReference;Lorg/apache/hyracks/data/std/api/IPointable;)V";
-    private static final String EVALUATE = "evaluate";
-    private static final MethodIdentifier METHOD_IDENTIFIER = new MethodIdentifier(EVALUATE, EVALUATE_DESC, null);
-    private static final String TYPE_CHECKER_CLASS = "org/apache/asterix/runtime/evaluators/staticcodegen/TypeChecker";
-    private static final String TYPE_CHECKER_DESC = "L" + TYPE_CHECKER_CLASS + ";";
-    private static final String TYPE_CHECKER_NAME = "typeChecker";
-    private static final String IS_MISSING = "isMissing";
-    private static final String TYPECHECK_METHOD_DESC =
-            "(Lorg/apache/hyracks/data/std/api/IPointable;" + "Lorg/apache/hyracks/data/std/api/IPointable;)Z";
-    private static final String CONSTRUCTOR = "<init>";
-    private String className = null;
-    private Label lastAddedLabel = null;
-
-    public EvaluatorMissingCheckVisitor(ClassVisitor downStreamVisitor) {
-        super(Opcodes.ASM5, downStreamVisitor);
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        if (cv != null) {
-            cv.visit(version, access, name, signature, superName, interfaces);
-        }
-        this.className = name;
-    }
-
-    @Override
-    public void visitEnd() {
-        if (cv != null) {
-            cv.visitField(Opcodes.ACC_PRIVATE | Opcodes.ACC_FINAL, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC, null, null);
-            cv.visitEnd();
-        }
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        MethodVisitor mv = cv.visitMethod(access, name, desc, signature, exceptions);
-        if (!METHOD_IDENTIFIER.equals(new MethodIdentifier(name, desc, signature)) && !name.equals(CONSTRUCTOR)) {
-            return mv;
-        }
-        if (name.equals(CONSTRUCTOR) && mv != null) {
-            return new ConstructorVisitor(Opcodes.ASM5, mv);
-        }
-        if (mv != null) {
-            return new InjectMissingCheckVisitor(Opcodes.ASM5, mv);
-        }
-        return null;
-    }
-
-    // Obtains the last added label.
-    Label getLastAddedLabel() {
-        return lastAddedLabel;
-    }
-
-    class ConstructorVisitor extends MethodVisitor {
-
-        public ConstructorVisitor(int api, MethodVisitor mv) {
-            super(api, mv);
-        }
-
-        @Override
-        public void visitInsn(int opcode) {
-            if (opcode != Opcodes.RETURN) {
-                mv.visitInsn(opcode);
-                return;
-            }
-            // Loads "this".
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            // New TypeChecker.
-            mv.visitTypeInsn(Opcodes.NEW, TYPE_CHECKER_CLASS);
-            // Duplicate the top operand.
-            mv.visitInsn(Opcodes.DUP);
-            // Invoke the constructor of TypeChecker.
-            mv.visitMethodInsn(Opcodes.INVOKESPECIAL, TYPE_CHECKER_CLASS, CONSTRUCTOR, "()V", false);
-            // Putfield for the field typeChecker.
-            mv.visitFieldInsn(Opcodes.PUTFIELD, className, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC);
-            // RETURN.
-            mv.visitInsn(Opcodes.RETURN);
-        }
-    }
-
-    class InjectMissingCheckVisitor extends MethodVisitor {
-
-        private FieldInsnNode fieldAccessNode = null;
-        private List<AbstractInsnNode> instructionsAfterFieldAccess = new ArrayList<>();
-        private boolean updateToNextLabel = false;
-
-        public InjectMissingCheckVisitor(int opcode, MethodVisitor mv) {
-            super(opcode, mv);
-        }
-
-        @Override
-        public void visitFieldInsn(int opcode, String owner, String name, String desc) {
-            mv.visitFieldInsn(opcode, owner, name, desc);
-            fieldAccessNode = new FieldInsnNode(opcode, owner, name, desc);
-            instructionsAfterFieldAccess.clear();
-        }
-
-        @Override
-        public void visitIincInsn(int var, int increment) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new IincInsnNode(var, increment));
-            }
-            super.visitIincInsn(var, increment);
-        }
-
-        @Override
-        public void visitInsn(int opcode) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new InsnNode(opcode));
-            }
-            super.visitInsn(opcode);
-        }
-
-        @Override
-        public void visitIntInsn(int opcode, int operand) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new IntInsnNode(opcode, operand));
-            }
-            super.visitIntInsn(opcode, operand);
-        }
-
-        @Override
-        public void visitVarInsn(int opcode, int operand) {
-            if (fieldAccessNode != null) {
-                instructionsAfterFieldAccess.add(new VarInsnNode(opcode, operand));
-            }
-            super.visitVarInsn(opcode, operand);
-        }
-
-        @Override
-        public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-            mv.visitMethodInsn(opcode, owner, name, desc, itf);
-            if (fieldAccessNode == null || !METHOD_IDENTIFIER.equals(new MethodIdentifier(name, desc, null))) {
-                return;
-            }
-
-            // Loads the callee.
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            mv.visitFieldInsn(Opcodes.GETFIELD, className, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC);
-
-            // Loads "this".
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            // Replays the field access instruction.
-            fieldAccessNode.accept(mv);
-
-            // Replays other instruction between the field access and the evaluator call.
-            for (AbstractInsnNode instruction : instructionsAfterFieldAccess) {
-                instruction.accept(mv);
-            }
-
-            // Loads the result IPointable.
-            mv.visitVarInsn(Opcodes.ALOAD, 2);
-
-            // Invokes the missing check method.
-            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, TYPE_CHECKER_CLASS, IS_MISSING, TYPECHECK_METHOD_DESC, false);
-            lastAddedLabel = new Label();
-            // Adds the if branch.
-            mv.visitJumpInsn(Opcodes.IFEQ, lastAddedLabel);
-            mv.visitInsn(Opcodes.RETURN);
-            mv.visitLabel(lastAddedLabel);
-        }
-
-        @Override
-        public void visitLabel(Label label) {
-            if (updateToNextLabel) {
-                lastAddedLabel = label;
-                updateToNextLabel = false;
-            }
-            super.visitLabel(label);
-        }
-
-        @Override
-        public void visitJumpInsn(int opcode, Label label) {
-            super.visitJumpInsn(opcode, label);
-            if (lastAddedLabel == null) {
-                return;
-            }
-            try {
-                if (label.getOffset() < lastAddedLabel.getOffset()) {
-                    // Backward jump, i.e., loop.
-                    updateToNextLabel = true;
-                }
-            } catch (IllegalStateException e) {
-                // Forward jump, the offset is not available.
-            }
-        }
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
deleted file mode 100644
index 84bc320..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor adds null-handling byte code into an evaluator class.
- */
-public class EvaluatorNullCheckVisitor extends ClassVisitor {
-    private final static String EVALUATE_DESC = "(Lorg/apache/hyracks/dataflow/common/data/accessors/"
-            + "IFrameTupleReference;Lorg/apache/hyracks/data/std/api/IPointable;)V";
-    private final static String EVALUATE = "evaluate";
-    private final static MethodIdentifier METHOD_IDENTIFIER = new MethodIdentifier(EVALUATE, EVALUATE_DESC, null);
-    private final static String TYPE_CHECKER_CLASS =
-            "org/apache/asterix/runtime/evaluators/staticcodegen/" + "TypeChecker";
-    private final static String TYPE_CHECKER_DESC = "L" + TYPE_CHECKER_CLASS + ";";
-    private final static String TYPE_CHECKER_NAME = "typeChecker";
-    private final static String IS_NULL = "isNull";
-    private final static String TYPECHECK_METHOD_DESC = "(Lorg/apache/hyracks/data/std/api/IPointable;)Z";
-    private String className = null;
-    private final Label lastAddedLabel;
-
-    public EvaluatorNullCheckVisitor(ClassVisitor downStreamVisitor, Label lastAddedLabel) {
-        super(Opcodes.ASM5, downStreamVisitor);
-        this.lastAddedLabel = lastAddedLabel;
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        if (cv != null) {
-            cv.visit(version, access, name, signature, superName, interfaces);
-        }
-        this.className = name;
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        MethodVisitor mv = cv.visitMethod(access, name, desc, signature, exceptions);
-        if (!METHOD_IDENTIFIER.equals(new MethodIdentifier(name, desc, signature))) {
-            return mv;
-        }
-        if (mv != null) {
-            return new InjectNullCheckVisitor(Opcodes.ASM5, mv);
-        }
-        return null;
-    }
-
-    // Obtains the last added label.
-    Label getLastAddedLabel() {
-        return lastAddedLabel;
-    }
-
-    class InjectNullCheckVisitor extends MethodVisitor {
-
-        public InjectNullCheckVisitor(int api, MethodVisitor mv) {
-            super(api, mv);
-        }
-
-        @Override
-        public void visitLabel(Label label) {
-            // Emits the label.
-            mv.visitLabel(label);
-
-            // Injects null-handling after the last missing-handling byte code.
-            if (lastAddedLabel == null || lastAddedLabel.getOffset() != label.getOffset()) {
-                return;
-            }
-
-            // Loads the callee.
-            mv.visitVarInsn(Opcodes.ALOAD, 0);
-            mv.visitFieldInsn(Opcodes.GETFIELD, className, TYPE_CHECKER_NAME, TYPE_CHECKER_DESC);
-
-            // Loads the result IPointable.
-            mv.visitVarInsn(Opcodes.ALOAD, 2);
-
-            // Invokes the null check method.
-            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, TYPE_CHECKER_CLASS, IS_NULL, TYPECHECK_METHOD_DESC, false);
-            Label notNull = new Label();
-            // Adds the if branch.
-            mv.visitJumpInsn(Opcodes.IFEQ, notNull);
-            mv.visitInsn(Opcodes.RETURN);
-            mv.visitLabel(notNull);
-        }
-    }
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
deleted file mode 100644
index 17f60ee..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor gathers all created evaluators in an evaluator factory.
- */
-public class GatherEvaluatorCreationVisitor extends ClassVisitor {
-
-    private static final String METHOD_NAME = "createScalarEvaluator";
-    private Set<String> createdEvaluatorClassNames = new HashSet<>();
-    private String ownerPrefix;
-
-    public GatherEvaluatorCreationVisitor(String ownerPrefix) {
-        super(Opcodes.ASM5);
-        this.ownerPrefix = ownerPrefix;
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        if (!name.equals(METHOD_NAME)) {
-            return null;
-        }
-        return new MethodVisitor(Opcodes.ASM5, null) {
-
-            @Override
-            public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-                if (opcode != Opcodes.INVOKESPECIAL) {
-                    return;
-                }
-                if (owner.startsWith(ownerPrefix)) {
-                    createdEvaluatorClassNames.add(owner);
-                }
-            }
-        };
-
-    }
-
-    public Set<String> getCreatedEvaluatorClassNames() {
-        return createdEvaluatorClassNames;
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
deleted file mode 100644
index eeeb313..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor gathers all created evaluator factories in a scalar function descriptor.
- */
-public class GatherEvaluatorFactoryCreationVisitor extends ClassVisitor {
-
-    private static final String METHOD_NAME = "createEvaluatorFactory";
-    private final Set<String> createdEvaluatorFactoryClassNames = new HashSet<>();
-    private String ownerPrefix;
-
-    public GatherEvaluatorFactoryCreationVisitor(String ownerPrefix) {
-        super(Opcodes.ASM5);
-        this.ownerPrefix = ownerPrefix;
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        if (!name.equals(METHOD_NAME)) {
-            return null;
-        }
-        return new MethodVisitor(Opcodes.ASM5, null) {
-
-            @Override
-            public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-                if (opcode != Opcodes.INVOKESPECIAL) {
-                    return;
-                }
-                if (owner.startsWith(ownerPrefix)) {
-                    createdEvaluatorFactoryClassNames.add(owner);
-                }
-            }
-        };
-    }
-
-    public Set<String> getCreatedEvaluatorFactoryClassNames() {
-        return createdEvaluatorFactoryClassNames;
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
deleted file mode 100644
index dfd189f..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This class gathers all inner classes defined in a class.
- */
-public class GatherInnerClassVisitor extends ClassVisitor {
-
-    private final Set<String> innerClassNames = new HashSet<>();
-    private String className = null;
-
-    public GatherInnerClassVisitor() {
-        super(Opcodes.ASM5);
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        className = name;
-    }
-
-    @Override
-    public void visitInnerClass(String name, String outerName, String innerName, int access) {
-        if ((!name.equals(className)) && ((access & Opcodes.ACC_PUBLIC) == 0 || (access & Opcodes.ACC_STATIC) == 0)) {
-            innerClassNames.add(name);
-        }
-    }
-
-    public Set<String> getInnerClassNames() {
-        return innerClassNames;
-    }
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
deleted file mode 100644
index c37b93e..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-/**
- * The data structure that can uniquely identify a method.
- */
-public class MethodIdentifier {
-
-    private final String name;
-    private final String desc;
-    private final String signature;
-
-    public MethodIdentifier(String name, String desc, String signature) {
-        this.name = name == null ? "" : name;
-        this.desc = desc == null ? "" : desc;
-        this.signature = signature == null ? "" : signature;
-    }
-
-    @Override
-    public int hashCode() {
-        return name.hashCode() * desc.hashCode() * signature.hashCode();
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (!(o instanceof MethodIdentifier)) {
-            return false;
-        }
-        MethodIdentifier methodIdentifier = (MethodIdentifier) o;
-        return name.equals(methodIdentifier.name) && desc.equals(methodIdentifier.desc)
-                && signature.equals(methodIdentifier.signature);
-    }
-
-    @Override
-    public String toString() {
-        return name + ":" + desc + ":" + signature;
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java b/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
deleted file mode 100644
index 4396fd6..0000000
--- a/asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.runtime.evaluators.staticcodegen;
-
-import java.util.List;
-
-import org.apache.commons.lang3.tuple.Pair;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-
-/**
- * This visitor replaces all the appearances of original class names with
- * new (generated) class names, according to an input name mapping.
- */
-public class RenameClassVisitor extends ClassVisitor {
-
-    private final List<Pair<String, String>> nameMapping;
-
-    public RenameClassVisitor(ClassVisitor downStreamVisitor, List<Pair<String, String>> nameMapping) {
-        super(Opcodes.ASM5, downStreamVisitor);
-        this.nameMapping = nameMapping;
-    }
-
-    @Override
-    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-        super.visit(version, access, applyMapping(name), signature, applyMapping(superName), interfaces);
-    }
-
-    @Override
-    public void visitOuterClass(String owner, String name, String desc) {
-        // Skips outer class descriptions.
-    }
-
-    @Override
-    public void visitInnerClass(String name, String outerName, String innerName, int access) {
-        if ((access & Opcodes.ACC_PUBLIC) != 0 && (access & Opcodes.ACC_STATIC) != 0) {
-            super.visitInnerClass(name, outerName, innerName, access);
-        }
-    }
-
-    @Override
-    public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
-        return cv.visitField(access, name, applyMapping(desc), applyMapping(signature), value);
-    }
-
-    @Override
-    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-        MethodVisitor mv = cv.visitMethod(access, name, applyMapping(desc), applyMapping(signature), exceptions);
-        if (mv != null) {
-            return new MethodVisitor(Opcodes.ASM5, mv) {
-
-                @Override
-                public void visitFieldInsn(int opcode, String owner, String name, String desc) {
-                    mv.visitFieldInsn(opcode, applyMapping(owner), applyMapping(name), applyMapping(desc));
-                }
-
-                @Override
-                public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
-                    mv.visitMethodInsn(opcode, applyMapping(owner), name, applyMapping(desc), itf);
-                }
-
-                @Override
-                public void visitLocalVariable(String name, String desc, String signature, Label start, Label end,
-                        int index) {
-                    mv.visitLocalVariable(name, applyMapping(desc), applyMapping(signature), start, end, index);
-                }
-
-                @Override
-                public void visitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack) {
-                    if (local != null) {
-                        for (int index = 0; index < local.length; ++index) {
-                            if (local[index] instanceof String) {
-                                local[index] = applyMapping((String) local[index]);
-                            }
-                        }
-                    }
-                    mv.visitFrame(type, nLocal, local, nStack, stack);
-                }
-
-                @Override
-                public void visitTypeInsn(int opcode, String type) {
-                    mv.visitTypeInsn(opcode, applyMapping(type));
-                }
-
-            };
-        }
-        return null;
-    }
-
-    private String applyMapping(String inputStr) {
-        return CodeGenUtil.applyMapping(nameMapping, inputStr);
-    }
-
-}
diff --git a/asterixdb/asterix-maven-plugins/pom.xml b/asterixdb/asterix-maven-plugins/pom.xml
index 6f8558e..d7e6f6e 100644
--- a/asterixdb/asterix-maven-plugins/pom.xml
+++ b/asterixdb/asterix-maven-plugins/pom.xml
@@ -44,7 +44,6 @@
   <modules>
     <module>lexer-generator-maven-plugin</module>
     <module>record-manager-generator-maven-plugin</module>
-    <module>asterix-evaluator-generator-maven-plugin</module>
     <module>asterix-test-datagenerator-maven-plugin</module>
     <module>asterix-grammar-extension-maven-plugin</module>
   </modules>
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
index 90c742c..9119520 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
@@ -20,8 +20,7 @@
 
 import java.io.Serializable;
 
+@FunctionalInterface
 public interface IFunctionCollection extends Serializable {
     void add(IFunctionDescriptorFactory descriptorFactory);
-
-    void addGenerated(IFunctionDescriptorFactory descriptorFactory);
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
index 2aed755..be4937e 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
@@ -19,12 +19,10 @@
 
 package org.apache.asterix.runtime.functions;
 
-import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.ServiceLoader;
 
-import org.apache.asterix.common.utils.CodeGenHelper;
 import org.apache.asterix.om.functions.IFunctionCollection;
 import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
 import org.apache.asterix.om.functions.IFunctionRegistrant;
@@ -533,18 +531,11 @@
 public final class FunctionCollection implements IFunctionCollection {
     private static final long serialVersionUID = -8308873930697425307L;
 
-    private static final String FACTORY = "FACTORY";
-
     private final ArrayList<IFunctionDescriptorFactory> descriptorFactories = new ArrayList<>();
 
     @Override
     public void add(IFunctionDescriptorFactory descriptorFactory) {
         descriptorFactories.add(descriptorFactory);
-    }
-
-    @Override
-    public void addGenerated(IFunctionDescriptorFactory descriptorFactory) {
-        add(getGeneratedFunctionDescriptorFactory(descriptorFactory.createFunctionDescriptor().getClass()));
     }
 
     public static FunctionCollection createDefaultFunctionCollection() {
@@ -1127,25 +1118,5 @@
 
     public List<IFunctionDescriptorFactory> getFunctionDescriptorFactories() {
         return descriptorFactories;
-    }
-
-    /**
-     * Gets the generated function descriptor factory from an <code>IFunctionDescriptor</code>
-     * implementation class.
-     *
-     * @param cl,
-     *            the class of an <code>IFunctionDescriptor</code> implementation.
-     * @return the IFunctionDescriptorFactory instance defined in the class.
-     */
-    private static IFunctionDescriptorFactory getGeneratedFunctionDescriptorFactory(Class<?> cl) {
-        try {
-            String className =
-                    CodeGenHelper.getGeneratedClassName(cl.getName(), CodeGenHelper.DEFAULT_SUFFIX_FOR_GENERATED_CLASS);
-            Class<?> generatedCl = cl.getClassLoader().loadClass(className);
-            Field factory = generatedCl.getDeclaredField(FACTORY);
-            return (IFunctionDescriptorFactory) factory.get(null);
-        } catch (Exception e) {
-            throw new IllegalStateException(e);
-        }
     }
 }
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index decf7e7..3e65e5f 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -386,19 +386,6 @@
                 </pluginExecution>
                 <pluginExecution>
                   <pluginExecutionFilter>
-                    <groupId>org.apache.asterix</groupId>
-                    <artifactId>asterix-evaluator-generator-maven-plugin</artifactId>
-                    <versionRange>[0.0,)</versionRange>
-                    <goals>
-                      <goal>generate-evaluator</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <ignore />
-                  </action>
-                </pluginExecution>
-                <pluginExecution>
-                  <pluginExecutionFilter>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-jar-plugin</artifactId>
                     <versionRange>[0.0,)</versionRange>

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Anon. E. Moose (Code Review)" <de...@asterixdb.apache.org>.
Anon. E. Moose (1000171) has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1: -Contrib

Analytics Compatibility Compilation Successful
https://cbjenkins.page.link/RRPYpR41vMPGAcqm6 : SUCCESS


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 17:47:32 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-openjdk11/1143/ (16/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:45:21 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-spidersilk-tests/715/ (8/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:35 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/5755/ (8/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:20 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-txnlog/954/ (6/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:19 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/6357/ (2/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:31 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/11267/ (7/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:20 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/5998/ (15/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:32 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1: Contrib+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/4408/ : SUCCESS


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:57:07 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/9733/ (4/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:32 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/11266/ (12/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Comment-Date: Tue, 14 May 2019 14:40:44 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/6148/ (9/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:21 +0000
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

Posted by "Jenkins (Code Review)" <de...@asterixdb.apache.org>.
Jenkins has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ssl-compression/557/ (14/16)


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb <hu...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Tue, 14 May 2019 20:23:31 +0000
Gerrit-HasComments: No