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")); } }
