Till Westmann has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/3426
Change subject: [NO ISSUE][RT][COMP] Use more components to identify a
datasource
......................................................................
[NO ISSUE][RT][COMP] Use more components to identify a datasource
- user model changes: no
- storage format changes: no
- interface changes: additional constructor for DataSourceId
Change-Id: If371a6c7f8302ee7a83ddba0f1c6aeecdea4d5ef
---
M
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java
2 files changed, 23 insertions(+), 18 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/26/3426/1
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
index d0ff67e..cb7e357 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
@@ -36,7 +36,7 @@
public TPCDSDataGeneratorDatasource(INodeDomain domain, String tableName,
double scalingFactor)
throws AlgebricksException {
- super(createDataSourceId(tableName), domain);
+ super(createDataSourceId(tableName, scalingFactor), domain);
this.tableName = tableName;
this.scalingFactor = scalingFactor;
}
@@ -46,13 +46,15 @@
* DataSourceId. This eliminates the issue of creating a single function
even though multiple functions calls
* are happening with different parameters and the optimizer understands
them as a single function.
*
- * @param tableName table name to be added as part of the DataSourceId
- *
+ * @param tableName
+ * table name to be added as part of the DataSourceId
+ * @param scalingFactor
+ * scaling factor to be added as part of the DataSourceId
* @return A DataSourceId that's based on the function details and its
parameters
*/
- private static DataSourceId createDataSourceId(String tableName) {
+ private static DataSourceId createDataSourceId(String tableName, double
scalingFactor) {
return new
DataSourceId(TPCDSDataGeneratorRewriter.TPCDS_DATA_GENERATOR.getNamespace(),
- TPCDSDataGeneratorRewriter.TPCDS_DATA_GENERATOR.getName() +
"." + tableName);
+ TPCDSDataGeneratorRewriter.TPCDS_DATA_GENERATOR.getName(),
tableName, Double.toString(scalingFactor));
}
@Override
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java
index c96fcd1..8c4c63b 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java
@@ -19,43 +19,46 @@
package org.apache.asterix.metadata.declared;
-import java.util.Objects;
+import java.util.Arrays;
public final class DataSourceId {
- private String dataverseName;
- private String datasourceName;
+ private String[] components;
public DataSourceId(String dataverseName, String datasourceName) {
- this.dataverseName = dataverseName;
- this.datasourceName = datasourceName;
+ this(new String[] { dataverseName, datasourceName });
+ }
+
+ public DataSourceId(String... components) {
+ this.components = components;
}
@Override
public String toString() {
- return dataverseName + "." + datasourceName;
+ return String.join(".", components);
}
public String getDataverseName() {
- return dataverseName;
+ return components[0];
}
public String getDatasourceName() {
- return datasourceName;
+ return components[1];
}
@Override
public boolean equals(Object o) {
- if (this == o)
+ if (this == o) {
return true;
- if (o == null || getClass() != o.getClass())
+ }
+ if (o == null || getClass() != o.getClass()) {
return false;
- DataSourceId that = (DataSourceId) o;
- return Objects.equals(dataverseName, that.dataverseName) &&
Objects.equals(datasourceName, that.datasourceName);
+ }
+ return Arrays.equals(components, ((DataSourceId) o).components);
}
@Override
public int hashCode() {
- return Objects.hash(dataverseName, datasourceName);
+ return Arrays.hashCode(components);
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/3426
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: If371a6c7f8302ee7a83ddba0f1c6aeecdea4d5ef
Gerrit-Change-Number: 3426
Gerrit-PatchSet: 1
Gerrit-Owner: Till Westmann <[email protected]>