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

Reply via email to