You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2014/11/14 22:32:38 UTC

[30/58] [abbrv] [partial] incubator-calcite git commit: [CALCITE-306] Standardize code style for "import package.*; "

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/rules/package-info.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/package-info.java b/core/src/main/java/org/apache/calcite/rel/rules/package-info.java
index b6f07af..47ef478 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/package-info.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/package-info.java
@@ -16,21 +16,37 @@
  */
 
 /**
- * Defines relational expressions.<p>&nbsp;</p>
+ * Provides a core set of planner rules.
+ *
+ * <p>Consider this package to be the "standard library" of planner rules.
+ * Most of the common rewrites that you would want to perform on logical
+ * relational expressions, or generically on any data source, are present,
+ * and have been well tested.
+ *
+ * <p>Of course, the library is never complete, and contributions are welcome.
+ *
+ * <p>Not present are rules specific to a particular data source: look in that
+ * data source's adapter.
+ *
+ * <p>Also out of the scope of this package are rules that support a particular
+ * operation, such as decorrelation or recognizing materialized views. Those are
+ * defined along with the algorithm.
+ *
+ * <p>For
  *
  * <h2>Related packages and classes</h2>
  * <ul>
  *    <li>Package<code> <a href="../sql/package-summary.html">
- *        org.eigenbase.sql</a></code>
+ *        org.apache.calcite.sql</a></code>
  *        is an object model for SQL expressions</li>
- *    <li>Package<code> <a href="../sql/package-summary.html">
- *        org.eigenbase.rex</a></code>
+ *    <li>Package<code> <a href="../rex/package-summary.html">
+ *        org.apache.calcite.rex</a></code>
  *        is an object model for relational row expressions</li>
- *    <li>Package<code> <a href="../relopt/package-summary.html">
- *        org.eigenbase.relopt</a></code>
+ *    <li>Package<code> <a href="../plan/package-summary.html">
+ *        org.apache.calcite.plan</a></code>
  *        provides an optimizer interface.</li>
  * </ul>
  */
-package org.eigenbase.rel.rules;
+package org.apache.calcite.rel.rules;
 
 // End package-info.java

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelCrossType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelCrossType.java b/core/src/main/java/org/apache/calcite/rel/type/RelCrossType.java
index 4418d43..d361b7b 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelCrossType.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelCrossType.java
@@ -14,19 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import java.util.List;
-
-import net.hydromatic.linq4j.Ord;
+import org.apache.calcite.linq4j.Ord;
 
 import com.google.common.collect.ImmutableList;
 
+import java.util.List;
+
 /**
  * Type of the cartesian product of two or more sets of records.
  *
- * <p>Its fields are those of its constituent records, but unlike a {@link
- * RelRecordType}, those fields' names are not necessarily distinct.</p>
+ * <p>Its fields are those of its constituent records, but unlike a
+ * {@link RelRecordType}, those fields' names are not necessarily distinct.</p>
  */
 public class RelCrossType extends RelDataTypeImpl {
   //~ Instance fields --------------------------------------------------------
@@ -54,13 +54,11 @@ public class RelCrossType extends RelDataTypeImpl {
 
   //~ Methods ----------------------------------------------------------------
 
-  @Override
-  public boolean isStruct() {
+  @Override public boolean isStruct() {
     return false;
   }
 
-  @Override
-  public List<RelDataTypeField> getFieldList() {
+  @Override public List<RelDataTypeField> getFieldList() {
     return fieldList;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataType.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataType.java
index a470296..f378d48 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataType.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataType.java
@@ -14,13 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import java.nio.charset.*;
-import java.util.*;
+import org.apache.calcite.sql.SqlCollation;
+import org.apache.calcite.sql.SqlIdentifier;
+import org.apache.calcite.sql.SqlIntervalQualifier;
+import org.apache.calcite.sql.type.SqlTypeName;
 
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.type.*;
+import java.nio.charset.Charset;
+import java.util.List;
 
 /**
  * RelDataType represents the type of a scalar expression or entire row returned
@@ -179,9 +181,9 @@ public interface RelDataType /*extends Type*/ {
 
   /**
    * Gets the {@link SqlIdentifier} associated with this type. For a
-   * predefined type, this is a simple identifier based on {@link
-   * #getSqlTypeName}. For a user-defined type, this is a compound identifier
-   * which uniquely names the type.
+   * predefined type, this is a simple identifier based on
+   * {@link #getSqlTypeName}. For a user-defined type, this is a compound
+   * identifier which uniquely names the type.
    *
    * @return SqlIdentifier, or null if this is not an SQL type
    */

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeComparability.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeComparability.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeComparability.java
index 3246cb0..7dbabbb 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeComparability.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeComparability.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import org.eigenbase.util.*;
+import org.apache.calcite.util.Util;
 
 /**
  * RelDataTypeComparability is an enumeration of the categories of comparison

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactory.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactory.java
index 0d9fd06..16520a7 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactory.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactory.java
@@ -14,14 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import java.nio.charset.*;
+import org.apache.calcite.sql.SqlCollation;
+import org.apache.calcite.sql.SqlIntervalQualifier;
+import org.apache.calcite.sql.type.SqlTypeName;
 
-import java.util.*;
-
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.type.*;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 /**
  * RelDataTypeFactory is a factory for datatype descriptors. It defines methods
@@ -30,7 +32,7 @@ import org.eigenbase.sql.type.*;
  * SQL 2003 is implementation defined or impractical.
  *
  * <p>This interface is an example of the
- * {@link org.eigenbase.util.Glossary#ABSTRACT_FACTORY_PATTERN abstract factory pattern}.
+ * {@link org.apache.calcite.util.Glossary#ABSTRACT_FACTORY_PATTERN abstract factory pattern}.
  * Any implementation of <code>RelDataTypeFactory</code> must ensure that type
  * objects are canonical: two types are equal if and only if they are
  * represented by the same Java object. This reduces memory consumption and
@@ -276,7 +278,7 @@ public interface RelDataTypeFactory {
 
   /**
    * Creates a
-   * {@link org.eigenbase.reltype.RelDataTypeFactory.FieldInfoBuilder}.
+   * {@link org.apache.calcite.rel.type.RelDataTypeFactory.FieldInfoBuilder}.
    */
   FieldInfoBuilder builder();
 
@@ -351,7 +353,7 @@ public interface RelDataTypeFactory {
 
     /**
      * Adds a field with a type created using
-     * {@link org.eigenbase.reltype.RelDataTypeFactory#createSqlType(org.eigenbase.sql.type.SqlTypeName)}.
+     * {@link org.apache.calcite.rel.type.RelDataTypeFactory#createSqlType(org.apache.calcite.sql.type.SqlTypeName)}.
      */
     public FieldInfoBuilder add(String name, SqlTypeName typeName) {
       add(name, typeFactory.createSqlType(typeName));
@@ -360,7 +362,7 @@ public interface RelDataTypeFactory {
 
     /**
      * Adds a field with a type created using
-     * {@link org.eigenbase.reltype.RelDataTypeFactory#createSqlType(org.eigenbase.sql.type.SqlTypeName, int)}.
+     * {@link org.apache.calcite.rel.type.RelDataTypeFactory#createSqlType(org.apache.calcite.sql.type.SqlTypeName, int)}.
      */
     public FieldInfoBuilder add(
         String name, SqlTypeName typeName, int precision) {
@@ -370,7 +372,7 @@ public interface RelDataTypeFactory {
 
     /**
      * Adds a field with a type created using
-     * {@link org.eigenbase.reltype.RelDataTypeFactory#createSqlType(org.eigenbase.sql.type.SqlTypeName, int, int)}.
+     * {@link org.apache.calcite.rel.type.RelDataTypeFactory#createSqlType(org.apache.calcite.sql.type.SqlTypeName, int, int)}.
      */
     public FieldInfoBuilder add(
         String name, SqlTypeName typeName, int precision, int scale) {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java
index 541bd83..06ec977 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java
@@ -14,24 +14,35 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
-
-import java.lang.reflect.*;
-import java.nio.charset.*;
-import java.sql.*;
-import java.util.*;
-
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.type.*;
-import org.eigenbase.util.*;
-
-import net.hydromatic.linq4j.expressions.Primitive;
+package org.apache.calcite.rel.type;
+
+import org.apache.calcite.linq4j.tree.Primitive;
+import org.apache.calcite.sql.SqlCollation;
+import org.apache.calcite.sql.type.JavaToSqlTypeConversionRules;
+import org.apache.calcite.sql.type.SqlTypeFamily;
+import org.apache.calcite.sql.type.SqlTypeName;
+import org.apache.calcite.sql.type.SqlTypeUtil;
+import org.apache.calcite.util.Bug;
+import org.apache.calcite.util.Pair;
+import org.apache.calcite.util.Util;
 
 import com.google.common.base.Preconditions;
-import com.google.common.cache.*;
+import com.google.common.cache.CacheBuilder;
+import com.google.common.cache.CacheLoader;
+import com.google.common.cache.LoadingCache;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.nio.charset.Charset;
+import java.sql.Time;
+import java.sql.Timestamp;
+import java.util.AbstractList;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Abstract base for implementations of {@link RelDataTypeFactory}.
  */
@@ -46,8 +57,7 @@ public abstract class RelDataTypeFactoryImpl implements RelDataTypeFactory {
           .softValues()
           .build(
               new CacheLoader<Object, RelDataType>() {
-                @Override
-                public RelDataType load(Object key) {
+                @Override public RelDataType load(Object key) {
                   if (key instanceof RelDataType) {
                     return (RelDataType) key;
                   }
@@ -147,24 +157,20 @@ public abstract class RelDataTypeFactoryImpl implements RelDataTypeFactory {
       final RelDataTypeFactory.FieldInfo fieldInfo) {
     return canonize(
         new AbstractList<String>() {
-          @Override
-          public String get(int index) {
+          @Override public String get(int index) {
             return fieldInfo.getFieldName(index);
           }
 
-          @Override
-          public int size() {
+          @Override public int size() {
             return fieldInfo.getFieldCount();
           }
         },
         new AbstractList<RelDataType>() {
-          @Override
-          public RelDataType get(int index) {
+          @Override public RelDataType get(int index) {
             return fieldInfo.getFieldType(index);
           }
 
-          @Override
-          public int size() {
+          @Override public int size() {
             return fieldInfo.getFieldCount();
           }
         });
@@ -613,8 +619,7 @@ public abstract class RelDataTypeFactoryImpl implements RelDataTypeFactory {
       return nullable;
     }
 
-    @Override
-    public RelDataTypeFamily getFamily() {
+    @Override public RelDataTypeFamily getFamily() {
       RelDataTypeFamily family = CLASS_FAMILIES.get(clazz);
       return family != null ? family : this;
     }

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFamily.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFamily.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFamily.java
index e69544d..54a3da0 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFamily.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFamily.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
 /**
  * RelDataTypeFamily represents a family of related types. The specific criteria

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeField.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeField.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeField.java
index c776c9f..2094d48 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeField.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeField.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
 import java.util.Map;
 
 /**
- * RelDataTypeField represents the definition of a field in a structured {@link
- * RelDataType}.
+ * RelDataTypeField represents the definition of a field in a structured
+ * {@link RelDataType}.
  *
  * <p>Extends the {@link java.util.Map.Entry} interface to allow convenient
  * inter-operation with Java collections classes. In any implementation of this

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFieldImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFieldImpl.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFieldImpl.java
index 7ac2775..59eea0c 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFieldImpl.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFieldImpl.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import java.io.*;
+import java.io.Serializable;
 
 /**
  * Default implementation of {@link RelDataTypeField}.
@@ -46,15 +46,13 @@ public class RelDataTypeFieldImpl implements RelDataTypeField, Serializable {
 
   //~ Methods ----------------------------------------------------------------
 
-  @Override
-  public int hashCode() {
+  @Override public int hashCode() {
     return index
         ^ name.hashCode()
         ^ type.hashCode();
   }
 
-  @Override
-  public boolean equals(Object obj) {
+  @Override public boolean equals(Object obj) {
     if (this == obj) {
       return true;
     }

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeImpl.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeImpl.java
index 688666a..d917667 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeImpl.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeImpl.java
@@ -14,21 +14,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import java.io.*;
-import java.nio.charset.*;
-import java.util.*;
-
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.parser.*;
-import org.eigenbase.sql.type.*;
-import org.eigenbase.util.Pair;
-import org.eigenbase.util.Util;
+import org.apache.calcite.sql.SqlCollation;
+import org.apache.calcite.sql.SqlIdentifier;
+import org.apache.calcite.sql.SqlIntervalQualifier;
+import org.apache.calcite.sql.parser.SqlParserPos;
+import org.apache.calcite.sql.type.BasicSqlType;
+import org.apache.calcite.sql.type.SqlTypeName;
+import org.apache.calcite.util.Pair;
+import org.apache.calcite.util.Util;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 
+import java.io.Serializable;
+import java.nio.charset.Charset;
+import java.util.List;
+
 /**
  * RelDataTypeImpl is an abstract base for implementations of
  * {@link RelDataType}.
@@ -60,8 +63,8 @@ public abstract class RelDataTypeImpl
   }
 
   /**
-   * Default constructor, to allow derived classes such as {@link
-   * BasicSqlType} to be {@link Serializable}.
+   * Default constructor, to allow derived classes such as
+   * {@link BasicSqlType} to be {@link Serializable}.
    *
    * <p>(The serialization specification says that a class can be serializable
    * even if its base class is not serializable, provided that the base class
@@ -269,8 +272,8 @@ public abstract class RelDataTypeImpl
     };
   }
 
-  /** Returns a {@link org.eigenbase.reltype.RelProtoDataType} that will create
-   * a type {@code typeName}.
+  /** Returns a {@link org.apache.calcite.rel.type.RelProtoDataType}
+   * that will create a type {@code typeName}.
    *
    * <p>For example, {@code proto(SqlTypeName.DATE), false}
    * will create {@code DATE NOT NULL}.</p>
@@ -290,8 +293,8 @@ public abstract class RelDataTypeImpl
     };
   }
 
-  /** Returns a {@link org.eigenbase.reltype.RelProtoDataType} that will create
-   * a type {@code typeName(precision)}.
+  /** Returns a {@link org.apache.calcite.rel.type.RelProtoDataType}
+   * that will create a type {@code typeName(precision)}.
    *
    * <p>For example, {@code proto(SqlTypeName.VARCHAR, 100, false)}
    * will create {@code VARCHAR(100) NOT NULL}.</p>
@@ -312,8 +315,8 @@ public abstract class RelDataTypeImpl
     };
   }
 
-  /** Returns a {@link org.eigenbase.reltype.RelProtoDataType} that will create
-   * a type {@code typeName(precision, scale)}.
+  /** Returns a {@link org.apache.calcite.rel.type.RelProtoDataType}
+   * that will create a type {@code typeName(precision, scale)}.
    *
    * <p>For example, {@code proto(SqlTypeName.DECIMAL, 7, 2, false)}
    * will create {@code DECIMAL(7, 2) NOT NULL}.</p>

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypePrecedenceList.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypePrecedenceList.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypePrecedenceList.java
index 8d1f006..e2ecea1 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypePrecedenceList.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypePrecedenceList.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
 /**
  * RelDataTypePrecedenceList defines a type precedence list for a particular

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystem.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystem.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystem.java
index e72722f..737a644 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystem.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystem.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import org.eigenbase.sql.type.SqlTypeName;
+import org.apache.calcite.sql.type.SqlTypeName;
 
 /**
  * Type system.
@@ -57,4 +57,4 @@ public interface RelDataTypeSystem {
   int getMaxNumericPrecision();
 }
 
-// End RelDataTypeFactory.java
+// End RelDataTypeSystem.java

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystemImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystemImpl.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystemImpl.java
index 0f5ff54..ea639c0 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystemImpl.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeSystemImpl.java
@@ -14,11 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import org.eigenbase.sql.type.SqlTypeName;
+import org.apache.calcite.sql.type.SqlTypeName;
 
-/** Default implementation of {@link org.eigenbase.reltype.RelDataTypeSystem},
+/** Default implementation of
+ * {@link org.apache.calcite.rel.type.RelDataTypeSystem},
  * providing parameters from the SQL standard.
  *
  * <p>To implement other type systems, create a derived class and override

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelProtoDataType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelProtoDataType.java b/core/src/main/java/org/apache/calcite/rel/type/RelProtoDataType.java
index 2086ce3..ed518b6 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelProtoDataType.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelProtoDataType.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import net.hydromatic.linq4j.function.Function1;
+import org.apache.calcite.linq4j.function.Function1;
 
 /**
  * Can be converted into a {@link RelDataType} given a
- * {@link org.eigenbase.reltype.RelDataTypeFactory}.
+ * {@link org.apache.calcite.rel.type.RelDataTypeFactory}.
  *
- * @see org.eigenbase.reltype.RelDataTypeImpl#proto
+ * @see org.apache.calcite.rel.type.RelDataTypeImpl#proto
  */
 public interface RelProtoDataType
     extends Function1<RelDataTypeFactory, RelDataType> {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/RelRecordType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelRecordType.java b/core/src/main/java/org/apache/calcite/rel/type/RelRecordType.java
index 48c937e..8d09cf4 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/RelRecordType.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/RelRecordType.java
@@ -14,14 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
-import java.io.*;
-import java.util.List;
-
-import org.eigenbase.sql.type.*;
+import org.apache.calcite.linq4j.Ord;
+import org.apache.calcite.sql.type.SqlTypeName;
 
-import net.hydromatic.linq4j.Ord;
+import java.io.Serializable;
+import java.util.List;
 
 /**
  * RelRecordType represents a structured type having named fields.
@@ -89,9 +88,9 @@ public class RelRecordType extends RelDataTypeImpl implements Serializable {
   //~ Inner Classes ----------------------------------------------------------
 
   /**
-   * Skinny object which has the same information content as a {@link
-   * RelRecordType} but skips redundant stuff like digest and the immutable
-   * list.
+   * Skinny object which has the same information content as a
+   * {@link RelRecordType} but skips redundant stuff like digest and the
+   * immutable list.
    */
   private static class SerializableRelRecordType implements Serializable {
     private List<RelDataTypeField> fields;
@@ -101,8 +100,8 @@ public class RelRecordType extends RelDataTypeImpl implements Serializable {
     }
 
     /**
-     * Per {@link Serializable} API. See {@link
-     * RelRecordType#writeReplace()}.
+     * Per {@link Serializable} API. See
+     * {@link RelRecordType#writeReplace()}.
      */
     private Object readResolve() {
       return new RelRecordType(fields);

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rel/type/package-info.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/type/package-info.java b/core/src/main/java/org/apache/calcite/rel/type/package-info.java
index 0eaad70..7c2e251 100644
--- a/core/src/main/java/org/apache/calcite/rel/type/package-info.java
+++ b/core/src/main/java/org/apache/calcite/rel/type/package-info.java
@@ -18,6 +18,6 @@
 /**
  * Defines a type system for relational expressions.
  */
-package org.eigenbase.reltype;
+package org.apache.calcite.rel.type;
 
 // End package-info.java

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexAction.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexAction.java b/core/src/main/java/org/apache/calcite/rex/RexAction.java
index 53ab923..497d349 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexAction.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexAction.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
 /**
  * A <code>RexAction</code> is called when a {@link RexPattern} finds a match.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexBuilder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexBuilder.java b/core/src/main/java/org/apache/calcite/rex/RexBuilder.java
index 251af45..31c4eca 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexBuilder.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexBuilder.java
@@ -14,27 +14,45 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
-
-import java.math.*;
-import java.util.*;
-
-import org.eigenbase.rel.*;
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.SqlIntervalQualifier.TimeUnit;
-import org.eigenbase.sql.fun.*;
-import org.eigenbase.sql.type.*;
-import org.eigenbase.util.*;
-import org.eigenbase.util14.DateTimeUtil;
-
-import net.hydromatic.avatica.ByteString;
-
-import net.hydromatic.optiq.runtime.Spaces;
-import net.hydromatic.optiq.runtime.SqlFunctions;
+package org.apache.calcite.rex;
+
+import org.apache.calcite.avatica.ByteString;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.AggregateCall;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeFactory;
+import org.apache.calcite.rel.type.RelDataTypeField;
+import org.apache.calcite.runtime.Spaces;
+import org.apache.calcite.runtime.SqlFunctions;
+import org.apache.calcite.sql.SqlAggFunction;
+import org.apache.calcite.sql.SqlIntervalQualifier;
+import org.apache.calcite.sql.SqlIntervalQualifier.TimeUnit;
+import org.apache.calcite.sql.SqlKind;
+import org.apache.calcite.sql.SqlOperator;
+import org.apache.calcite.sql.SqlSpecialOperator;
+import org.apache.calcite.sql.SqlUtil;
+import org.apache.calcite.sql.fun.SqlCountAggFunction;
+import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.sql.type.ArraySqlType;
+import org.apache.calcite.sql.type.IntervalSqlType;
+import org.apache.calcite.sql.type.MapSqlType;
+import org.apache.calcite.sql.type.SqlTypeFamily;
+import org.apache.calcite.sql.type.SqlTypeName;
+import org.apache.calcite.sql.type.SqlTypeUtil;
+import org.apache.calcite.util.DateTimeUtil;
+import org.apache.calcite.util.NlsString;
+import org.apache.calcite.util.Pair;
+import org.apache.calcite.util.Util;
 
 import com.google.common.collect.ImmutableList;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Factory for row expressions.
  *
@@ -151,8 +169,7 @@ public class RexBuilder {
     final RelDataType type = expr.getType();
     final List<RelDataTypeField> fields = type.getFieldList();
     if ((i < 0) || (i >= fields.size())) {
-      throw Util.newInternal(
-          "Field ordinal " + i + " is invalid for "
+      throw Util.newInternal("Field ordinal " + i + " is invalid for "
           + " type '" + type + "'");
     }
     return makeFieldAccessInternal(expr, fields.get(i));
@@ -199,7 +216,7 @@ public class RexBuilder {
    * Creates a call with an array of arguments.
    *
    * <p>If you already know the return type of the call, then
-   * {@link #makeCall(org.eigenbase.reltype.RelDataType, org.eigenbase.sql.SqlOperator, java.util.List)}
+   * {@link #makeCall(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.sql.SqlOperator, java.util.List)}
    * is preferred.</p>
    */
   public RexNode makeCall(
@@ -752,9 +769,9 @@ public class RexBuilder {
 
   /**
    * Internal method to create a call to a literal. Code outside this package
-   * should call one of the type-specific methods such as {@link
-   * #makeDateLiteral(Calendar)}, {@link #makeLiteral(boolean)}, {@link
-   * #makeLiteral(String)}.
+   * should call one of the type-specific methods such as
+   * {@link #makeDateLiteral(Calendar)}, {@link #makeLiteral(boolean)},
+   * {@link #makeLiteral(String)}.
    *
    * @param o        Value of literal, must be appropriate for the type
    * @param type     Type of literal
@@ -1217,7 +1234,7 @@ public class RexBuilder {
   }
 
   /** Converts the type of a value to comply with
-   * {@link org.eigenbase.rex.RexLiteral#valueMatchesType}. */
+   * {@link org.apache.calcite.rex.RexLiteral#valueMatchesType}. */
   private static Object clean(Object o, RelDataType type) {
     if (o == null) {
       return null;

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexCall.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexCall.java b/core/src/main/java/org/apache/calcite/rex/RexCall.java
index accc069..0300f54 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexCall.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexCall.java
@@ -14,15 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.*;
-
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.*;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.sql.SqlKind;
+import org.apache.calcite.sql.SqlOperator;
+import org.apache.calcite.sql.SqlSyntax;
 
 import com.google.common.collect.ImmutableList;
 
+import java.util.List;
+
 /**
  * An expression formed by a call to an operator with zero or more expressions
  * as operands.
@@ -30,9 +32,9 @@ import com.google.common.collect.ImmutableList;
  * <p>Operators may be binary, unary, functions, special syntactic constructs
  * like <code>CASE ... WHEN ... END</code>, or even internally generated
  * constructs like implicit type conversions. The syntax of the operator is
- * really irrelevant, because row-expressions (unlike {@link
- * org.eigenbase.sql.SqlNode SQL expressions}) do not directly represent a piece
- * of source code.</p>
+ * really irrelevant, because row-expressions (unlike
+ * {@link org.apache.calcite.sql.SqlNode SQL expressions})
+ * do not directly represent a piece of source code.
  *
  * <p>It's not often necessary to sub-class this class. The smarts should be in
  * the operator, rather than the call. Any extra information about the call can
@@ -109,8 +111,7 @@ public class RexCall extends RexNode {
     return type;
   }
 
-  @Override
-  public boolean isAlwaysTrue() {
+  @Override public boolean isAlwaysTrue() {
     // "c IS NOT NULL" occurs when we expand EXISTS.
     // This reduction allows us to convert it to a semi-join.
     switch (getKind()) {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexCallBinding.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexCallBinding.java b/core/src/main/java/org/apache/calcite/rex/RexCallBinding.java
index 8e5de25..fc80c19 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexCallBinding.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexCallBinding.java
@@ -14,19 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.List;
-
-import org.eigenbase.reltype.*;
-import org.eigenbase.resource.Resources;
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.parser.*;
-import org.eigenbase.sql.validate.*;
-import org.eigenbase.util.*;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeFactory;
+import org.apache.calcite.runtime.CalciteException;
+import org.apache.calcite.runtime.Resources;
+import org.apache.calcite.sql.SqlOperator;
+import org.apache.calcite.sql.SqlOperatorBinding;
+import org.apache.calcite.sql.SqlUtil;
+import org.apache.calcite.sql.parser.SqlParserPos;
+import org.apache.calcite.sql.validate.SqlValidatorException;
 
 import com.google.common.collect.ImmutableList;
 
+import java.util.List;
+
 /**
  * <code>RexCallBinding</code> implements {@link SqlOperatorBinding} by
  * referring to an underlying collection of {@link RexNode} operands.
@@ -73,7 +76,7 @@ public class RexCallBinding extends SqlOperatorBinding {
     return operands.get(ordinal).getType();
   }
 
-  public EigenbaseException newError(
+  public CalciteException newError(
       Resources.ExInst<SqlValidatorException> e) {
     return SqlUtil.newContextException(SqlParserPos.ZERO, e);
   }

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexChecker.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexChecker.java b/core/src/main/java/org/apache/calcite/rex/RexChecker.java
index 70eca3b..77edc1f 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexChecker.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexChecker.java
@@ -14,12 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.*;
+import org.apache.calcite.plan.RelOptUtil;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeField;
 
-import org.eigenbase.relopt.*;
-import org.eigenbase.reltype.*;
+import java.util.List;
 
 /**
  * Visitor which checks the validity of a {@link RexNode} expression.
@@ -63,14 +64,15 @@ public class RexChecker extends RexVisitorImpl<Boolean> {
   /**
    * Creates a RexChecker with a given input row type.
    *
-   * <p>If <code>fail</code> is true, the checker will throw an {@link
-   * AssertionError} if an invalid node is found and assertions are enabled.
+   * <p>If <code>fail</code> is true, the checker will throw an
+   * {@link AssertionError} if an invalid node is found and assertions are
+   * enabled.
    *
    * <p>Otherwise, each method returns whether its part of the tree is valid.
    *
    * @param inputRowType Input row type
-   * @param fail         Whether to throw an {@link AssertionError} if an invalid node
-   *                     is detected
+   * @param fail Whether to throw an {@link AssertionError} if an
+   *                     invalid node is detected
    */
   public RexChecker(final RelDataType inputRowType, boolean fail) {
     this(RelOptUtil.getFieldTypeList(inputRowType), fail);
@@ -79,14 +81,15 @@ public class RexChecker extends RexVisitorImpl<Boolean> {
   /**
    * Creates a RexChecker with a given set of input fields.
    *
-   * <p>If <code>fail</code> is true, the checker will throw an {@link
-   * AssertionError} if an invalid node is found and assertions are enabled.
+   * <p>If <code>fail</code> is true, the checker will throw an
+   * {@link AssertionError} if an invalid node is found and assertions are
+   * enabled.
    *
    * <p>Otherwise, each method returns whether its part of the tree is valid.
    *
    * @param inputTypeList Input row type
-   * @param fail          Whether to throw an {@link AssertionError} if an invalid node
-   *                      is detected
+   * @param fail Whether to throw an {@link AssertionError} if an
+   *                      invalid node is detected
    */
   public RexChecker(List<RelDataType> inputTypeList, boolean fail) {
     super(true);

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexCopier.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexCopier.java b/core/src/main/java/org/apache/calcite/rex/RexCopier.java
index 4a52b1a..708a59a 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexCopier.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexCopier.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
 /**
  * Shuttle which creates a deep copy of a Rex expression.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexCorrelVariable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexCorrelVariable.java b/core/src/main/java/org/apache/calcite/rex/RexCorrelVariable.java
index 6a4fc69..ea1dade 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexCorrelVariable.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexCorrelVariable.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.SqlKind;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.sql.SqlKind;
 
 /**
  * Reference to the current row of a correlating relational expression.
@@ -41,8 +41,7 @@ public class RexCorrelVariable extends RexVariable {
     return visitor.visitCorrelVariable(this);
   }
 
-  @Override
-  public SqlKind getKind() {
+  @Override public SqlKind getKind() {
     return SqlKind.CORREL_VARIABLE;
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexDynamicParam.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexDynamicParam.java b/core/src/main/java/org/apache/calcite/rex/RexDynamicParam.java
index 5f45401..cd51cc9 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexDynamicParam.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexDynamicParam.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.SqlKind;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.sql.SqlKind;
 
 /**
  * Dynamic parameter reference in a row-expression.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexExecutable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexExecutable.java b/core/src/main/java/org/apache/calcite/rex/RexExecutable.java
index 8769228..64c7c99 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexExecutable.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexExecutable.java
@@ -14,7 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
+
+import org.apache.calcite.DataContext;
+import org.apache.calcite.linq4j.function.Function1;
+import org.apache.calcite.runtime.Hook;
+import org.apache.calcite.runtime.Utilities;
+import org.apache.calcite.util.Pair;
+
+import org.codehaus.commons.compiler.CompileException;
+import org.codehaus.janino.ClassBodyEvaluator;
+import org.codehaus.janino.Scanner;
 
 import java.io.IOException;
 import java.io.Serializable;
@@ -22,18 +32,6 @@ import java.io.StringReader;
 import java.util.Arrays;
 import java.util.List;
 
-import org.eigenbase.util.Pair;
-
-import net.hydromatic.linq4j.function.Function1;
-
-import net.hydromatic.optiq.DataContext;
-import net.hydromatic.optiq.runtime.Hook;
-import net.hydromatic.optiq.runtime.Utilities;
-
-import org.codehaus.commons.compiler.CompileException;
-import org.codehaus.janino.ClassBodyEvaluator;
-import org.codehaus.janino.Scanner;
-
 /**
  * Result of compiling code generated from a {@link RexNode} expression.
  */

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexExecutorImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexExecutorImpl.java b/core/src/main/java/org/apache/calcite/rex/RexExecutorImpl.java
index da34a55..c795c23 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexExecutorImpl.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexExecutorImpl.java
@@ -14,27 +14,31 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
+
+import org.apache.calcite.DataContext;
+import org.apache.calcite.adapter.enumerable.RexToLixTranslator;
+import org.apache.calcite.adapter.enumerable.RexToLixTranslator.InputGetter;
+import org.apache.calcite.adapter.java.JavaTypeFactory;
+import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
+import org.apache.calcite.linq4j.tree.BlockBuilder;
+import org.apache.calcite.linq4j.tree.Expression;
+import org.apache.calcite.linq4j.tree.Expressions;
+import org.apache.calcite.linq4j.tree.IndexExpression;
+import org.apache.calcite.linq4j.tree.MethodCallExpression;
+import org.apache.calcite.linq4j.tree.MethodDeclaration;
+import org.apache.calcite.linq4j.tree.ParameterExpression;
+import org.apache.calcite.plan.RelOptPlanner;
+import org.apache.calcite.prepare.CalcitePrepareImpl;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeFactory;
+import org.apache.calcite.util.BuiltInMethod;
+
+import com.google.common.collect.ImmutableList;
 
 import java.lang.reflect.Modifier;
 import java.lang.reflect.Type;
-import java.util.*;
-
-import org.eigenbase.relopt.RelOptPlanner;
-import org.eigenbase.reltype.RelDataType;
-import org.eigenbase.reltype.RelDataTypeFactory;
-
-import net.hydromatic.linq4j.expressions.*;
-
-import net.hydromatic.optiq.BuiltinMethod;
-import net.hydromatic.optiq.DataContext;
-import net.hydromatic.optiq.impl.java.JavaTypeFactory;
-import net.hydromatic.optiq.jdbc.JavaTypeFactoryImpl;
-import net.hydromatic.optiq.prepare.OptiqPrepareImpl;
-import net.hydromatic.optiq.rules.java.RexToLixTranslator;
-import net.hydromatic.optiq.rules.java.RexToLixTranslator.InputGetter;
-
-import com.google.common.collect.ImmutableList;
+import java.util.List;
 
 /**
 * Evaluates a {@link RexNode} expression.
@@ -79,10 +83,10 @@ public class RexExecutorImpl implements RelOptPlanner.Executor {
             Expressions.newArrayInit(Object[].class, expressions)));
     final MethodDeclaration methodDecl =
         Expressions.methodDecl(Modifier.PUBLIC, Object[].class,
-            BuiltinMethod.FUNCTION1_APPLY.method.getName(),
+            BuiltInMethod.FUNCTION1_APPLY.method.getName(),
             ImmutableList.of(root0_), blockBuilder.toBlock());
     String code = Expressions.toString(methodDecl);
-    if (OptiqPrepareImpl.DEBUG) {
+    if (CalcitePrepareImpl.DEBUG) {
       System.out.println(code);
     }
     return code;
@@ -124,9 +128,9 @@ public class RexExecutorImpl implements RelOptPlanner.Executor {
 
   /**
    * Implementation of
-   * {@link net.hydromatic.optiq.rules.java.RexToLixTranslator.InputGetter}
+   * {@link org.apache.calcite.adapter.enumerable.RexToLixTranslator.InputGetter}
    * that reads the values of input fields by calling
-   * <code>{@link net.hydromatic.optiq.DataContext#get}("inputRecord")</code>.
+   * <code>{@link org.apache.calcite.DataContext#get}("inputRecord")</code>.
    */
   private static class DataContextInputGetter implements InputGetter {
     private final RelDataTypeFactory typeFactory;
@@ -141,7 +145,7 @@ public class RexExecutorImpl implements RelOptPlanner.Executor {
     public Expression field(BlockBuilder list, int index, Type storageType) {
       MethodCallExpression recFromCtx = Expressions.call(
           DataContext.ROOT,
-          BuiltinMethod.DATA_CONTEXT_GET.method,
+          BuiltInMethod.DATA_CONTEXT_GET.method,
           Expressions.constant("inputRecord"));
       Expression recFromCtxCasted =
           RexToLixTranslator.convert(recFromCtx, Object[].class);

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexFieldAccess.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexFieldAccess.java b/core/src/main/java/org/apache/calcite/rex/RexFieldAccess.java
index 40869e2..09b9058 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexFieldAccess.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexFieldAccess.java
@@ -14,10 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.SqlKind;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeField;
+import org.apache.calcite.sql.SqlKind;
 
 /**
  * Access to a field of a row-expression.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexFieldCollation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexFieldCollation.java b/core/src/main/java/org/apache/calcite/rex/RexFieldCollation.java
index 1ed80f9..46c52d8 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexFieldCollation.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexFieldCollation.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.Set;
-
-import org.eigenbase.rel.RelFieldCollation;
-import org.eigenbase.sql.SqlKind;
-import org.eigenbase.util.Pair;
+import org.apache.calcite.rel.RelFieldCollation;
+import org.apache.calcite.sql.SqlKind;
+import org.apache.calcite.util.Pair;
 
 import com.google.common.collect.ImmutableSet;
 
+import java.util.Set;
+
 /**
  * Expression combined with sort flags (DESCENDING, NULLS LAST).
  */
@@ -32,8 +32,7 @@ public class RexFieldCollation extends Pair<RexNode, ImmutableSet<SqlKind>> {
     super(left, ImmutableSet.copyOf(right));
   }
 
-  @Override
-  public String toString() {
+  @Override public String toString() {
     String s = left.toString();
     for (SqlKind operator : right) {
       switch (operator) {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexInputRef.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexInputRef.java b/core/src/main/java/org/apache/calcite/rex/RexInputRef.java
index 9b57b93..edc38da 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexInputRef.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexInputRef.java
@@ -14,13 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.List;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeField;
+import org.apache.calcite.sql.SqlKind;
+import org.apache.calcite.util.Pair;
 
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.SqlKind;
-import org.eigenbase.util.Pair;
+import java.util.List;
 
 /**
  * Variable which references a field of an input relational expression.
@@ -93,8 +94,7 @@ public class RexInputRef extends RexSlot {
         field.getName());
   }
 
-  @Override
-  public SqlKind getKind() {
+  @Override public SqlKind getKind() {
     return SqlKind.INPUT_REF;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexLiteral.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexLiteral.java b/core/src/main/java/org/apache/calcite/rex/RexLiteral.java
index 286b9f2..d3dd1a1 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexLiteral.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexLiteral.java
@@ -14,23 +14,33 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
-
-import java.io.*;
-import java.math.*;
-import java.nio.*;
-import java.nio.charset.*;
-import java.util.*;
-
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.fun.*;
-import org.eigenbase.sql.parser.*;
-import org.eigenbase.sql.type.*;
-import org.eigenbase.util.*;
-import org.eigenbase.util14.*;
-
-import net.hydromatic.avatica.ByteString;
+package org.apache.calcite.rex;
+
+import org.apache.calcite.avatica.ByteString;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.sql.SqlCollation;
+import org.apache.calcite.sql.SqlKind;
+import org.apache.calcite.sql.SqlOperator;
+import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.sql.parser.SqlParserUtil;
+import org.apache.calcite.sql.type.SqlTypeName;
+import org.apache.calcite.util.ConversionUtil;
+import org.apache.calcite.util.DateTimeUtil;
+import org.apache.calcite.util.NlsString;
+import org.apache.calcite.util.SaffronProperties;
+import org.apache.calcite.util.Util;
+import org.apache.calcite.util.ZonelessDate;
+import org.apache.calcite.util.ZonelessDatetime;
+import org.apache.calcite.util.ZonelessTime;
+import org.apache.calcite.util.ZonelessTimestamp;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.math.BigDecimal;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.util.Calendar;
+import java.util.TimeZone;
 
 /**
  * Constant value in a row-expression.
@@ -121,8 +131,8 @@ public class RexLiteral extends RexNode {
 
   /**
    * The value of this literal. Must be consistent with its type, as per
-   * {@link #valueMatchesType}. For example, you can't store an {@link
-   * Integer} value here just because you feel like it -- all numbers are
+   * {@link #valueMatchesType}. For example, you can't store an
+   * {@link Integer} value here just because you feel like it -- all numbers are
    * represented by a {@link BigDecimal}. But since this field is private, it
    * doesn't really matter how the values are stored.
    */
@@ -139,9 +149,9 @@ public class RexLiteral extends RexNode {
   /**
    * An indication of the broad type of this literal -- even if its type isn't
    * a SQL type. Sometimes this will be different than the SQL type; for
-   * example, all exact numbers, including integers have typeName {@link
-   * SqlTypeName#DECIMAL}. See {@link #valueMatchesType} for the definitive
-   * story.
+   * example, all exact numbers, including integers have typeName
+   * {@link SqlTypeName#DECIMAL}. See {@link #valueMatchesType} for the
+   * definitive story.
    */
   private final SqlTypeName typeName;
 
@@ -440,7 +450,7 @@ public class RexLiteral extends RexNode {
       if (cal == null) {
         throw Util.newInternal(
             "fromJdbcString: invalid date/time value '"
-            + literal + "'");
+                + literal + "'");
       }
       return new RexLiteral(cal, type, typeName);
     case SYMBOL:
@@ -472,8 +482,7 @@ public class RexLiteral extends RexNode {
     return type;
   }
 
-  @Override
-  public SqlKind getKind() {
+  @Override public SqlKind getKind() {
     return SqlKind.LITERAL;
   }
 
@@ -552,7 +561,7 @@ public class RexLiteral extends RexNode {
   }
 
   public int hashCode() {
-    return Util.hashV(value, type);
+    return com.google.common.base.Objects.hashCode(value, type);
   }
 
   public static int intValue(RexNode node) {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexLocalRef.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexLocalRef.java b/core/src/main/java/org/apache/calcite/rex/RexLocalRef.java
index f251bcb..9d4d1cc 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexLocalRef.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexLocalRef.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.List;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.sql.SqlKind;
+import org.apache.calcite.util.Util;
 
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.SqlKind;
-import org.eigenbase.util.*;
+import java.util.List;
 
 /**
  * Local variable.
@@ -56,8 +56,7 @@ public class RexLocalRef extends RexSlot {
 
   //~ Methods ----------------------------------------------------------------
 
-  @Override
-  public SqlKind getKind() {
+  @Override public SqlKind getKind() {
     return SqlKind.LOCAL_REF;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexMultisetUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexMultisetUtil.java b/core/src/main/java/org/apache/calcite/rex/RexMultisetUtil.java
index 63f4449..34f4b5f 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexMultisetUtil.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexMultisetUtil.java
@@ -14,16 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.*;
-
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.fun.*;
-import org.eigenbase.sql.type.*;
+import org.apache.calcite.sql.SqlOperator;
+import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.sql.type.SqlTypeName;
 
 import com.google.common.collect.ImmutableSet;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * Utility class for various methods related to multisets.
  */

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexNode.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexNode.java b/core/src/main/java/org/apache/calcite/rex/RexNode.java
index 3d39216..897c06c 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexNode.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexNode.java
@@ -14,19 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.Collection;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.sql.SqlKind;
 
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.SqlKind;
+import java.util.Collection;
 
 /**
  * Row expression.
  *
- * <p>Every row-expression has a type. (Compare with {@link
- * org.eigenbase.sql.SqlNode}, which is created before validation, and therefore
- * types may not be available.)</p>
+ * <p>Every row-expression has a type.
+ * (Compare with {@link org.apache.calcite.sql.SqlNode}, which is created before
+ * validation, and therefore types may not be available.)
  *
  * <p>Some common row-expressions are: {@link RexLiteral} (constant value),
  * {@link RexVariable} (variable), {@link RexCall} (call to operator with
@@ -83,8 +83,8 @@ public abstract class RexNode {
   }
 
   /**
-   * Accepts a visitor, dispatching to the right overloaded {@link
-   * RexVisitor#visitInputRef visitXxx} method.
+   * Accepts a visitor, dispatching to the right overloaded
+   * {@link RexVisitor#visitInputRef visitXxx} method.
    *
    * <p>Also see {@link RexProgram#apply(RexVisitor, java.util.List, RexNode)},
    * which applies a visitor to several expressions simultaneously.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexOver.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexOver.java b/core/src/main/java/org/apache/calcite/rex/RexOver.java
index a45c218..babfacc 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexOver.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexOver.java
@@ -14,13 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.List;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.sql.SqlAggFunction;
+import org.apache.calcite.sql.SqlWindow;
+import org.apache.calcite.util.ControlFlowException;
+import org.apache.calcite.util.Util;
 
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.*;
-import org.eigenbase.util.*;
+import java.util.List;
 
 /**
  * Call to an aggregate function over a window.
@@ -41,7 +43,7 @@ public class RexOver extends RexCall {
    *
    * <ul>
    * <li>type = Integer,
-   * <li>op = {@link org.eigenbase.sql.fun.SqlStdOperatorTable#SUM},
+   * <li>op = {@link org.apache.calcite.sql.fun.SqlStdOperatorTable#SUM},
    * <li>operands = { {@link RexFieldAccess}("x") }
    * <li>window = {@link SqlWindow}(ROWS 3 PRECEDING)
    * </ul>
@@ -126,13 +128,13 @@ public class RexOver extends RexCall {
     }
   }
 
-  @Override
-  public RexCall clone(RelDataType type, List<RexNode> operands) {
+  @Override public RexCall clone(RelDataType type, List<RexNode> operands) {
     throw new UnsupportedOperationException();
   }
 
   //~ Inner Classes ----------------------------------------------------------
 
+  /** Exception thrown when an OVER is found. */
   private static class OverFound extends ControlFlowException {
     public static final OverFound INSTANCE = new OverFound();
   }

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexPattern.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexPattern.java b/core/src/main/java/org/apache/calcite/rex/RexPattern.java
index 8b7348f..5db7a26 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexPattern.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexPattern.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
 /**
  * A <code>RexPattern</code> represents an expression with holes in it. The

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexPermutationShuttle.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexPermutationShuttle.java b/core/src/main/java/org/apache/calcite/rex/RexPermutationShuttle.java
index f53424b..2af15ea 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexPermutationShuttle.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexPermutationShuttle.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import org.eigenbase.util.*;
+import org.apache.calcite.util.Permutation;
 
 /**
  * Visitor which replaces {@link RexLocalRef} objects after the expressions in a

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexPermuteInputsShuttle.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexPermuteInputsShuttle.java b/core/src/main/java/org/apache/calcite/rex/RexPermuteInputsShuttle.java
index f9d7b1e..1750477 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexPermuteInputsShuttle.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexPermuteInputsShuttle.java
@@ -14,21 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.List;
-
-import org.eigenbase.rel.RelNode;
-import org.eigenbase.reltype.RelDataTypeField;
-import org.eigenbase.util.mapping.Mappings;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.type.RelDataTypeField;
+import org.apache.calcite.util.mapping.Mappings;
 
 import com.google.common.collect.ImmutableList;
 
+import java.util.List;
+
 /**
  * Shuttle which applies a permutation to its input fields.
  *
  * @see RexPermutationShuttle
- * @see RexUtil#apply(org.eigenbase.util.mapping.Mappings.TargetMapping, RexNode)
+ * @see RexUtil#apply(org.apache.calcite.util.mapping.Mappings.TargetMapping, RexNode)
  */
 public class RexPermuteInputsShuttle extends RexShuttle {
   //~ Instance fields --------------------------------------------------------
@@ -43,7 +43,7 @@ public class RexPermuteInputsShuttle extends RexShuttle {
    *
    * <p>The mapping provides at most one target for every source. If a source
    * has no targets and is referenced in the expression,
-   * {@link org.eigenbase.util.mapping.Mappings.TargetMapping#getTarget(int)}
+   * {@link org.apache.calcite.util.mapping.Mappings.TargetMapping#getTarget(int)}
    * will give an error. Otherwise the mapping gives a unique target.
    *
    * @param mapping Mapping
@@ -80,8 +80,7 @@ public class RexPermuteInputsShuttle extends RexShuttle {
     return fields.build();
   }
 
-  @Override
-  public RexNode visitInputRef(RexInputRef local) {
+  @Override public RexNode visitInputRef(RexInputRef local) {
     final int index = local.getIndex();
     int target = mapping.getTarget(index);
     return new RexInputRef(
@@ -89,8 +88,7 @@ public class RexPermuteInputsShuttle extends RexShuttle {
         local.getType());
   }
 
-  @Override
-  public RexNode visitCall(RexCall call) {
+  @Override public RexNode visitCall(RexCall call) {
     if (call.getOperator() == RexBuilder.GET_OPERATOR) {
       final String name =
           (String) ((RexLiteral) call.getOperands().get(1)).getValue2();

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexProgram.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexProgram.java b/core/src/main/java/org/apache/calcite/rex/RexProgram.java
index aafe361..03f7540 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexProgram.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexProgram.java
@@ -14,23 +14,34 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.*;
-
-import org.eigenbase.rel.*;
-import org.eigenbase.relopt.*;
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.fun.SqlStdOperatorTable;
-import org.eigenbase.sql.type.*;
-import org.eigenbase.util.*;
+package org.apache.calcite.rex;
+
+import org.apache.calcite.plan.RelOptUtil;
+import org.apache.calcite.rel.RelCollation;
+import org.apache.calcite.rel.RelCollationImpl;
+import org.apache.calcite.rel.RelFieldCollation;
+import org.apache.calcite.rel.RelWriter;
+import org.apache.calcite.rel.externalize.RelWriterImpl;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeField;
+import org.apache.calcite.sql.SqlExplainLevel;
+import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.sql.type.SqlTypeUtil;
+import org.apache.calcite.util.Pair;
+import org.apache.calcite.util.Permutation;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.AbstractList;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+
 /**
  * A collection of expressions which read inputs, compute output expressions,
  * and optionally use a condition to filter rows.
@@ -251,11 +262,10 @@ public class RexProgram {
       SqlExplainLevel level) {
     final List<RelDataTypeField> inFields = inputRowType.getFieldList();
     final List<RelDataTypeField> outFields = outputRowType.getFieldList();
-    assert outFields.size() == projects.size() : "outFields.length="
-        + outFields.size()
+    assert outFields.size() == projects.size()
+        : "outFields.length=" + outFields.size()
         + ", projects.length=" + projects.size();
-    pw.item(
-        prefix + "expr#0"
+    pw.item(prefix + "expr#0"
             + ((inFields.size() > 1) ? (".." + (inFields.size() - 1)) : ""),
         "{inputs}");
     for (int i = inFields.size(); i < exprs.size(); i++) {
@@ -448,8 +458,7 @@ public class RexProgram {
                 return exprs.get(index).getType();
               }
 
-              @Override
-              public int size() {
+              @Override public int size() {
                 return exprs.size();
               }
               // CHECKSTYLE: IGNORE 1
@@ -485,7 +494,7 @@ public class RexProgram {
   /**
    * Returns whether an expression always evaluates to null.
    *
-   * <p>Like {@link RexUtil#isNull(RexNode)}, null literals are null, and                                                         |
+   * <p>Like {@link RexUtil#isNull(RexNode)}, null literals are null, and
    * casts of null literals are null. But this method also regards references
    * to null expressions as null.</p>
    *
@@ -601,7 +610,8 @@ public class RexProgram {
   public boolean projectsIdentity(final boolean fail) {
     final int fieldCount = inputRowType.getFieldCount();
     if (projects.size() < fieldCount) {
-      assert !fail : "program '" + toString()
+      assert !fail
+          : "program '" + toString()
           + "' does not project identity for input row type '"
           + inputRowType + "'";
       return false;
@@ -609,7 +619,8 @@ public class RexProgram {
     for (int i = 0; i < fieldCount; i++) {
       RexLocalRef project = projects.get(i);
       if (project.index != i) {
-        assert !fail : "program " + toString()
+        assert !fail
+            : "program " + toString()
             + "' does not project identity for input row type '"
             + inputRowType + "', field #" + i;
         return false;
@@ -849,8 +860,8 @@ public class RexProgram {
   }
 
   /**
-   * A RexShuttle used in the implementation of {@link
-   * RexProgram#expandLocalRef}.
+   * A RexShuttle used in the implementation of
+   * {@link RexProgram#expandLocalRef}.
    */
   private class ExpansionShuttle extends RexShuttle {
     public RexNode visitLocalRef(RexLocalRef localRef) {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexProgramBuilder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexProgramBuilder.java b/core/src/main/java/org/apache/calcite/rex/RexProgramBuilder.java
index 6567531..fa4233e 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexProgramBuilder.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexProgramBuilder.java
@@ -14,14 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.*;
+import org.apache.calcite.plan.RelOptUtil;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeField;
+import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.util.Pair;
+import org.apache.calcite.util.Util;
 
-import org.eigenbase.relopt.*;
-import org.eigenbase.reltype.*;
-import org.eigenbase.sql.fun.*;
-import org.eigenbase.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Workspace for constructing a {@link RexProgram}.
@@ -142,22 +147,19 @@ public class RexProgramBuilder {
             if (index < fields.size()) {
               final RelDataTypeField inputField = fields.get(index);
               if (input.getType() != inputField.getType()) {
-                throw Util.newInternal(
-                    "in expression " + expr
+                throw Util.newInternal("in expression " + expr
                     + ", field reference " + input
                     + " has inconsistent type");
               }
             } else {
               if (index >= fieldOrdinal) {
-                throw Util.newInternal(
-                    "in expression " + expr
+                throw Util.newInternal("in expression " + expr
                     + ", field reference " + input
                     + " is out of bounds");
               }
               RexNode refExpr = exprList.get(index);
               if (refExpr.getType() != input.getType()) {
-                throw Util.newInternal(
-                    "in expression " + expr
+                throw Util.newInternal("in expression " + expr
                     + ", field reference " + input
                     + " has inconsistent type");
               }
@@ -838,6 +840,8 @@ public class RexProgramBuilder {
 
   //~ Inner Classes ----------------------------------------------------------
 
+  /** Shuttle that visits a tree of {@link RexNode} and registers them
+   * in a program. */
   private abstract class RegisterShuttle extends RexShuttle {
     public RexNode visitCall(RexCall call) {
       final RexNode expr = super.visitCall(call);
@@ -888,8 +892,8 @@ public class RexProgramBuilder {
         // The expression should already be valid. Check that its
         // index is within bounds.
         if ((index < 0) || (index >= inputRowType.getFieldCount())) {
-          assert false : "RexInputRef index " + index
-              + " out of range 0.."
+          assert false
+              : "RexInputRef index " + index + " out of range 0.."
               + (inputRowType.getFieldCount() - 1);
         }
 
@@ -913,8 +917,8 @@ public class RexProgramBuilder {
         // The expression should already be valid.
         final int index = local.getIndex();
         assert index >= 0 : index;
-        assert index < exprList.size() : "index=" + index
-            + ", exprList=" + exprList;
+        assert index < exprList.size()
+            : "index=" + index + ", exprList=" + exprList;
         assert RelOptUtil.eq(
             "expr type",
             exprList.get(index).getType(),
@@ -930,8 +934,7 @@ public class RexProgramBuilder {
         if (expr instanceof RexLocalRef) {
           local = (RexLocalRef) expr;
           if (local.index >= index) {
-            throw Util.newInternal(
-                "expr " + local
+            throw Util.newInternal("expr " + local
                 + " references later expr " + local.index);
           }
         } else {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexRangeRef.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexRangeRef.java b/core/src/main/java/org/apache/calcite/rex/RexRangeRef.java
index 9ab0f79..bf2104c 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexRangeRef.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexRangeRef.java
@@ -14,17 +14,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import org.eigenbase.reltype.*;
+import org.apache.calcite.rel.type.RelDataType;
 
 /**
  * Reference to a range of columns.
  *
- * <p>This construct is used only during the process of translating a {@link
- * org.eigenbase.sql.SqlNode SQL} tree to a {@link org.eigenbase.rel.RelNode
- * rel}/{@link RexNode rex} tree. <em>Regular {@link RexNode rex} trees do not
- * contain this construct.</em></p>
+ * <p>This construct is used only during the process of translating a
+ * {@link org.apache.calcite.sql.SqlNode SQL} tree to a
+ * {@link org.apache.calcite.rel.RelNode rel}/{@link RexNode rex}
+ * tree. <em>Regular {@link RexNode rex} trees do not contain this
+ * construct.</em></p>
  *
  * <p>While translating a join of EMP(EMPNO, ENAME, DEPTNO) to DEPT(DEPTNO2,
  * DNAME) we create <code>RexRangeRef(DeptType,3)</code> to represent the pair
@@ -33,7 +34,7 @@ import org.eigenbase.reltype.*;
  *
  * <p>Suppose we later create a reference to the DNAME field of this
  * RexRangeRef; it will return a <code>{@link RexInputRef}(5,Integer)</code>,
- * and the {@link org.eigenbase.rex.RexRangeRef} will disappear.</p>
+ * and the {@link org.apache.calcite.rex.RexRangeRef} will disappear.</p>
  */
 public class RexRangeRef extends RexNode {
   //~ Instance fields --------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexShuttle.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexShuttle.java b/core/src/main/java/org/apache/calcite/rex/RexShuttle.java
index 9649b62..bd3ce46 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexShuttle.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexShuttle.java
@@ -14,19 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
-
-import java.util.*;
+package org.apache.calcite.rex;
 
 import com.google.common.collect.ImmutableList;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Passes over a row-expression, calling a handler method for each node,
  * appropriate to the type of the node.
  *
- * <p>Like {@link RexVisitor}, this is an instance of the {@link
- * org.eigenbase.util.Glossary#VISITOR_PATTERN Visitor Pattern}. Use <code>
- * RexShuttle</code> if you would like your methods to return a value.</p>
+ * <p>Like {@link RexVisitor}, this is an instance of the
+ * {@link org.apache.calcite.util.Glossary#VISITOR_PATTERN Visitor Pattern}. Use
+ * <code> RexShuttle</code> if you would like your methods to return a
+ * value.</p>
  */
 public class RexShuttle implements RexVisitor<RexNode> {
   //~ Methods ----------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexSlot.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexSlot.java b/core/src/main/java/org/apache/calcite/rex/RexSlot.java
index 11c0e62..5421f12 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexSlot.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexSlot.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
+
+import org.apache.calcite.rel.type.RelDataType;
 
 import java.util.AbstractList;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import org.eigenbase.reltype.*;
-
 /**
  * Abstract base class for {@link RexInputRef} and {@link RexLocalRef}.
  */
@@ -81,8 +81,7 @@ public abstract class RexSlot extends RexVariable {
       };
     }
 
-    @Override
-    public String get(int index) {
+    @Override public String get(int index) {
       for (;;) {
         try {
           return super.get(index);

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexSqlConvertlet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexSqlConvertlet.java b/core/src/main/java/org/apache/calcite/rex/RexSqlConvertlet.java
index 7107c00..2aca4ea 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexSqlConvertlet.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexSqlConvertlet.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import org.eigenbase.sql.*;
+import org.apache.calcite.sql.SqlNode;
 
 /**
  * Converts a {@link RexNode} expression into a {@link SqlNode} expression.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexSqlConvertletTable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexSqlConvertletTable.java b/core/src/main/java/org/apache/calcite/rex/RexSqlConvertletTable.java
index dbec59c..8f00b4f 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexSqlConvertletTable.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexSqlConvertletTable.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
 /**
  * Collection of {@link RexSqlConvertlet}s.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexSqlReflectiveConvertletTable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexSqlReflectiveConvertletTable.java b/core/src/main/java/org/apache/calcite/rex/RexSqlReflectiveConvertletTable.java
index 4619b98..596ebd5 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexSqlReflectiveConvertletTable.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexSqlReflectiveConvertletTable.java
@@ -14,11 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.*;
+import org.apache.calcite.sql.SqlOperator;
 
-import org.eigenbase.sql.*;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Implementation of {@link RexSqlConvertletTable}.
@@ -73,8 +74,8 @@ public class RexSqlReflectiveConvertletTable implements RexSqlConvertletTable {
   /**
    * Registers a convertlet for a given operator instance
    *
-   * @param op         Operator instance, say {@link
-   *                   org.eigenbase.sql.fun.SqlStdOperatorTable#MINUS}
+   * @param op         Operator instance, say
+   * {@link org.apache.calcite.sql.fun.SqlStdOperatorTable#MINUS}
    * @param convertlet Convertlet
    */
   protected void registerOp(SqlOperator op, RexSqlConvertlet convertlet) {

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexSqlStandardConvertletTable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexSqlStandardConvertletTable.java b/core/src/main/java/org/apache/calcite/rex/RexSqlStandardConvertletTable.java
index 704e933..0745995 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexSqlStandardConvertletTable.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexSqlStandardConvertletTable.java
@@ -14,14 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.*;
+import org.apache.calcite.sql.SqlBasicCall;
+import org.apache.calcite.sql.SqlCall;
+import org.apache.calcite.sql.SqlDataTypeSpec;
+import org.apache.calcite.sql.SqlNode;
+import org.apache.calcite.sql.SqlNodeList;
+import org.apache.calcite.sql.SqlOperator;
+import org.apache.calcite.sql.fun.SqlCaseOperator;
+import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.sql.parser.SqlParserPos;
+import org.apache.calcite.sql.type.SqlTypeUtil;
 
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.fun.*;
-import org.eigenbase.sql.parser.*;
-import org.eigenbase.sql.type.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * Standard implementation of {@link RexSqlConvertletTable}.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverter.java b/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverter.java
index 7f095b7..3e2a966 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverter.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverter.java
@@ -14,9 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import org.eigenbase.sql.*;
+import org.apache.calcite.sql.SqlIdentifier;
+import org.apache.calcite.sql.SqlLiteral;
+import org.apache.calcite.sql.SqlNode;
 
 /**
  * Converts expressions from {@link RexNode} to {@link SqlNode}.

http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/a0ba73cd/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverterImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverterImpl.java b/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverterImpl.java
index 65d91df..16b4203 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverterImpl.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexToSqlNodeConverterImpl.java
@@ -14,14 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.eigenbase.rex;
+package org.apache.calcite.rex;
 
-import java.util.*;
+import org.apache.calcite.sql.SqlLiteral;
+import org.apache.calcite.sql.SqlNode;
+import org.apache.calcite.sql.parser.SqlParserPos;
+import org.apache.calcite.sql.type.SqlTypeFamily;
+import org.apache.calcite.util.NlsString;
 
-import org.eigenbase.sql.*;
-import org.eigenbase.sql.parser.*;
-import org.eigenbase.sql.type.*;
-import org.eigenbase.util.*;
+import java.util.Calendar;
 
 /**
  * Standard implementation of {@link RexToSqlNodeConverter}.