You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by wu...@apache.org on 2023/06/02 16:09:23 UTC
[shardingsphere] branch master updated: Fix sonar issue on MySQLDDLStatementVisitor (#26020)
This is an automated email from the ASF dual-hosted git repository.
wuweijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new f2e12f148ef Fix sonar issue on MySQLDDLStatementVisitor (#26020)
f2e12f148ef is described below
commit f2e12f148ef3007e1a9ecf76156995a0256c5d76
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Jun 3 00:09:14 2023 +0800
Fix sonar issue on MySQLDDLStatementVisitor (#26020)
* Fix sonar issue on MySQLDDLStatementVisitor
* Fix sonar issue on OpenGaussDDLStatementVisitor
* Fix sonar issue on PostgreSQLDDLStatementVisitor
* Fix sonar issue on MilitaryIdentityNumberRandomReplaceAlgorithmTest
* Fix sonar issue on JDBCContextTest
* Fix sonar issue on JDBCContextTest
* Fix sonar issue on JDBCContextTest
* Fix sonar issue on JDBCContextTest
* Fix sonar issue on CDCSchemaTableUtils
* Fix sonar issue on CDCImporterManager
* Fix sonar issue on PipelineDataSourceSink
* Fix sonar issue on CDCImporter
* Fix sonar issue on SingleTableInventoryDataConsistencyChecker
* Fix sonar issue on OwnerAvailable
* Fix sonar issue on OracleAlterSynonymStatement
* Fix sonar issue on OracleDropDirectoryStatement
* Fix sonar issue on SQLServerAlterTriggerStatement
* Fix sonar issue on SQLServerCreateTriggerStatement
* Fix sonar issue on SQLServerDropTriggerStatement
* Fix sonar issue on PostgreSQLBinaryTimestampUtils
---
.../PostgreSQLTimeBinaryProtocolValue.java | 2 +-
.../util/PostgreSQLBinaryTimestampUtils.java | 5 +-
.../PostgreSQLTimeBinaryProtocolValueTest.java | 2 +-
.../util/PostgreSQLBinaryTimestampUtilsTest.java | 8 +-
...ryIdentityNumberRandomReplaceAlgorithmTest.java | 5 +-
.../driver/jdbc/context/JDBCContextTest.java | 29 ++----
.../pipeline/cdc/core/importer/CDCImporter.java | 2 +-
.../cdc/core/importer/CDCImporterManager.java | 4 +
.../pipeline/cdc/core/prepare/CDCJobPreparer.java | 12 +--
.../pipeline/cdc/util/CDCSchemaTableUtils.java | 2 +-
...SingleTableInventoryDataConsistencyChecker.java | 15 +---
.../core/importer/sink/PipelineDataSourceSink.java | 30 ++++---
.../statement/type/MySQLDDLStatementVisitor.java | 100 +++++++++++----------
.../type/OpenGaussDDLStatementVisitor.java | 47 +++++-----
.../type/PostgreSQLDDLStatementVisitor.java | 47 +++++-----
.../sql/common/segment/generic/OwnerAvailable.java | 4 +-
.../oracle/ddl/OracleAlterSynonymStatement.java | 3 +-
.../oracle/ddl/OracleDropDirectoryStatement.java | 3 +-
.../ddl/SQLServerAlterTriggerStatement.java | 3 +-
.../ddl/SQLServerCreateTriggerStatement.java | 3 +-
.../ddl/SQLServerDropTriggerStatement.java | 3 +-
21 files changed, 155 insertions(+), 174 deletions(-)
diff --git a/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValue.java b/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValue.java
index dd0c67ced21..e26b4eb0697 100644
--- a/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValue.java
+++ b/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValue.java
@@ -39,6 +39,6 @@ public final class PostgreSQLTimeBinaryProtocolValue implements PostgreSQLBinary
@Override
public void write(final PostgreSQLPacketPayload payload, final Object value) {
- payload.writeInt8(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime((Timestamp) value, false));
+ payload.writeInt8(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime((Timestamp) value));
}
}
diff --git a/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtils.java b/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtils.java
index 86f42e82837..6293e26e063 100644
--- a/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtils.java
+++ b/db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtils.java
@@ -38,11 +38,10 @@ public final class PostgreSQLBinaryTimestampUtils {
* Convert Timestamp to PostgreSQL time.
*
* @param timestamp timestamp
- * @param withTimeZone with time zone
* @return PostgreSQL time
*/
- public static long toPostgreSQLTime(final Timestamp timestamp, final boolean withTimeZone) {
- long millis = timestamp.getTime() - (timestamp.getNanos() / 1000000L) + (withTimeZone ? 0L : TimeZone.getDefault().getRawOffset());
+ public static long toPostgreSQLTime(final Timestamp timestamp) {
+ long millis = timestamp.getTime() - (timestamp.getNanos() / 1000000L) + (TimeZone.getDefault().getRawOffset());
long nanos = timestamp.getNanos() / 1000L;
long pgSeconds = convertJavaEpochToPgEpoch(millis / 1000L);
if (nanos >= 1000000L) {
diff --git a/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValueTest.java b/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValueTest.java
index b8fa434d5f6..26b58b94f10 100644
--- a/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValueTest.java
+++ b/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/PostgreSQLTimeBinaryProtocolValueTest.java
@@ -45,6 +45,6 @@ class PostgreSQLTimeBinaryProtocolValueTest {
assertThat(actual.read(payload, 8), is(1L));
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
actual.write(payload, timestamp);
- verify(payload).writeInt8(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime(timestamp, false));
+ verify(payload).writeInt8(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime(timestamp));
}
}
diff --git a/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtilsTest.java b/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtilsTest.java
index c58f8ddc7bc..72d5cd630bd 100644
--- a/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtilsTest.java
+++ b/db-protocol/postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/protocol/util/PostgreSQLBinaryTimestampUtilsTest.java
@@ -30,12 +30,6 @@ class PostgreSQLBinaryTimestampUtilsTest {
@Test
void assertToPostgreSQLTimeWithoutTimeZone() {
long expected = 688123357272000L + TimeZone.getDefault().getRawOffset() * 1000L;
- assertThat(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime(new Timestamp(1634808157272L), false), is(expected));
- }
-
- @Test
- void assertToPostgreSQLTimeWithTimeZone() {
- assertThat(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime(new Timestamp(1634808157272L), true), is(688123357272000L));
- assertThat(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime(new Timestamp(-15165977600000L), true), is(-16113440000000000L));
+ assertThat(PostgreSQLBinaryTimestampUtils.toPostgreSQLTime(new Timestamp(1634808157272L)), is(expected));
}
}
diff --git a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/MilitaryIdentityNumberRandomReplaceAlgorithmTest.java b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/MilitaryIdentityNumberRandomReplaceAlgorithmTest.java
index 7139e9f57c3..0b42067a4ec 100644
--- a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/MilitaryIdentityNumberRandomReplaceAlgorithmTest.java
+++ b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/MilitaryIdentityNumberRandomReplaceAlgorithmTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.mask.algorithm.replace;
import org.apache.shardingsphere.mask.exception.algorithm.MaskAlgorithmInitializationException;
-import org.apache.shardingsphere.mask.spi.MaskAlgorithm;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.BeforeEach;
@@ -50,8 +49,8 @@ class MilitaryIdentityNumberRandomReplaceAlgorithmTest {
}
@Test
- void testMaskWithInvalidProps() {
- MaskAlgorithm algorithm = new MilitaryIdentityNumberRandomReplaceAlgorithm();
+ void assertMaskWithInvalidProps() {
+ MilitaryIdentityNumberRandomReplaceAlgorithm algorithm = new MilitaryIdentityNumberRandomReplaceAlgorithm();
assertThrows(MaskAlgorithmInitializationException.class, () -> algorithm.init(new Properties()));
}
}
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/context/JDBCContextTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/context/JDBCContextTest.java
index 7f76de99535..fef2f2240ae 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/context/JDBCContextTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/context/JDBCContextTest.java
@@ -23,10 +23,8 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;
-import javax.sql.DataSource;
import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Collections;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -36,30 +34,19 @@ import static org.mockito.Mockito.mock;
class JDBCContextTest {
@Test
- void assertNullCachedDbMetadataWithEmptyDatasource() throws Exception {
- JDBCContext actual = new JDBCContext(new HashMap<>());
- assertNull(actual.getCachedDatabaseMetaData());
+ void assertGetCachedDatabaseMetaDataForNullValue() throws Exception {
+ assertNull(new JDBCContext(Collections.emptyMap()).getCachedDatabaseMetaData());
}
@Test
- void assertNotNullCashedDbMetadataWith() throws SQLException {
- Map<String, DataSource> dataSourceMap = getStringDataSourceMap();
- JDBCContext jdbcContext = new JDBCContext(dataSourceMap);
- assertNotNull(jdbcContext.getCachedDatabaseMetaData());
+ void assertGetCachedDatabaseMetaDataForSingleValue() throws SQLException {
+ assertNotNull(new JDBCContext(Collections.singletonMap("foo_db", new CircuitBreakerDataSource())).getCachedDatabaseMetaData());
}
@Test
- void assetNullMetadataAfterRefreshingExisting() throws SQLException {
- Map<String, DataSource> stringDataSourceMap = getStringDataSourceMap();
- JDBCContext jdbcContext = new JDBCContext(stringDataSourceMap);
- DataSourceChangedEvent event = mock();
- jdbcContext.refreshCachedDatabaseMetaData(event);
+ void assertGetCachedDatabaseMetaDataAfterRefreshingExisting() throws SQLException {
+ JDBCContext jdbcContext = new JDBCContext(Collections.singletonMap("foo_db", new CircuitBreakerDataSource()));
+ jdbcContext.refreshCachedDatabaseMetaData(mock(DataSourceChangedEvent.class));
assertNull(jdbcContext.getCachedDatabaseMetaData());
}
-
- private static Map<String, DataSource> getStringDataSourceMap() {
- Map<String, DataSource> result = new HashMap<>();
- result.put("test_db", new CircuitBreakerDataSource());
- return result;
- }
}
diff --git a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporter.java b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporter.java
index f5124b3bfbd..909b678994f 100644
--- a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporter.java
+++ b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporter.java
@@ -140,7 +140,7 @@ public final class CDCImporter extends AbstractLifecycleExecutor implements Impo
}
private List<Record> filterDataRecords(final List<Record> records) {
- return records.stream().filter(DataRecord.class::isInstance).map(each -> (DataRecord) each).collect(Collectors.toList());
+ return records.stream().filter(DataRecord.class::isInstance).map(DataRecord.class::cast).collect(Collectors.toList());
}
// TODO openGauss CSN should be incremented for every transaction. Currently, CSN might be duplicated in transactions.
diff --git a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporterManager.java b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporterManager.java
index 62f684da2a1..4e3a4b9bd2e 100644
--- a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporterManager.java
+++ b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporterManager.java
@@ -17,12 +17,16 @@
package org.apache.shardingsphere.data.pipeline.cdc.core.importer;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* CDC importer manager.
*/
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class CDCImporterManager {
private static final Map<String, CDCImporter> IMPORTER_MAP = new ConcurrentHashMap<>();
diff --git a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/prepare/CDCJobPreparer.java b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/prepare/CDCJobPreparer.java
index 5fb6519ca36..df128b65300 100644
--- a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/prepare/CDCJobPreparer.java
+++ b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/prepare/CDCJobPreparer.java
@@ -120,9 +120,10 @@ public final class CDCJobPreparer {
PipelineChannel channel = PipelineTaskUtils.createInventoryChannel(processContext.getPipelineChannelCreator(), importerConfig.getBatchSize(), position);
channelProgressPairs.add(new CDCChannelProgressPair(channel, jobItemContext));
Dumper dumper = new InventoryDumper(each, channel, jobItemContext.getSourceDataSource(), jobItemContext.getSourceMetaDataLoader());
- Importer importer = importerUsed.get() ? null : new CDCImporter(channelProgressPairs, importerConfig.getBatchSize(), 3, TimeUnit.SECONDS, jobItemContext.getSink(),
- needSorting(ImporterType.INVENTORY, hasGlobalCSN(taskConfig.getDumperConfig().getDataSourceConfig().getDatabaseType())),
- importerConfig.getRateLimitAlgorithm());
+ Importer importer = importerUsed.get() ? null
+ : new CDCImporter(channelProgressPairs, importerConfig.getBatchSize(), 3, TimeUnit.SECONDS, jobItemContext.getSink(),
+ needSorting(ImporterType.INVENTORY, hasGlobalCSN(taskConfig.getDumperConfig().getDataSourceConfig().getDatabaseType())),
+ importerConfig.getRateLimitAlgorithm());
jobItemContext.getInventoryTasks().add(new CDCInventoryTask(PipelineTaskUtils.generateInventoryTaskId(each), processContext.getInventoryDumperExecuteEngine(),
processContext.getInventoryImporterExecuteEngine(), dumper, importer, position));
importerUsed.set(true);
@@ -148,8 +149,9 @@ public final class CDCJobPreparer {
Dumper dumper = PipelineTypedSPILoader.getDatabaseTypedService(IncrementalDumperCreator.class, dumperConfig.getDataSourceConfig().getDatabaseType().getType())
.createIncrementalDumper(dumperConfig, dumperConfig.getPosition(), channel, jobItemContext.getSourceMetaDataLoader());
boolean needSorting = needSorting(ImporterType.INCREMENTAL, hasGlobalCSN(importerConfig.getDataSourceConfig().getDatabaseType()));
- Importer importer = importerUsed.get() ? null : new CDCImporter(channelProgressPairs, importerConfig.getBatchSize(), 300, TimeUnit.MILLISECONDS,
- jobItemContext.getSink(), needSorting, importerConfig.getRateLimitAlgorithm());
+ Importer importer = importerUsed.get() ? null
+ : new CDCImporter(channelProgressPairs, importerConfig.getBatchSize(), 300, TimeUnit.MILLISECONDS,
+ jobItemContext.getSink(), needSorting, importerConfig.getRateLimitAlgorithm());
PipelineTask incrementalTask = new CDCIncrementalTask(dumperConfig.getDataSourceName(), jobItemContext.getJobProcessContext().getIncrementalExecuteEngine(), dumper, importer, taskProgress);
jobItemContext.getIncrementalTasks().add(incrementalTask);
importerUsed.set(true);
diff --git a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java
index a6db39787e1..ad3f1b24177 100644
--- a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java
+++ b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java
@@ -50,11 +50,11 @@ public final class CDCSchemaTableUtils {
* @return map key is schema, value is table names
*/
public static Map<String, Set<String>> parseTableExpressionWithSchema(final ShardingSphereDatabase database, final Collection<SchemaTable> schemaTables) {
- Map<String, Set<String>> result = new HashMap<>();
Collection<String> systemSchemas = database.getProtocolType().getSystemSchemas();
if (schemaTables.stream().anyMatch(each -> "*".equals(each.getTable()) && ("*".equals(each.getSchema()) || each.getSchema().isEmpty()))) {
return parseTableExpressionWithAllTables(database, systemSchemas);
}
+ Map<String, Set<String>> result = new HashMap<>();
for (SchemaTable each : schemaTables) {
if ("*".equals(each.getSchema())) {
result.putAll(parseTableExpressionWithAllSchema(database, systemSchemas, each));
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java
index c87ce527f6d..a126d1d942d 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java
@@ -96,11 +96,11 @@ public final class SingleTableInventoryDataConsistencyChecker {
String schemaName = sourceTable.getSchemaName().getOriginal();
String sourceTableName = sourceTable.getTableName().getOriginal();
Map<String, Object> tableCheckPositions = progressContext.getTableCheckPositions();
- DataConsistencyCalculateParameter sourceParam = buildParameter(
- sourceDataSource, schemaName, sourceTableName, columnNames, sourceDatabaseType, targetDatabaseType, uniqueKey, tableCheckPositions.get(sourceTableName));
+ DataConsistencyCalculateParameter sourceParam = new DataConsistencyCalculateParameter(sourceDataSource,
+ schemaName, sourceTableName, columnNames, sourceDatabaseType, targetDatabaseType, uniqueKey, tableCheckPositions.get(sourceTableName));
String targetTableName = targetTable.getTableName().getOriginal();
- DataConsistencyCalculateParameter targetParam = buildParameter(targetDataSource, targetTable.getSchemaName().getOriginal(), targetTableName,
- columnNames, targetDatabaseType, sourceDatabaseType, uniqueKey, tableCheckPositions.get(targetTableName));
+ DataConsistencyCalculateParameter targetParam = new DataConsistencyCalculateParameter(targetDataSource,
+ targetTable.getSchemaName().getOriginal(), targetTableName, columnNames, targetDatabaseType, sourceDatabaseType, uniqueKey, tableCheckPositions.get(targetTableName));
Iterator<DataConsistencyCalculatedResult> sourceCalculatedResults = waitFuture(executor.submit(() -> calculateAlgorithm.calculate(sourceParam))).iterator();
Iterator<DataConsistencyCalculatedResult> targetCalculatedResults = waitFuture(executor.submit(() -> calculateAlgorithm.calculate(targetParam))).iterator();
try {
@@ -145,13 +145,6 @@ public final class SingleTableInventoryDataConsistencyChecker {
return jobId.length() <= 6 ? jobId : jobId.substring(0, 6);
}
- private DataConsistencyCalculateParameter buildParameter(final PipelineDataSourceWrapper sourceDataSource,
- final String schemaName, final String tableName, final List<String> columnNames,
- final String sourceDatabaseType, final String targetDatabaseType, final PipelineColumnMetaData uniqueKey,
- final Object tableCheckPosition) {
- return new DataConsistencyCalculateParameter(sourceDataSource, schemaName, tableName, columnNames, sourceDatabaseType, targetDatabaseType, uniqueKey, tableCheckPosition);
- }
-
private <T> T waitFuture(final Future<T> future) {
try {
return future.get();
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/sink/PipelineDataSourceSink.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/sink/PipelineDataSourceSink.java
index 13720675810..c75c6fc2498 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/sink/PipelineDataSourceSink.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/sink/PipelineDataSourceSink.java
@@ -166,25 +166,36 @@ public final class PipelineDataSourceSink implements PipelineSink {
}
}
- private void doFlush(final Connection connection, final DataRecord each) throws SQLException {
- switch (each.getType()) {
+ private void doFlush(final Connection connection, final List<DataRecord> buffer) {
+ // TODO it's better use transaction, but execute delete maybe not effect when open transaction of PostgreSQL sometimes
+ for (DataRecord each : buffer) {
+ try {
+ doFlush(connection, each);
+ } catch (final SQLException ex) {
+ throw new PipelineImporterJobWriteException(String.format("Write failed, record=%s", each), ex);
+ }
+ }
+ }
+
+ private void doFlush(final Connection connection, final DataRecord dataRecord) throws SQLException {
+ switch (dataRecord.getType()) {
case IngestDataChangeType.INSERT:
if (null != rateLimitAlgorithm) {
rateLimitAlgorithm.intercept(JobOperationType.INSERT, 1);
}
- executeBatchInsert(connection, Collections.singletonList(each));
+ executeBatchInsert(connection, Collections.singletonList(dataRecord));
break;
case IngestDataChangeType.UPDATE:
if (null != rateLimitAlgorithm) {
rateLimitAlgorithm.intercept(JobOperationType.UPDATE, 1);
}
- executeUpdate(connection, each);
+ executeUpdate(connection, dataRecord);
break;
case IngestDataChangeType.DELETE:
if (null != rateLimitAlgorithm) {
rateLimitAlgorithm.intercept(JobOperationType.DELETE, 1);
}
- executeBatchDelete(connection, Collections.singletonList(each));
+ executeBatchDelete(connection, Collections.singletonList(dataRecord));
break;
default:
}
@@ -279,14 +290,7 @@ public final class PipelineDataSourceSink implements PipelineSink {
return;
}
try (Connection connection = dataSource.getConnection()) {
- // TODO it's better use transaction, but execute delete maybe not effect when open transaction of PostgreSQL sometimes
- for (DataRecord each : buffer) {
- try {
- doFlush(connection, each);
- } catch (final SQLException ex) {
- throw new PipelineImporterJobWriteException(String.format("Write failed, record=%s", each), ex);
- }
- }
+ doFlush(connection, buffer);
} catch (final SQLException ex) {
throw new PipelineImporterJobWriteException(ex);
}
diff --git a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
index 8715e02b99f..388490e2f0e 100644
--- a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
+++ b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
@@ -184,6 +184,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Optional;
/**
* DDL statement visitor for MySQL.
@@ -349,50 +350,63 @@ public final class MySQLDDLStatementVisitor extends MySQLStatementVisitor implem
private Collection<AlterDefinitionSegment> getAlterDefinitionSegments(final AlterListContext ctx) {
Collection<AlterDefinitionSegment> result = new LinkedList<>();
for (AlterListItemContext each : ctx.alterListItem()) {
- if (each instanceof AddColumnContext) {
- result.add((AddColumnDefinitionSegment) visit(each));
- }
- if (each instanceof AlterConstraintContext || each instanceof AlterCheckContext) {
- result.add((AlterDefinitionSegment) visit(each));
- }
- if (each instanceof ChangeColumnContext) {
- result.add(generateModifyColumnDefinitionSegment((ChangeColumnContext) each));
- }
- if (each instanceof ModifyColumnContext) {
- result.add(generateModifyColumnDefinitionSegment((ModifyColumnContext) each));
- }
- if (each instanceof AlterTableDropContext) {
- AlterTableDropContext alterTableDrop = (AlterTableDropContext) each;
- if (null != alterTableDrop.CHECK() || null != alterTableDrop.CONSTRAINT()) {
- ConstraintSegment constraintSegment = new ConstraintSegment(alterTableDrop.identifier().getStart().getStartIndex(), alterTableDrop.identifier().getStop().getStopIndex(),
- (IdentifierValue) visit(alterTableDrop.identifier()));
- result.add(new DropConstraintDefinitionSegment(ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex(), constraintSegment));
- } else if (null == alterTableDrop.KEY() && null == alterTableDrop.keyOrIndex()) {
- result.add(generateDropColumnDefinitionSegment(alterTableDrop));
- } else if (null != alterTableDrop.keyOrIndex()) {
- IndexSegment indexSegment = (IndexSegment) visit(alterTableDrop.indexName());
- result.add(new DropIndexDefinitionSegment(ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex(), indexSegment));
- }
- }
- if (each instanceof AddTableConstraintContext) {
- result.add((AddConstraintDefinitionSegment) visit(each));
- }
- if (each instanceof AlterRenameTableContext) {
- result.add((RenameTableDefinitionSegment) visit(each));
- }
- if (each instanceof AlterConvertContext) {
- result.add((ConvertTableDefinitionSegment) visit(each));
- }
- if (each instanceof RenameColumnContext) {
- result.add((RenameColumnSegment) visit(each));
- }
- if (each instanceof RenameIndexContext) {
- result.add((RenameIndexDefinitionSegment) visit(each));
- }
+ getAlterDefinitionSegment(ctx, each).ifPresent(result::add);
}
return result;
}
+ private Optional<AlterDefinitionSegment> getAlterDefinitionSegment(final AlterListContext alterListContext, final AlterListItemContext alterListItemContext) {
+ if (alterListItemContext instanceof AddColumnContext) {
+ return Optional.of((AddColumnDefinitionSegment) visit(alterListItemContext));
+ }
+ if (alterListItemContext instanceof AlterConstraintContext || alterListItemContext instanceof AlterCheckContext) {
+ return Optional.of((AlterDefinitionSegment) visit(alterListItemContext));
+ }
+ if (alterListItemContext instanceof ChangeColumnContext) {
+ return Optional.of(generateModifyColumnDefinitionSegment((ChangeColumnContext) alterListItemContext));
+ }
+ if (alterListItemContext instanceof ModifyColumnContext) {
+ return Optional.of(generateModifyColumnDefinitionSegment((ModifyColumnContext) alterListItemContext));
+ }
+ if (alterListItemContext instanceof AlterTableDropContext) {
+ return getDropItemDefinitionSegment(alterListContext, (AlterTableDropContext) alterListItemContext);
+ }
+ if (alterListItemContext instanceof AddTableConstraintContext) {
+ return Optional.of((AddConstraintDefinitionSegment) visit(alterListItemContext));
+ }
+ if (alterListItemContext instanceof AlterRenameTableContext) {
+ return Optional.of((RenameTableDefinitionSegment) visit(alterListItemContext));
+ }
+ if (alterListItemContext instanceof AlterConvertContext) {
+ return Optional.of((ConvertTableDefinitionSegment) visit(alterListItemContext));
+ }
+ if (alterListItemContext instanceof RenameColumnContext) {
+ return Optional.of((RenameColumnSegment) visit(alterListItemContext));
+ }
+ if (alterListItemContext instanceof RenameIndexContext) {
+ return Optional.of((RenameIndexDefinitionSegment) visit(alterListItemContext));
+ }
+ return Optional.empty();
+ }
+
+ private Optional<AlterDefinitionSegment> getDropItemDefinitionSegment(final AlterListContext alterListContext, final AlterTableDropContext alterTableDrop) {
+ if (null != alterTableDrop.CHECK() || null != alterTableDrop.CONSTRAINT()) {
+ ConstraintSegment constraint = new ConstraintSegment(alterTableDrop.identifier().getStart().getStartIndex(), alterTableDrop.identifier().getStop().getStopIndex(),
+ (IdentifierValue) visit(alterTableDrop.identifier()));
+ return Optional.of(new DropConstraintDefinitionSegment(alterListContext.getStart().getStartIndex(), alterListContext.getStop().getStopIndex(), constraint));
+ }
+ if (null == alterTableDrop.KEY() && null == alterTableDrop.keyOrIndex()) {
+ ColumnSegment column = new ColumnSegment(alterTableDrop.columnInternalRef.start.getStartIndex(), alterTableDrop.columnInternalRef.stop.getStopIndex(),
+ (IdentifierValue) visit(alterTableDrop.columnInternalRef));
+ return Optional.of(new DropColumnDefinitionSegment(alterTableDrop.getStart().getStartIndex(), alterTableDrop.getStop().getStopIndex(), Collections.singleton(column)));
+ }
+ if (null != alterTableDrop.keyOrIndex()) {
+ return Optional.of(
+ new DropIndexDefinitionSegment(alterListContext.getStart().getStartIndex(), alterListContext.getStop().getStopIndex(), (IndexSegment) visit(alterTableDrop.indexName())));
+ }
+ return Optional.empty();
+ }
+
@Override
public ASTNode visitAlterAlgorithmOption(final AlterAlgorithmOptionContext ctx) {
AlgorithmOption algorithmOption = null;
@@ -472,12 +486,6 @@ public final class MySQLDDLStatementVisitor extends MySQLStatementVisitor implem
return result;
}
- private DropColumnDefinitionSegment generateDropColumnDefinitionSegment(final AlterTableDropContext ctx) {
- ColumnSegment column = new ColumnSegment(ctx.columnInternalRef.start.getStartIndex(), ctx.columnInternalRef.stop.getStopIndex(),
- (IdentifierValue) visit(ctx.columnInternalRef));
- return new DropColumnDefinitionSegment(ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex(), Collections.singletonList(column));
- }
-
private ModifyColumnDefinitionSegment generateModifyColumnDefinitionSegment(final ModifyColumnContext ctx) {
ColumnSegment column = new ColumnSegment(ctx.columnInternalRef.start.getStartIndex(), ctx.columnInternalRef.stop.getStopIndex(), (IdentifierValue) visit(ctx.columnInternalRef));
ModifyColumnDefinitionSegment result = new ModifyColumnDefinitionSegment(
diff --git a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
index 41e550f64e6..5586241bc55 100644
--- a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
+++ b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
@@ -247,6 +247,7 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Optional;
+import java.util.stream.Collectors;
/**
* DDL statement visitor for openGauss.
@@ -328,7 +329,7 @@ public final class OpenGaussDDLStatementVisitor extends OpenGaussStatementVisito
public ASTNode visitAlterDefinitionClause(final AlterDefinitionClauseContext ctx) {
CollectionValue<AlterDefinitionSegment> result = new CollectionValue<>();
if (null != ctx.alterTableActions()) {
- result.getValue().addAll(getAlterDefinitionSegments(ctx));
+ result.getValue().addAll(ctx.alterTableActions().alterTableAction().stream().flatMap(each -> getAlterDefinitionSegments(each).stream()).collect(Collectors.toList()));
}
if (null != ctx.renameTableSpecification()) {
result.getValue().add((RenameTableDefinitionSegment) visit(ctx.renameTableSpecification()));
@@ -337,30 +338,28 @@ public final class OpenGaussDDLStatementVisitor extends OpenGaussStatementVisito
}
@SuppressWarnings("unchecked")
- private Collection<AlterDefinitionSegment> getAlterDefinitionSegments(final AlterDefinitionClauseContext ctx) {
+ private Collection<AlterDefinitionSegment> getAlterDefinitionSegments(final AlterTableActionContext ctx) {
Collection<AlterDefinitionSegment> result = new LinkedList<>();
- for (AlterTableActionContext each : ctx.alterTableActions().alterTableAction()) {
- if (null != each.addColumnSpecification()) {
- result.addAll(((CollectionValue<AddColumnDefinitionSegment>) visit(each.addColumnSpecification())).getValue());
- }
- if (null != each.addConstraintSpecification() && null != each.addConstraintSpecification().tableConstraint()) {
- result.add((AddConstraintDefinitionSegment) visit(each.addConstraintSpecification()));
- }
- if (null != each.validateConstraintSpecification()) {
- result.add((ValidateConstraintDefinitionSegment) visit(each.validateConstraintSpecification()));
- }
- if (null != each.modifyColumnSpecification()) {
- result.add((ModifyColumnDefinitionSegment) visit(each.modifyColumnSpecification()));
- }
- if (null != each.modifyConstraintSpecification()) {
- result.add((ModifyConstraintDefinitionSegment) visit(each.modifyConstraintSpecification()));
- }
- if (null != each.dropColumnSpecification()) {
- result.add((DropColumnDefinitionSegment) visit(each.dropColumnSpecification()));
- }
- if (null != each.dropConstraintSpecification()) {
- result.add((DropConstraintDefinitionSegment) visit(each.dropConstraintSpecification()));
- }
+ if (null != ctx.addColumnSpecification()) {
+ result.addAll(((CollectionValue<AddColumnDefinitionSegment>) visit(ctx.addColumnSpecification())).getValue());
+ }
+ if (null != ctx.addConstraintSpecification() && null != ctx.addConstraintSpecification().tableConstraint()) {
+ result.add((AddConstraintDefinitionSegment) visit(ctx.addConstraintSpecification()));
+ }
+ if (null != ctx.validateConstraintSpecification()) {
+ result.add((ValidateConstraintDefinitionSegment) visit(ctx.validateConstraintSpecification()));
+ }
+ if (null != ctx.modifyColumnSpecification()) {
+ result.add((ModifyColumnDefinitionSegment) visit(ctx.modifyColumnSpecification()));
+ }
+ if (null != ctx.modifyConstraintSpecification()) {
+ result.add((ModifyConstraintDefinitionSegment) visit(ctx.modifyConstraintSpecification()));
+ }
+ if (null != ctx.dropColumnSpecification()) {
+ result.add((DropColumnDefinitionSegment) visit(ctx.dropColumnSpecification()));
+ }
+ if (null != ctx.dropConstraintSpecification()) {
+ result.add((DropConstraintDefinitionSegment) visit(ctx.dropConstraintSpecification()));
}
return result;
}
diff --git a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
index 541fa851f86..5a2ba04d303 100644
--- a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
+++ b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
@@ -320,6 +320,7 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Optional;
+import java.util.stream.Collectors;
/**
* DDL statement visitor for PostgreSQL.
@@ -411,7 +412,7 @@ public final class PostgreSQLDDLStatementVisitor extends PostgreSQLStatementVisi
public ASTNode visitAlterDefinitionClause(final AlterDefinitionClauseContext ctx) {
CollectionValue<AlterDefinitionSegment> result = new CollectionValue<>();
if (null != ctx.alterTableActions()) {
- result.getValue().addAll(getAlterDefinitionSegments(ctx));
+ result.getValue().addAll(ctx.alterTableActions().alterTableAction().stream().flatMap(each -> getAlterDefinitionSegments(each).stream()).collect(Collectors.toList()));
}
if (null != ctx.renameTableSpecification()) {
result.getValue().add((RenameTableDefinitionSegment) visit(ctx.renameTableSpecification()));
@@ -420,30 +421,28 @@ public final class PostgreSQLDDLStatementVisitor extends PostgreSQLStatementVisi
}
@SuppressWarnings("unchecked")
- private Collection<AlterDefinitionSegment> getAlterDefinitionSegments(final AlterDefinitionClauseContext ctx) {
+ private Collection<AlterDefinitionSegment> getAlterDefinitionSegments(final AlterTableActionContext ctx) {
Collection<AlterDefinitionSegment> result = new LinkedList<>();
- for (AlterTableActionContext each : ctx.alterTableActions().alterTableAction()) {
- if (null != each.addColumnSpecification()) {
- result.addAll(((CollectionValue<AddColumnDefinitionSegment>) visit(each.addColumnSpecification())).getValue());
- }
- if (null != each.addConstraintSpecification() && null != each.addConstraintSpecification().tableConstraint()) {
- result.add((AddConstraintDefinitionSegment) visit(each.addConstraintSpecification()));
- }
- if (null != each.validateConstraintSpecification()) {
- result.add((ValidateConstraintDefinitionSegment) visit(each.validateConstraintSpecification()));
- }
- if (null != each.modifyColumnSpecification()) {
- result.add((ModifyColumnDefinitionSegment) visit(each.modifyColumnSpecification()));
- }
- if (null != each.modifyConstraintSpecification()) {
- result.add((ModifyConstraintDefinitionSegment) visit(each.modifyConstraintSpecification()));
- }
- if (null != each.dropColumnSpecification()) {
- result.add((DropColumnDefinitionSegment) visit(each.dropColumnSpecification()));
- }
- if (null != each.dropConstraintSpecification()) {
- result.add((DropConstraintDefinitionSegment) visit(each.dropConstraintSpecification()));
- }
+ if (null != ctx.addColumnSpecification()) {
+ result.addAll(((CollectionValue<AddColumnDefinitionSegment>) visit(ctx.addColumnSpecification())).getValue());
+ }
+ if (null != ctx.addConstraintSpecification() && null != ctx.addConstraintSpecification().tableConstraint()) {
+ result.add((AddConstraintDefinitionSegment) visit(ctx.addConstraintSpecification()));
+ }
+ if (null != ctx.validateConstraintSpecification()) {
+ result.add((ValidateConstraintDefinitionSegment) visit(ctx.validateConstraintSpecification()));
+ }
+ if (null != ctx.modifyColumnSpecification()) {
+ result.add((ModifyColumnDefinitionSegment) visit(ctx.modifyColumnSpecification()));
+ }
+ if (null != ctx.modifyConstraintSpecification()) {
+ result.add((ModifyConstraintDefinitionSegment) visit(ctx.modifyConstraintSpecification()));
+ }
+ if (null != ctx.dropColumnSpecification()) {
+ result.add((DropColumnDefinitionSegment) visit(ctx.dropColumnSpecification()));
+ }
+ if (null != ctx.dropConstraintSpecification()) {
+ result.add((DropConstraintDefinitionSegment) visit(ctx.dropConstraintSpecification()));
}
return result;
}
diff --git a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/OwnerAvailable.java b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/OwnerAvailable.java
index 63630f95081..5ebc507c7e1 100644
--- a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/OwnerAvailable.java
+++ b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/OwnerAvailable.java
@@ -17,15 +17,13 @@
package org.apache.shardingsphere.sql.parser.sql.common.segment.generic;
-import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
-
import java.util.Optional;
/**
* Owner available.
*
*/
-public interface OwnerAvailable extends SQLSegment {
+public interface OwnerAvailable {
/**
* Get owner.
diff --git a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleAlterSynonymStatement.java b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleAlterSynonymStatement.java
index d316fb382b5..82f9231dd4b 100644
--- a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleAlterSynonymStatement.java
+++ b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleAlterSynonymStatement.java
@@ -18,11 +18,10 @@
package org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.ddl;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterSynonymStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.OracleStatement;
/**
* Oracle alter synonym statement.
*/
-public final class OracleAlterSynonymStatement extends AlterSynonymStatement implements DDLStatement, OracleStatement {
+public final class OracleAlterSynonymStatement extends AlterSynonymStatement implements OracleStatement {
}
diff --git a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleDropDirectoryStatement.java b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleDropDirectoryStatement.java
index 623b667d0f4..f3cc4eff26d 100644
--- a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleDropDirectoryStatement.java
+++ b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleDropDirectoryStatement.java
@@ -17,12 +17,11 @@
package org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.ddl;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropDirectoryStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.OracleStatement;
/**
* Oracle drop directory statement.
*/
-public final class OracleDropDirectoryStatement extends DropDirectoryStatement implements DDLStatement, OracleStatement {
+public final class OracleDropDirectoryStatement extends DropDirectoryStatement implements OracleStatement {
}
diff --git a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterTriggerStatement.java b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterTriggerStatement.java
index 96cf7319cf6..61f62f22812 100644
--- a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterTriggerStatement.java
+++ b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterTriggerStatement.java
@@ -18,11 +18,10 @@
package org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterTriggerStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
/**
* SQLServer alter trigger statement.
*/
-public final class SQLServerAlterTriggerStatement extends AlterTriggerStatement implements DDLStatement, SQLServerStatement {
+public final class SQLServerAlterTriggerStatement extends AlterTriggerStatement implements SQLServerStatement {
}
diff --git a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateTriggerStatement.java b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateTriggerStatement.java
index 5b1d77e6409..fd459744c29 100644
--- a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateTriggerStatement.java
+++ b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateTriggerStatement.java
@@ -18,11 +18,10 @@
package org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateTriggerStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
/**
* SQLServer create trigger statement.
*/
-public final class SQLServerCreateTriggerStatement extends CreateTriggerStatement implements DDLStatement, SQLServerStatement {
+public final class SQLServerCreateTriggerStatement extends CreateTriggerStatement implements SQLServerStatement {
}
diff --git a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerDropTriggerStatement.java b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerDropTriggerStatement.java
index 2409b7e5a07..c000e57256a 100644
--- a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerDropTriggerStatement.java
+++ b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerDropTriggerStatement.java
@@ -17,12 +17,11 @@
package org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTriggerStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
/**
* SQLServer drop trigger statement.
*/
-public final class SQLServerDropTriggerStatement extends DropTriggerStatement implements DDLStatement, SQLServerStatement {
+public final class SQLServerDropTriggerStatement extends DropTriggerStatement implements SQLServerStatement {
}