>From Hussain Towaileb <[email protected]>:

Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20941?usp=email )


Change subject: [NO ISSUE][EXT]: Refactor iceberg code
......................................................................

[NO ISSUE][EXT]: Refactor iceberg code

Change-Id: Ib4325aba8f1134ed84b8cb6f70dd644826804e49
---
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/iceberg/IcebergUtils.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
2 files changed, 19 insertions(+), 1 deletion(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/41/20941/1

diff --git 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/iceberg/IcebergUtils.java
 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/iceberg/IcebergUtils.java
index 69480c8..ec8001f 100644
--- 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/iceberg/IcebergUtils.java
+++ 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/iceberg/IcebergUtils.java
@@ -52,6 +52,7 @@
 import org.apache.asterix.external.util.iceberg.rest.RestUtils;
 import org.apache.asterix.om.types.ARecordType;
 import org.apache.iceberg.CatalogProperties;
+import org.apache.iceberg.Table;
 import org.apache.iceberg.aws.AwsProperties;
 import org.apache.iceberg.aws.glue.GlueCatalog;
 import org.apache.iceberg.catalog.Catalog;
@@ -432,4 +433,21 @@
             }
         };
     }
+
+    public static Table loadTable(Catalog catalog, TableIdentifier 
tableIdentifier, CatalogConfig.IcebergCatalogSource source) {
+        return switch (source) {
+            case AWS_GLUE -> {
+                GlueCatalog glueCatalog = (GlueCatalog) catalog;
+                yield glueCatalog.loadTable(tableIdentifier);
+            }
+            case REST, AWS_GLUE_REST, BIGLAKE_METASTORE, S3_TABLES, 
NESSIE_REST -> {
+                RESTCatalog restCatalog = (RESTCatalog) catalog;
+                yield restCatalog.loadTable(tableIdentifier);
+            }
+            case NESSIE -> {
+                NessieCatalog nessieCatalog = (NessieCatalog) catalog;
+                yield nessieCatalog.loadTable(tableIdentifier);
+            }
+        };
+    }
 }
diff --git 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
index 02ffc25..f0d584d 100644
--- 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
+++ 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
@@ -124,7 +124,7 @@
     }

     protected abstract IDatasourceFunction createFunction(MetadataProvider 
metadataProvider,
-            AlgebricksAbsolutePartitionConstraint locations);
+            AlgebricksAbsolutePartitionConstraint locations) throws 
AlgebricksException;

     protected AlgebricksAbsolutePartitionConstraint 
getLocations(IClusterStateManager csm, MetadataProvider md) {
         String[] locations = md.getClusterLocations().getLocations();

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20941?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: lumina
Gerrit-Change-Id: Ib4325aba8f1134ed84b8cb6f70dd644826804e49
Gerrit-Change-Number: 20941
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <[email protected]>

Reply via email to