You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tw...@apache.org on 2020/05/05 18:48:52 UTC

[flink] 01/03: [hotfix][table-common] Improve terminology around catalog table options

This is an automated email from the ASF dual-hosted git repository.

twalthr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 5aec41d77e03f81d7d5e55d12040d09b301b1411
Author: Timo Walther <tw...@apache.org>
AuthorDate: Thu Apr 30 10:29:25 2020 +0200

    [hotfix][table-common] Improve terminology around catalog table options
---
 flink-python/pyflink/table/catalog.py                  | 13 +++++++++++++
 .../apache/flink/table/catalog/CatalogBaseTable.java   | 18 +++++++++++++++---
 .../org/apache/flink/table/catalog/CatalogTable.java   | 14 +++++++-------
 3 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/flink-python/pyflink/table/catalog.py b/flink-python/pyflink/table/catalog.py
index 5fcd859..9d3a7d3 100644
--- a/flink-python/pyflink/table/catalog.py
+++ b/flink-python/pyflink/table/catalog.py
@@ -618,10 +618,23 @@ class CatalogBaseTable(object):
     def _get(j_catalog_base_table):
         return CatalogBaseTable(j_catalog_base_table)
 
+    def get_options(self):
+        """
+        Returns a map of string-based options.
+
+        In case of CatalogTable, these options may determine the kind of connector and its
+        configuration for accessing the data in the external system.
+
+        :return: Property map of the table/view.
+        """
+        return dict(self._j_catalog_base_table.getOptions())
+
     def get_properties(self):
         """
         Get the properties of the table.
 
+        This method is deprecated. Use :func:`~pyflink.table.CatalogBaseTable.get_options` instead.
+
         :return: Property map of the table/view.
         """
         return dict(self._j_catalog_base_table.getProperties())
diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogBaseTable.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogBaseTable.java
index e2157e0..3d3a9aa 100644
--- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogBaseTable.java
+++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogBaseTable.java
@@ -19,6 +19,7 @@
 package org.apache.flink.table.catalog;
 
 import org.apache.flink.table.api.TableSchema;
+import org.apache.flink.table.factories.DynamicTableFactory;
 
 import java.util.Map;
 import java.util.Optional;
@@ -28,14 +29,25 @@ import java.util.Optional;
  * key-value pairs defining the properties of the table.
  */
 public interface CatalogBaseTable {
+
 	/**
-	 * Get the properties of the table.
-	 *
-	 * @return property map of the table/view
+	 * @deprecated Use {@link #getOptions()}.
 	 */
+	@Deprecated
 	Map<String, String> getProperties();
 
 	/**
+	 * Returns a map of string-based options.
+	 *
+	 * <p>In case of {@link CatalogTable}, these options may determine the kind of connector and its
+	 * configuration for accessing the data in the external system. See {@link DynamicTableFactory}
+	 * for more information.
+	 */
+	default Map<String, String> getOptions() {
+		return getProperties();
+	}
+
+	/**
 	 * Get the schema of the table.
 	 *
 	 * @return schema of the table/view.
diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogTable.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogTable.java
index 2f55880..fb51e1e 100644
--- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogTable.java
+++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/CatalogTable.java
@@ -40,17 +40,17 @@ public interface CatalogTable extends CatalogBaseTable {
 	List<String> getPartitionKeys();
 
 	/**
-	 * Return a property map for table factory discovery purpose. The properties will be used to match a [[TableFactory]].
-	 * Please refer to {@link org.apache.flink.table.factories.TableFactory}
+	 * Returns a copy of this {@code CatalogTable} with given table options {@code options}.
 	 *
-	 * @return a map of properties
+	 * @return a new copy of this table with replaced table options
 	 */
-	Map<String, String> toProperties();
+	CatalogTable copy(Map<String, String> options);
 
 	/**
-	 * Returns a copy of this {@code CatalogTable} with given table options {@code options}.
+	 * Serializes this instance into a map of string-based properties.
 	 *
-	 * @return a new copy of this table with replaced table options
+	 * <p>Compared to the pure table options in {@link #getOptions()}, the map includes schema,
+	 * partitioning, and other characteristics in a serialized form.
 	 */
-	CatalogTable copy(Map<String, String> options);
+	Map<String, String> toProperties();
 }