nssalian commented on a change in pull request #3275:
URL: https://github.com/apache/iceberg/pull/3275#discussion_r727396908
##########
File path: core/src/main/java/org/apache/iceberg/jdbc/JdbcUtil.java
##########
@@ -27,48 +31,91 @@
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
import org.apache.iceberg.relocated.com.google.common.base.Splitter;
import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
+import org.apache.iceberg.util.JsonUtil;
final class JdbcUtil {
+ // Catalog Table
protected static final String CATALOG_TABLE_NAME = "iceberg_tables";
protected static final String CATALOG_NAME = "catalog_name";
protected static final String TABLE_NAMESPACE = "table_namespace";
protected static final String TABLE_NAME = "table_name";
protected static final String METADATA_LOCATION = "metadata_location";
protected static final String PREVIOUS_METADATA_LOCATION =
"previous_metadata_location";
+
public static final String DO_COMMIT_SQL = "UPDATE " + CATALOG_TABLE_NAME +
- " SET " + METADATA_LOCATION + " = ? , " + PREVIOUS_METADATA_LOCATION + "
= ? " +
- " WHERE " + CATALOG_NAME + " = ? AND " +
- TABLE_NAMESPACE + " = ? AND " +
- TABLE_NAME + " = ? AND " +
- METADATA_LOCATION + " = ?";
+ " SET " + METADATA_LOCATION + " = ? , " + PREVIOUS_METADATA_LOCATION
+ " = ? " +
+ " WHERE " + CATALOG_NAME + " = ? AND " +
+ TABLE_NAMESPACE + " = ? AND " +
+ TABLE_NAME + " = ? AND " +
+ METADATA_LOCATION + " = ?";
protected static final String CREATE_CATALOG_TABLE =
- "CREATE TABLE " + CATALOG_TABLE_NAME +
- "(" +
- CATALOG_NAME + " VARCHAR(255) NOT NULL," +
- TABLE_NAMESPACE + " VARCHAR(255) NOT NULL," +
- TABLE_NAME + " VARCHAR(255) NOT NULL," +
- METADATA_LOCATION + " VARCHAR(5500)," +
- PREVIOUS_METADATA_LOCATION + " VARCHAR(5500)," +
- "PRIMARY KEY (" + CATALOG_NAME + ", " + TABLE_NAMESPACE + ", " +
TABLE_NAME + ")" +
- ")";
+ "CREATE TABLE " + CATALOG_TABLE_NAME +
+ "(" +
+ CATALOG_NAME + " VARCHAR(255) NOT NULL," +
+ TABLE_NAMESPACE + " VARCHAR(255) NOT NULL," +
+ TABLE_NAME + " VARCHAR(255) NOT NULL," +
+ METADATA_LOCATION + " VARCHAR(5500)," +
+ PREVIOUS_METADATA_LOCATION + " VARCHAR(5500)," +
+ "PRIMARY KEY (" + CATALOG_NAME + ", " + TABLE_NAMESPACE + ",
" + TABLE_NAME + ")" +
+ ")";
protected static final String GET_TABLE_SQL = "SELECT * FROM " +
CATALOG_TABLE_NAME +
- " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ? AND " +
TABLE_NAME + " = ? ";
+ " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ? AND
" + TABLE_NAME + " = ? ";
protected static final String LIST_TABLES_SQL = "SELECT * FROM " +
CATALOG_TABLE_NAME +
- " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ?";
+ " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ?";
protected static final String RENAME_TABLE_SQL = "UPDATE " +
CATALOG_TABLE_NAME +
- " SET " + TABLE_NAMESPACE + " = ? , " + TABLE_NAME + " = ? " +
- " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ? AND " +
TABLE_NAME + " = ? ";
+ " SET " + TABLE_NAMESPACE + " = ? , " + TABLE_NAME + " = ? " +
+ " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ? AND
" + TABLE_NAME + " = ? ";
protected static final String DROP_TABLE_SQL = "DELETE FROM " +
CATALOG_TABLE_NAME +
- " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ? AND " +
TABLE_NAME + " = ? ";
- protected static final String GET_NAMESPACE_SQL = "SELECT " +
TABLE_NAMESPACE + " FROM " + CATALOG_TABLE_NAME +
- " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " LIKE ?
LIMIT 1";
- protected static final String LIST_NAMESPACES_SQL = "SELECT DISTINCT " +
TABLE_NAMESPACE +
- " FROM " + CATALOG_TABLE_NAME +
- " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " LIKE ?";
+ " WHERE " + CATALOG_NAME + " = ? AND " + TABLE_NAMESPACE + " = ? AND
" + TABLE_NAME + " = ? ";
+
protected static final String DO_COMMIT_CREATE_TABLE_SQL = "INSERT INTO " +
CATALOG_TABLE_NAME +
- " (" + CATALOG_NAME + ", " + TABLE_NAMESPACE + ", " + TABLE_NAME +
- ", " + METADATA_LOCATION + ", " + PREVIOUS_METADATA_LOCATION + ") " +
- " VALUES (?,?,?,?,null)";
+ " (" + CATALOG_NAME + ", " + TABLE_NAMESPACE + ", " + TABLE_NAME +
+ ", " + METADATA_LOCATION + ", " + PREVIOUS_METADATA_LOCATION + ") " +
+ " VALUES (?,?,?,?,null)";
+
+ // Catalog Namespace
+
+ protected static final String CATALOG_NAMESPACE_TABLE_NAME =
"iceberg_namespaces";
+ protected static final String NAMESPACE_NAME = "namespace_name";
+ protected static final String NAMESPACE_LOCATION = "location";
+ protected static final String NAMESPACE_METADATA = "metadata";
+ protected static final String NAMESPACE_PROPERTIES = "properties";
+
+ protected static final String CREATE_NAMESPACE_TABLE =
+ "CREATE TABLE " + CATALOG_NAMESPACE_TABLE_NAME +
+ "(" +
+ CATALOG_NAME + " VARCHAR(255) NOT NULL," +
+ NAMESPACE_NAME + " VARCHAR(255) NOT NULL," +
+ NAMESPACE_LOCATION + " VARCHAR(5500)," +
+ NAMESPACE_METADATA + " VARCHAR(65535)," +
+ NAMESPACE_PROPERTIES + " VARCHAR(65535)," +
Review comment:
The createNamespace method had `Map<String, String> metadata` as a
parameter. I kept this assuming there was separation of metadata from
properties. Do we wish to have one or the other?
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]