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 <[email protected]>
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 {
}