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();