XiaoHongbo-Hope commented on code in PR #7786:
URL: https://github.com/apache/paimon/pull/7786#discussion_r3207785604


##########
paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/function/BlobViewFunction.java:
##########
@@ -18,18 +18,157 @@
 
 package org.apache.paimon.flink.function;
 
+import org.apache.paimon.catalog.Catalog;
+import org.apache.paimon.catalog.CatalogContext;
+import org.apache.paimon.catalog.CatalogFactory;
 import org.apache.paimon.catalog.Identifier;
 import org.apache.paimon.data.BlobViewStruct;
+import org.apache.paimon.flink.FlinkFileIOLoader;
+import org.apache.paimon.options.Options;
+import org.apache.paimon.table.Table;
 
+import org.apache.flink.table.functions.FunctionContext;
 import org.apache.flink.table.functions.ScalarFunction;
 
+import javax.annotation.Nullable;
+
+import java.util.HashMap;
+import java.util.Map;
+
 /** Flink scalar function that constructs a serialized {@link BlobViewStruct}. 
*/
-public class BlobViewFunction extends ScalarFunction {
+public class BlobViewFunction extends ScalarFunction implements 
CatalogAwareFunction {
+
+    @Nullable private String catalogName;
+    @Nullable private Options catalogOptions;
+
+    private transient Catalog catalog;
+    private transient Map<String, Map<String, BlobViewField>> 
blobViewFieldCache;
+
+    @Override
+    public void setCatalogContext(
+            String catalogName, String defaultDatabase, Options 
catalogOptions) {
+        this.catalogName = catalogName;
+        this.catalogOptions = new Options(catalogOptions.toMap());
+        this.catalog = null;
+        this.blobViewFieldCache = null;
+    }
+
+    @Override
+    public void open(FunctionContext context) {
+        openCatalog(context.getUserCodeClassLoader());

Review Comment:
   This will fail if blob view function without catalog context?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to