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 2016/06/15 20:29:07 UTC

calcite git commit: [CALCITE-1292] Druid metadata query is very slow (Michael Spector)

Repository: calcite
Updated Branches:
  refs/heads/master 94051eaed -> eb291b029


[CALCITE-1292] Druid metadata query is very slow (Michael Spector)

Only ask for what's really needed in segmentMetadata query.

Close apache/calcite#249


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/eb291b02
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/eb291b02
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/eb291b02

Branch: refs/heads/master
Commit: eb291b029eef17b36362fa042c21f54b57a278af
Parents: 94051ea
Author: Michael Spector <mi...@appsflyer.com>
Authored: Wed Jun 15 09:18:02 2016 +0300
Committer: Julian Hyde <jh...@apache.org>
Committed: Wed Jun 15 09:50:11 2016 -0700

----------------------------------------------------------------------
 .../calcite/adapter/druid/DruidConnectionImpl.java       | 11 ++++++++++-
 .../org/apache/calcite/adapter/druid/DruidQuery.java     |  4 ++++
 2 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/eb291b02/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
----------------------------------------------------------------------
diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
index 7520d70..02069df 100644
--- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
+++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
@@ -519,7 +519,16 @@ class DruidConnectionImpl implements DruidConnection {
     public String fieldName;
 
     SqlTypeName sqlType() {
-      return JsonColumn.sqlType(type);
+      if (type.startsWith("long")) {
+        return SqlTypeName.BIGINT;
+      }
+      if (type.startsWith("double")) {
+        return SqlTypeName.DOUBLE;
+      }
+      if (type.equals("hyperUnique")) {
+        return SqlTypeName.VARBINARY;
+      }
+      throw new AssertionError("unknown type " + type);
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/calcite/blob/eb291b02/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java
----------------------------------------------------------------------
diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java
index a3fdf78..6960b39 100644
--- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java
+++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java
@@ -530,6 +530,10 @@ public class DruidQuery extends AbstractRelNode implements BindableRel {
       generator.writeStartObject();
       generator.writeStringField("queryType", "segmentMetadata");
       generator.writeStringField("dataSource", dataSourceName);
+      generator.writeBooleanField("merge", true);
+      generator.writeArrayFieldStart("analysisTypes");
+      generator.writeString("aggregators");
+      generator.writeEndArray();
       writeFieldIf(generator, "intervals", intervals);
       generator.writeEndObject();
       generator.close();