From 553f74523aa2e4ee88d27453a1bd920f3babc361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B6=E6=B3=BD=E5=9D=A4?= <3236023880@qq.com> Date: Sat, 15 Oct 2022 20:56:17 +0800 Subject: [PATCH 1/3] 20221015 --- .../src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java | 1 + .../prestosql/plugin/jdbc/TransactionScopeCachingJdbcClient.java | 1 + 2 files changed, 2 insertions(+) diff --git a/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java b/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java index 65db1b486..cddad41fb 100644 --- a/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java +++ b/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java @@ -311,6 +311,7 @@ public class JdbcMetadata } @Override + //This function is used to create schema public void createSchema(ConnectorSession session, String schemaName, Map properties) { jdbcClient.createSchema(session, schemaName); diff --git a/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/TransactionScopeCachingJdbcClient.java b/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/TransactionScopeCachingJdbcClient.java index c0c10fffd..a542f8a3e 100644 --- a/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/TransactionScopeCachingJdbcClient.java +++ b/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/TransactionScopeCachingJdbcClient.java @@ -83,6 +83,7 @@ public class TransactionScopeCachingJdbcClient } @Override + //This function is used to create schema public void createSchema(ConnectorSession session, String schemaName) { getDelegate().createSchema(session, schemaName); -- 2.34.1 From 323c6ec6ae2efe47775aed48008e1079e0837976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B6=E6=B3=BD=E5=9D=A4?= <3236023880@qq.com> Date: Sat, 15 Oct 2022 20:57:16 +0800 Subject: [PATCH 2/3] 20221015 --- .../hetu/core/plugin/carbondata/CarbondataMetadata.java | 8 +++++--- .../carbondata/integrationtest/TestCarbonAllDataType.java | 1 + .../io/hetu/core/plugin/clickhouse/ClickHouseClient.java | 3 +++ .../core/plugin/datacenter/TestDCDistributedQueries.java | 2 ++ .../main/java/io/hetu/core/plugin/hana/HanaClient.java | 2 ++ .../java/io/hetu/core/plugin/hana/TestHanaClient.java | 3 ++- .../main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java | 4 ++++ .../hive/metastore/thrift/BridgingHiveMetastore.java | 1 + 8 files changed, 20 insertions(+), 4 deletions(-) diff --git a/hetu-carbondata/src/main/java/io/hetu/core/plugin/carbondata/CarbondataMetadata.java b/hetu-carbondata/src/main/java/io/hetu/core/plugin/carbondata/CarbondataMetadata.java index ef5f73363..e4f841e1c 100755 --- a/hetu-carbondata/src/main/java/io/hetu/core/plugin/carbondata/CarbondataMetadata.java +++ b/hetu-carbondata/src/main/java/io/hetu/core/plugin/carbondata/CarbondataMetadata.java @@ -1621,6 +1621,7 @@ public class CarbondataMetadata } @Override + //This function is used to add a new column public void addColumn(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnMetadata column) { currentState = State.ADD_COLUMN; @@ -1630,6 +1631,7 @@ public class CarbondataMetadata } @Override + //This function is used to rename a column public void renameColumn(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnHandle source, String target) { currentState = State.RENAME_COLUMN; @@ -1646,7 +1648,7 @@ public class CarbondataMetadata super.dropColumn(session, tableHandle, column); } - + //This function is used to update schema info private void updateSchemaInfo(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnMetadata column, ColumnHandle source, String target) { HiveTableHandle handle = (HiveTableHandle) tableHandle; @@ -1691,7 +1693,7 @@ public class CarbondataMetadata .add(schemaEvolutionEntry); } } - + //This function is used to update Schema Info Add Column private SchemaEvolutionEntry updateSchemaInfoAddColumn(ColumnMetadata column) { HiveColumnHandle columnHandle = new HiveColumnHandle(column.getName(), HiveType.toHiveType(typeTranslator, column.getType()), @@ -1764,7 +1766,7 @@ public class CarbondataMetadata return schemaEvolutionEntry; } - + //This function is used to update Schema Info and Add Column private SchemaEvolutionEntry updateSchemaInfoRenameColumn(ColumnHandle source, String target) { HiveColumnHandle oldColumnHandle = (HiveColumnHandle) source; diff --git a/hetu-carbondata/src/test/java/io/hetu/core/plugin/carbondata/integrationtest/TestCarbonAllDataType.java b/hetu-carbondata/src/test/java/io/hetu/core/plugin/carbondata/integrationtest/TestCarbonAllDataType.java index 54ba17539..e9b33d800 100644 --- a/hetu-carbondata/src/test/java/io/hetu/core/plugin/carbondata/integrationtest/TestCarbonAllDataType.java +++ b/hetu-carbondata/src/test/java/io/hetu/core/plugin/carbondata/integrationtest/TestCarbonAllDataType.java @@ -1216,6 +1216,7 @@ public class TestCarbonAllDataType } @Test + public void testAlterRenameColumn() throws SQLException { hetuServer.execute("CREATE TABLE testdb.renamecolumn(NAME varchar(7), AGE int) with(format='CARBON') "); diff --git a/hetu-clickhouse/src/main/java/io/hetu/core/plugin/clickhouse/ClickHouseClient.java b/hetu-clickhouse/src/main/java/io/hetu/core/plugin/clickhouse/ClickHouseClient.java index 597c2f2bf..a4766f74e 100644 --- a/hetu-clickhouse/src/main/java/io/hetu/core/plugin/clickhouse/ClickHouseClient.java +++ b/hetu-clickhouse/src/main/java/io/hetu/core/plugin/clickhouse/ClickHouseClient.java @@ -345,6 +345,7 @@ public class ClickHouseClient } @Override + //This function is used to rename column public void renameColumn(JdbcIdentity identity, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String inputNewColumnName) { String newColumnName = inputNewColumnName; @@ -427,6 +428,7 @@ public class ClickHouseClient } @Override + //This function is used to build SQL public PreparedStatement buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle table, List columns) throws SQLException { @@ -444,6 +446,7 @@ public class ClickHouseClient split.getAdditionalPredicate(), tryApplyLimit(table.getLimit())); } + // openLooKeng: If the sub-query is not pushed down, use it as the table return new ClickHouseQueryBuilder(identifierQuote).buildSql( this, session, diff --git a/hetu-datacenter/src/test/java/io/hetu/core/plugin/datacenter/TestDCDistributedQueries.java b/hetu-datacenter/src/test/java/io/hetu/core/plugin/datacenter/TestDCDistributedQueries.java index 7d3a37b94..0264ba7fc 100644 --- a/hetu-datacenter/src/test/java/io/hetu/core/plugin/datacenter/TestDCDistributedQueries.java +++ b/hetu-datacenter/src/test/java/io/hetu/core/plugin/datacenter/TestDCDistributedQueries.java @@ -152,6 +152,7 @@ public class TestDCDistributedQueries } @Override + //This function tests the renaming column public void testRenameColumn() { // Batch insert through DC connector not supported @@ -161,6 +162,7 @@ public class TestDCDistributedQueries } @Override + //This function tests the renaming table function public void testRenameTable() { // Batch insert through DC connector not supported diff --git a/hetu-hana/src/main/java/io/hetu/core/plugin/hana/HanaClient.java b/hetu-hana/src/main/java/io/hetu/core/plugin/hana/HanaClient.java index 92c6974c8..260ce6ae6 100644 --- a/hetu-hana/src/main/java/io/hetu/core/plugin/hana/HanaClient.java +++ b/hetu-hana/src/main/java/io/hetu/core/plugin/hana/HanaClient.java @@ -195,6 +195,7 @@ public class HanaClient } @Override + //This function is used to rename column public void renameColumn(JdbcIdentity identity, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String newColumnName) { try (Connection connection = connectionFactory.openConnection(identity)) { @@ -213,6 +214,7 @@ public class HanaClient } @Override + //This function is used to rename designated table protected void renameTable(JdbcIdentity identity, String catalogName, String schemaName, String tableName, SchemaTableName newTable) { try (Connection connection = connectionFactory.openConnection(identity)) { diff --git a/hetu-hana/src/test/java/io/hetu/core/plugin/hana/TestHanaClient.java b/hetu-hana/src/test/java/io/hetu/core/plugin/hana/TestHanaClient.java index d9819aae7..32da3c325 100644 --- a/hetu-hana/src/test/java/io/hetu/core/plugin/hana/TestHanaClient.java +++ b/hetu-hana/src/test/java/io/hetu/core/plugin/hana/TestHanaClient.java @@ -164,6 +164,7 @@ public class TestHanaClient * testRenameColumn */ @Test + //This function is used to rename designated column public void testRenameColumn() { String schemaName = getNameByUpperCaseIdentifiers(database.getSchema()); @@ -293,7 +294,7 @@ public class TestHanaClient } return actualTables; } - + private List getActualColumns(String schemaName, String tableName) { try (ResultSet resultSet = connection.getMetaData().getColumns(null, schemaName, tableName, null)) { diff --git a/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java b/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java index cddad41fb..bd585e67b 100644 --- a/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java +++ b/presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/JdbcMetadata.java @@ -336,24 +336,28 @@ public class JdbcMetadata } @Override + //This function is used to apply a delete public Optional applyDelete(ConnectorSession session, ConnectorTableHandle handle) { return jdbcClient.applyDelete(session, handle); } @Override + //This function is used to execute delete public OptionalLong executeDelete(ConnectorSession session, ConnectorTableHandle handle) { return jdbcClient.executeDelete(session, handle); } @Override + //This function is used to execute update public OptionalLong executeUpdate(ConnectorSession session, ConnectorTableHandle handle) { return jdbcClient.executeUpdate(session, handle); } @Override + //This function is used to begin delete public ConnectorTableHandle beginDelete(ConnectorSession session, ConnectorTableHandle tableHandle) { return jdbcClient.beginDelete(session, tableHandle); diff --git a/presto-hive/src/main/java/io/prestosql/plugin/hive/metastore/thrift/BridgingHiveMetastore.java b/presto-hive/src/main/java/io/prestosql/plugin/hive/metastore/thrift/BridgingHiveMetastore.java index b8bd673a6..e09861445 100644 --- a/presto-hive/src/main/java/io/prestosql/plugin/hive/metastore/thrift/BridgingHiveMetastore.java +++ b/presto-hive/src/main/java/io/prestosql/plugin/hive/metastore/thrift/BridgingHiveMetastore.java @@ -232,6 +232,7 @@ public class BridgingHiveMetastore } @Override + //This function is used to rename a designated column public void renameColumn(HiveIdentity identity, String databaseName, String tableName, String oldColumnName, String newColumnName) { Optional source = delegate.getTable(identity, databaseName, tableName); -- 2.34.1 From 2d7720f807237cd9fb3731c67a7d5acf4ee64257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B6=E6=B3=BD=E5=9D=A4?= <3236023880@qq.com> Date: Sat, 15 Oct 2022 21:04:51 +0800 Subject: [PATCH 3/3] 20221015 --- .../core/plugin/datacenter/DataCenterTableHandle.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hetu-datacenter/src/main/java/io/hetu/core/plugin/datacenter/DataCenterTableHandle.java b/hetu-datacenter/src/main/java/io/hetu/core/plugin/datacenter/DataCenterTableHandle.java index 884b5d27d..acb000b22 100644 --- a/hetu-datacenter/src/main/java/io/hetu/core/plugin/datacenter/DataCenterTableHandle.java +++ b/hetu-datacenter/src/main/java/io/hetu/core/plugin/datacenter/DataCenterTableHandle.java @@ -132,6 +132,11 @@ public final class DataCenterTableHandle } @JsonProperty + /** + * Get push down SQL + * + * @return the SQL + */ public String getPushDownSql() { return pushDownSql; @@ -144,6 +149,11 @@ public final class DataCenterTableHandle } @Override + /** + * Judge whether the objects are equal + * + * @return the boolean + */ public boolean equals(Object obj) { if (this == obj) { -- 2.34.1