[CALCITE-1333] JdbcAggregate should check SqlKind instead SqlAggFunction (Minji Kim)
diff --git a/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java b/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java
index a1a786d..03c36c1 100644
--- a/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java
+++ b/core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRules.java
@@ -69,7 +69,7 @@
 import org.apache.calcite.schema.ModifiableTable;
 import org.apache.calcite.sql.SqlAggFunction;
 import org.apache.calcite.sql.SqlDialect;
-import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.sql.SqlKind;
 import org.apache.calcite.util.ImmutableBitSet;
 import org.apache.calcite.util.Util;
 import org.apache.calcite.util.trace.CalciteTrace;
@@ -109,18 +109,18 @@
         new JdbcValuesRule(out));
   }
 
-  static final ImmutableList<SqlAggFunction> AGG_FUNCS;
-  static final ImmutableList<SqlAggFunction> MYSQL_AGG_FUNCS;
+  static final ImmutableList<SqlKind> AGG_FUNCS;
+  static final ImmutableList<SqlKind> MYSQL_AGG_FUNCS;
 
   static {
-    ImmutableList.Builder<SqlAggFunction> builder = ImmutableList.builder();
-    builder.add(SqlStdOperatorTable.COUNT);
-    builder.add(SqlStdOperatorTable.SUM);
-    builder.add(SqlStdOperatorTable.SUM0);
-    builder.add(SqlStdOperatorTable.MIN);
-    builder.add(SqlStdOperatorTable.MAX);
+    ImmutableList.Builder<SqlKind> builder = ImmutableList.builder();
+    builder.add(SqlKind.COUNT);
+    builder.add(SqlKind.SUM);
+    builder.add(SqlKind.SUM0);
+    builder.add(SqlKind.MIN);
+    builder.add(SqlKind.MAX);
     AGG_FUNCS = builder.build();
-    builder.add(SqlStdOperatorTable.SINGLE_VALUE);
+    builder.add(SqlKind.SINGLE_VALUE);
     MYSQL_AGG_FUNCS = builder.build();
   }
 
@@ -476,13 +476,12 @@
 
   /** Returns whether this JDBC data source can implement a given aggregate
    * function. */
-  private static boolean canImplement(SqlAggFunction aggregation,
-      SqlDialect sqlDialect) {
+  private static boolean canImplement(SqlAggFunction aggregation, SqlDialect sqlDialect) {
     switch (sqlDialect.getDatabaseProduct()) {
     case MYSQL:
-      return MYSQL_AGG_FUNCS.contains(aggregation);
+      return MYSQL_AGG_FUNCS.contains(aggregation.getKind());
     default:
-      return AGG_FUNCS.contains(aggregation);
+      return AGG_FUNCS.contains(aggregation.getKind());
     }
   }