This is an automated email from the ASF dual-hosted git repository.
mhubail pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
The following commit(s) were added to refs/heads/master by this push:
new 7156522359 [ASTERIXDB-3483]: Add method for extensions
7156522359 is described below
commit 7156522359f4c73db9898439e20240f51047d71b
Author: janhavitripurwar <[email protected]>
AuthorDate: Thu Oct 10 16:22:29 2024 +0530
[ASTERIXDB-3483]: Add method for extensions
- user model changes: no
- storage format changes: no
- interface changes: no
Deatils:
- Override the 'toString' method in Creator class.
- Add 'newExtension' method in EntityDetails.
- Add method to return function name with arity.
Change-Id: I9d9c938c66c500ba0e741f4cf6f361b20e9eacd3
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18951
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Reviewed-by: Murtadha Hubail <[email protected]>
---
.../java/org/apache/asterix/lang/common/util/ExpressionUtils.java | 2 +-
.../lang/sqlpp/rewrites/visitor/SqlppLoadAccessedDataset.java | 4 ++--
.../java/org/apache/asterix/metadata/entities/EntityDetails.java | 8 ++++++++
.../src/main/java/org/apache/asterix/metadata/utils/Creator.java | 5 +++++
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/ExpressionUtils.java
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/ExpressionUtils.java
index 419d677b94..df7d6d84ff 100644
---
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/ExpressionUtils.java
+++
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/ExpressionUtils.java
@@ -296,7 +296,7 @@ public class ExpressionUtils {
if (seenFunctions.add(signature)) {
String functionName = signature.getName() + "(" +
signature.getArity() + ")";
metadataProvider.addAccessedEntity(EntityDetails.newFunction(signature.getDatabaseName(),
- signature.getDataverseName(),
functionName, 0));
+ signature.getDataverseName(),
functionName, signature.getArity()));
outFunctionDependencies.add(new
DependencyFullyQualifiedName(signature.getDatabaseName(),
signature.getDataverseName(),
signature.getName(),
Integer.toString(signature.getArity())));
diff --git
a/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppLoadAccessedDataset.java
b/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppLoadAccessedDataset.java
index 7981d5554c..1b1cf83959 100644
---
a/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppLoadAccessedDataset.java
+++
b/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppLoadAccessedDataset.java
@@ -98,9 +98,9 @@ public class SqlppLoadAccessedDataset extends
AbstractSqlppSimpleExpressionVisit
if (declaredFunctions.containsKey(signature)) {
return;
}
- String functionName = signature.getName() + "(" +
signature.getArity() + ")";
+ String functionName =
EntityDetails.getFunctionNameWithArity(signature.getName(),
signature.getArity());
context.getMetadataProvider().addAccessedEntity(EntityDetails.newFunction(signature.getDatabaseName(),
- signature.getDataverseName(), functionName, 0));
+ signature.getDataverseName(), functionName,
signature.getArity()));
}
}
}
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java
index 23353ebe8f..c7e771b718 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java
@@ -88,6 +88,10 @@ public class EntityDetails {
return new EntityDetails(databaseName, dataverseName, indexName,
EntityType.INDEX);
}
+ public static EntityDetails newExtension(String extensionName) {
+ return new EntityDetails(null, null, extensionName, null);
+ }
+
public String getDatabaseName() {
return databaseName;
}
@@ -107,4 +111,8 @@ public class EntityDetails {
public int getFunctionArity() {
return functionArity;
}
+
+ public static String getFunctionNameWithArity(String functionName, int
functionArity) {
+ return functionName + "(" + functionArity + ")";
+ }
}
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/Creator.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/Creator.java
index 3cf65678b8..49fca80fc3 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/Creator.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/Creator.java
@@ -51,6 +51,11 @@ public class Creator implements Serializable {
return uuid;
}
+ @Override
+ public String toString() {
+ return String.format("Creator{name='%s', uuid='%s'}", name, uuid);
+ }
+
public static Creator createOrDefault(ARecord record) {
ARecordType recType = record.getType();
int creatorIndex =
recType.getFieldIndex(MetadataRecordTypes.CREATOR_ARECORD_FIELD_NAME);