Repository: calcite
Updated Branches:
  refs/heads/master 9ab47c000 -> b0ae502f1


[CALCITE-1959] Reduce the amount of metadata and tableName calls in Druid (Zain 
Humayun)

* Update javadocs
* Use correct create method in getTableMap


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

Branch: refs/heads/master
Commit: b0ae502f117b4b88eb0366077d6d7d55f1319023
Parents: 9ab47c0
Author: Zain Humayun <[email protected]>
Authored: Wed Aug 23 15:27:06 2017 -0700
Committer: Jesus Camacho Rodriguez <[email protected]>
Committed: Fri Aug 25 15:11:04 2017 -0700

----------------------------------------------------------------------
 .../calcite/adapter/druid/DruidSchema.java      |  2 +-
 .../calcite/adapter/druid/DruidTable.java       | 22 ++++++++++----------
 .../org/apache/calcite/test/DruidAdapterIT.java |  3 ++-
 3 files changed, 14 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/b0ae502f/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSchema.java
----------------------------------------------------------------------
diff --git 
a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSchema.java 
b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSchema.java
index 87717f2..c8b6419 100644
--- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSchema.java
+++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSchema.java
@@ -83,7 +83,7 @@ public class DruidSchema extends AbstractSchema {
 
                     return DruidTable.create(DruidSchema.this, tableName, null,
                             fieldMap, metricNameSet, 
DruidTable.DEFAULT_TIMESTAMP_COLUMN,
-                            connection, complexMetrics);
+                            complexMetrics);
                   }
                 }));
     }

http://git-wip-us.apache.org/repos/asf/calcite/blob/b0ae502f/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java
----------------------------------------------------------------------
diff --git 
a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java 
b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java
index 8cff818..ff1f3e8 100644
--- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java
+++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java
@@ -91,17 +91,17 @@ public class DruidTable extends AbstractTable implements 
TranslatableTable {
             : ImmutableMap.copyOf(allFields);
   }
 
-  /** Creates a {@link DruidTable}
+  /** Creates a {@link DruidTable} by using the given {@link 
DruidConnectionImpl}
+   * to populate the other parameters. The parameters may be partially 
populated.
    *
    * @param druidSchema Druid schema
    * @param dataSourceName Data source name in Druid, also table name
    * @param intervals Intervals, or null to use default
-   * @param fieldMap Mutable map of fields (dimensions plus metrics);
-   *        may be partially populated already
-   * @param metricNameSet Mutable set of metric names;
-   *        may be partially populated already
+   * @param fieldMap Partially populated map of fields (dimensions plus 
metrics)
+   * @param metricNameSet Partially populated set of metric names
    * @param timestampColumnName Name of timestamp column, or null
-   * @param connection connection used to find column definitions. Must be 
non-null.
+   * @param connection Connection used to find column definitions; Must be 
non-null
+   * @param complexMetrics List of complex metrics in Druid (thetaSketch, 
hyperUnique)
    *
    * @return A table
    */
@@ -118,16 +118,16 @@ public class DruidTable extends AbstractTable implements 
TranslatableTable {
             metricNameSet, timestampColumnName, complexMetrics);
   }
 
-  /** Creates a {@link DruidTable}
+  /** Creates a {@link DruidTable} by copying the given parameters.
    *
    * @param druidSchema Druid schema
    * @param dataSourceName Data source name in Druid, also table name
    * @param intervals Intervals, or null to use default
-   * @param fieldMap Mutable map of fields (dimensions plus metrics);
-   *        may be partially populated already
-   * @param metricNameSet Mutable set of metric names;
-   *        may be partially populated already
+   * @param fieldMap Fully populated map of fields (dimensions plus metrics)
+   * @param metricNameSet Fully populated set of metric names
    * @param timestampColumnName Name of timestamp column, or null
+   * @param complexMetrics List of complex metrics in Druid (thetaSketch, 
hyperUnique)
+   *
    * @return A table
    */
   static Table create(DruidSchema druidSchema, String dataSourceName,

http://git-wip-us.apache.org/repos/asf/calcite/blob/b0ae502f/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java
----------------------------------------------------------------------
diff --git a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java 
b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java
index bd4ff19..e88aaed 100644
--- a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java
+++ b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java
@@ -48,6 +48,7 @@ import java.util.List;
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
@@ -3191,7 +3192,7 @@ public class DruidAdapterIT {
    * */
   @Test public void testTableMapReused() {
     AbstractSchema schema = new DruidSchema("http://localhost:8082";, 
"http://localhost:8081";, true);
-    assert schema.getTable("wikiticker") == schema.getTable("wikiticker");
+    assertSame(schema.getTable("wikiticker"), schema.getTable("wikiticker"));
   }
 }
 

Reply via email to