You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/07/15 07:30:41 UTC

[shardingsphere] branch master updated: Refactor SQLParserTestCases#getAllSQLParserTestCases (#19123)

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

duanzhengqiang 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 5218a421176 Refactor SQLParserTestCases#getAllSQLParserTestCases (#19123)
5218a421176 is described below

commit 5218a421176c113654f639675de94e1284dc2672
Author: liguoping <xd...@163.com>
AuthorDate: Fri Jul 15 15:30:28 2022 +0800

    Refactor SQLParserTestCases#getAllSQLParserTestCases (#19123)
    
    * Refactor SQLParserTestCases#getAllSQLParserTestCases
    
    * isSQLParserTestCasesField method
---
 .../jaxb/cases/domain/SQLParserTestCases.java      | 408 ++-------------------
 1 file changed, 22 insertions(+), 386 deletions(-)

diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index f934d6da3c3..a81d02f9546 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 
 import com.google.common.base.Preconditions;
 import lombok.Getter;
+import lombok.SneakyThrows;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.CommonStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.AlterResourceGroupStatementTestCase;
@@ -408,6 +409,8 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.ParameterizedType;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -1586,398 +1589,31 @@ public final class SQLParserTestCases {
      * @return all SQL parser test cases
      */
     // CHECKSTYLE:OFF
+    @SneakyThrows(IllegalAccessException.class)
     public Map<String, SQLParserTestCase> getAllSQLParserTestCases() {
         Map<String, SQLParserTestCase> result = new HashMap<>();
-        putAll(selectTestCases, result);
-        putAll(updateTestCases, result);
-        putAll(deleteTestCases, result);
-        putAll(insertTestCases, result);
-        putAll(createTableTestCases, result);
-        putAll(createEditionTestCases, result);
-        putAll(alterTableTestCases, result);
-        putAll(dropTableTestCases, result);
-        putAll(lockTableTestCases, result);
-        putAll(dropTextSearchTestCases, result);
-        putAll(truncateTestCases, result);
-        putAll(dropEditionTestCases, result);
-        putAll(dropOutlineTestCases, result);
-        putAll(alterOutlineTestCases, result);
-        putAll(createIndexTestCases, result);
-        putAll(alterIndexTestCases, result);
-        putAll(dropIndexTestCases, result);
-        putAll(setConstraintsTestCases, result);
-        putAll(setTransactionTestCases, result);
-        putAll(beginTransactionTestCases, result);
-        putAll(setAutoCommitTestCases, result);
-        putAll(commitTestCases, result);
-        putAll(rollbackTestCases, result);
-        putAll(savepointTestCases, result);
-        putAll(grantTestCases, result);
-        putAll(revokeTestCases, result);
-        putAll(createUserTestCases, result);
-        putAll(alterUserTestCases, result);
-        putAll(dropUserTestCases, result);
-        putAll(renameUserTestCases, result);
-        putAll(denyUserTestCases, result);
-        putAll(createLoginTestCases, result);
-        putAll(alterLoginTestCases, result);
-        putAll(dropLoginTestCases, result);
-        putAll(createRoleTestCases, result);
-        putAll(alterRoleTestCases, result);
-        putAll(dropRoleTestCases, result);
-        putAll(setDefaultRoleTestCases, result);
-        putAll(setRoleTestCases, result);
-        putAll(setPasswordTestCases, result);
-        putAll(useTestCases, result);
-        putAll(describeTestCases, result);
-        putAll(showDatabasesTestCases, result);
-        putAll(showTablesTestCases, result);
-        putAll(showFunctionStatusTestCases, result);
-        putAll(showProcedureStatusTestCases, result);
-        putAll(showRelaylogEventsTestCases, result);
-        putAll(showSlaveHostsTestCases, result);
-        putAll(showProcedureCodeTestCases, result);
-        putAll(showColumnsTestCases, result);
-        putAll(showCreateTableTestCases, result);
-        putAll(showCreateTriggerTestCases, result);
-        putAll(showCreateUserTestCases, result);
-        putAll(showTableStatusTestCases, result);
-        putAll(showIndexTestCases, result);
-        putAll(showTestCases, result);
-        putAll(setParameterTestCases, result);
-        putAll(commonTestCases, result);
-        putAll(alterFunctionTestCases, result);
-        putAll(alterServerTestCases, result);
-        putAll(alterSessionTestCases, result);
-        putAll(alterSynonymTestCases, result);
-        putAll(alterTypeTestCases, result);
-        putAll(alterRuleTestCases, result);
-        putAll(alterRoutineTestCases, result);
-        putAll(alterDirectoryTestCases, result);
-        putAll(alterSystemTestCases, result);
-        putAll(alterProcedureTestCases, result);
-        putAll(alterPublicationTestCases, result);
-        putAll(alterPolicyTestCases, result);
-        putAll(alterDatabaseTestCases, result);
-        putAll(alterDimensionTestCases, result);
-        putAll(createViewTestCases, result);
-        putAll(createSynonymTestCases, result);
-        putAll(createAggregateTestCases, result);
-        putAll(createPublicationTestCases, result);
-        putAll(dropSynonymTestCases, result);
-        putAll(createDirectoryTestCases, result);
-        putAll(createTriggerTestCases, result);
-        putAll(createServerTestCases, result);
-        putAll(createProcedureTestCases, result);
-        putAll(createFunctionTestCases, result);
-        putAll(createDatabaseTestCases, result);
-        putAll(createDatabaseLinkTestCases, result);
-        putAll(dropDatabaseLinkTestCases, result);
-        putAll(alterDatabaseDictionaryTestCases, result);
-        putAll(alterDatabaseLinkTestCases, result);
-        putAll(alterViewTestCases, result);
-        putAll(alterPackageTestCases, result);
-        putAll(dropPackageTestCases, result);
-        putAll(createDimensionTestCases, result);
-        putAll(dropDimensionTestCases, result);
-        putAll(dropDirectoryTestCases, result);
-        putAll(dropViewTestCases, result);
-        putAll(dropTriggerTestCases, result);
-        putAll(alterTriggerTestCases, result);
-        putAll(dropEventTriggerTestCases, result);
-        putAll(showTriggerTestCases, result);
-        putAll(dropServerTestCases, result);
-        putAll(dropPolicyTestCases, result);
-        putAll(dropProcedureTestCases, result);
-        putAll(dropRoutineTestCases, result);
-        putAll(dropRuleTestCases, result);
-        putAll(dropStatisticsTestCases, result);
-        putAll(dropPublicationTestCases, result);
-        putAll(dropSubscriptionTestCases, result);
-        putAll(dropFunctionTestCases, result);
-        putAll(dropGroupTestCases, result);
-        putAll(dropDatabaseTestCases, result);
-        putAll(callProcedureTestCases, result);
-        putAll(doTestCases, result);
-        putAll(copyTestCases, result);
-        putAll(xaTestCases, result);
-        putAll(mergeTestCases, result);
-        putAll(createSequenceTestCases, result);
-        putAll(alterSequenceTestCases, result);
-        putAll(dropSequenceTestCases, result);
-        putAll(analyzeTestCases, result);
-        putAll(associateStatisticsTestCases, result);
-        putAll(disassociateStatisticsTestCases, result);
-        putAll(auditTestCases, result);
-        putAll(noAuditTestCases, result);
-        putAll(commentTestCases, result);
-        putAll(flashbackDatabaseTestCases, result);
-        putAll(flashbackTableTestCases, result);
-        putAll(purgeTestCases, result);
-        putAll(renameTestCases, result);
-        putAll(addResourceTestCases, result);
-        putAll(alterResourceTestCases, result);
-        putAll(alterDatabaseDiscoveryDefinitionRuleTestCases, result);
-        putAll(alterDataBaseDiscoveryConstructionRuleTestCases, result);
-        putAll(alterEncryptRuleTestCases, result);
-        putAll(alterReadwriteSplittingRuleTestCases, result);
-        putAll(alterShardingBindingTableRulesTestCases, result);
-        putAll(alterShardingBroadcastTableRulesTestCases, result);
-        putAll(alterShardingAutoTableRuleTestCases, result);
-        putAll(createDatabaseDiscoveryDefinitionRuleTestCases, result);
-        putAll(createDataBaseDiscoveryConstructionRuleTestCases, result);
-        putAll(createDatabaseDiscoveryTypeTestCases, result);
-        putAll(createDatabaseDiscoveryHeartbeatTestCases, result);
-        putAll(alterDatabaseDiscoveryHeartbeatTestCases, result);
-        putAll(alterDatabaseDiscoveryTypeTestCases, result);
-        putAll(createEncryptRuleTestCases, result);
-        putAll(createReadwriteSplittingRuleTestCases, result);
-        putAll(createShardingBindingTableRulesTestCases, result);
-        putAll(createShardingBroadcastTableRulesTestCases, result);
-        putAll(createShardingAutoTableRuleTestCases, result);
-        putAll(dropDataBaseDiscoveryRuleTestCases, result);
-        putAll(dropDataBaseDiscoveryTypeTestCases, result);
-        putAll(dropDataBaseDiscoveryHeartbeatTestCases, result);
-        putAll(dropResourceTestCases, result);
-        putAll(dropEncryptRuleTestCases, result);
-        putAll(dropReadwriteSplittingRuleTestCases, result);
-        putAll(dropShardingBindingTableRulesTestCases, result);
-        putAll(dropShardingBroadcastTableRulesTestCases, result);
-        putAll(dropShardingTableRuleTestCases, result);
-        putAll(showDataBaseDiscoveryRulesTestCases, result);
-        putAll(showEncryptRulesTestCases, result);
-        putAll(showReadwriteSplittingRulesTestCases, result);
-        putAll(showShardingBindingTableRulesTestCases, result);
-        putAll(showShardingBroadcastTableRulesTestCases, result);
-        putAll(showShardingAlgorithmsTestCases, result);
-        putAll(showShardingAuditorsTestCases, result);
-        putAll(showShardingTableRulesTestCases, result);
-        putAll(showShardingTableRuleTestCases, result);
-        putAll(showScalingListTestCases, result);
-        putAll(checkScalingTestCases, result);
-        putAll(showScalingStatusTestCases, result);
-        putAll(showScalingCheckAlgorithmsTestCases, result);
-        putAll(stopScalingSourceWritingTestCases, result);
-        putAll(restoreScalingSourceWritingTestCases, result);
-        putAll(applyScalingTestCases, result);
-        putAll(resetScalingTestCases, result);
-        putAll(dropScalingTestCases, result);
-        putAll(stopScalingTestCases, result);
-        putAll(startScalingTestCases, result);
-        putAll(createShardingScalingRuleTestCases, result);
-        putAll(dropShardingScalingRuleTestCases, result);
-        putAll(enableShardingScalingRuleTestCases, result);
-        putAll(disableShardingScalingRuleTestCases, result);
-        putAll(showShardingScalingRulesTestCases, result);
-        putAll(showVariableTestCases, result);
-        putAll(showAllVariableTestCases, result);
-        putAll(setVariableTestCases, result);
-        putAll(previewTestCases, result);
-        putAll(parseStatementAsserts, result);
-        putAll(setReadwriteSplittingHintTestCases, result);
-        putAll(setShardingHintDatabaseValueTestCases, result);
-        putAll(addShardingHintDatabaseValueTestCases, result);
-        putAll(addShardingHintTableValueTestCases, result);
-        putAll(showReadwriteSplittingHintStatusTestCases, result);
-        putAll(showShardingHintStatusTestCases, result);
-        putAll(clearReadwriteSplittingHintTestCases, result);
-        putAll(clearShardingHintTestCases, result);
-        putAll(clearHintTestCases, result);
-        putAll(createShadowRuleTestCases, result);
-        putAll(dropShadowRuleTestCases, result);
-        putAll(alterShadowRuleTestCases, result);
-        putAll(alterShadowAlgorithmTestCases, result);
-        putAll(showShadowRulesTestCases, result);
-        putAll(showShadowTableRulesTestCases, result);
-        putAll(showShadowAlgorithmsTestCases, result);
-        putAll(dropShadowAlgorithmTestCases, result);
-        putAll(createServiceTestCases, result);
-        putAll(alterServiceTestCases, result);
-        putAll(dropServiceTestCases, result);
-        putAll(createSchemaTestCases, result);
-        putAll(alterSchemaTestCases, result);
-        putAll(dropSchemaTestCases, result);
-        putAll(installComponentTestCases, result);
-        putAll(flushTestCases, result);
-        putAll(installPluginTestCases, result);
-        putAll(showInstanceTestCases, result);
-        putAll(cloneTestCases, result);
-        putAll(showReadwriteSplittingReadResourcesTestCases, result);
-        putAll(uninstallComponentTestCases, result);
-        putAll(alterResourceGroupTestCases, result);
-        putAll(createResourceGroupTestCases, result);
-        putAll(dropResourceGroupTestCases, result);
-        putAll(binlogTestCases, result);
-        putAll(uninstallPluginTestCases, result);
-        putAll(showSingleTableTestCases, result);
-        putAll(showSingleTableRulesTestCases, result);
-        putAll(showShardingTableNodesTestCases, result);
-        putAll(setResourceGroupTestCases, result);
-        putAll(optimizeTableTestCases, result);
-        putAll(repairTableTestCases, result);
-        putAll(createShardingAlgorithmTestCases, result);
-        putAll(createShardingKeyGeneratorTestCases, result);
-        putAll(createShardingAuditorTestCases, result);
-        putAll(createDefaultShardingStrategyTestCases, result);
-        putAll(alterDefaultShardingStrategyTestCases, result);
-        putAll(createShardingTableRuleTestCases, result);
-        putAll(alterShardingTableRuleTestCases, result);
-        putAll(resetTestCases, result);
-        putAll(resetPersistTestCases, result);
-        putAll(showReplicasTestCases, result);
-        putAll(showReplicaStatusTestCases, result);
-        putAll(showSlaveStatusTestCases, result);
-        putAll(alterShardingAlgorithmTestCases, result);
-        putAll(alterShardingKeyGeneratorTestCases, result);
-        putAll(alterShardingAuditorTestCases, result);
-        putAll(killTestCases, result);
-        putAll(createDefaultShadowAlgorithmTestCases, result);
-        putAll(cacheIndexTestCases, result);
-        putAll(loadIndexInfoTestCases, result);
-        putAll(createShadowAlgorithmTestCases, result);
-        putAll(createDefaultSingleTableRuleTestCases, result);
-        putAll(alterDefaultSingleTableRuleTestCases, result);
-        putAll(dropDefaultSingleTableRuleTestCases, result);
-        putAll(shutdownTestCases, result);
-        putAll(showOpenTablesTestCases, result);
-        putAll(showStatusTestCases, result);
-        putAll(checkTableTestCases, result);
-        putAll(checksumTableTestCases, result);
-        putAll(refreshTableMetadataTestCases, result);
-        putAll(showEventsTestCases, result);
-        putAll(showCharacterSetTestCases, result);
-        putAll(showCollationTestCases, result);
-        putAll(showVariablesTestCases, result);
-        putAll(showShardingKeyGeneratorsTestCases, result);
-        putAll(showDefaultShardingStrategyTestCases, result);
-        putAll(dropShardingKeyGeneratorTestCases, result);
-        putAll(dropDefaultShardingStrategyTestCases, result);
-        putAll(delimiterTestCases, result);
-        putAll(dropDomainTestCases, result);
-        putAll(showSQLParserRuleTestCases, result);
-        putAll(createDomainTestCases, result);
-        putAll(createRuleTestCases, result);
-        putAll(showAuthorityRuleTestCases, result);
-        putAll(showTransactionRuleTestCases, result);
-        putAll(showTrafficRulesTestCases, result);
-        putAll(createTrafficRulesTestCases, result);
-        putAll(alterTrafficRulesTestCases, result);
-        putAll(alterSQLParserRuleTestCases, result);
-        putAll(createTypeTestCases, result);
-        putAll(createConversionTestCases, result);
-        putAll(createCastTestCases, result);
-        putAll(dropConversionTestCases, result);
-        putAll(alterDomainTestCases, result);
-        putAll(alterAggregateTestCases, result);
-        putAll(alterConversionTestCases, result);
-        putAll(alterCollationTestCases, result);
-        putAll(alterDefaultPrivilegesTestCases, result);
-        putAll(alterForeignDataWrapperTestCases, result);
-        putAll(alterForeignTableTestCases, result);
-        putAll(dropForeignTableTestCases, result);
-        putAll(alterGroupTestCases, result);
-        putAll(alterMaterializedViewTestCases, result);
-        putAll(alterJavaTestCases, result);
-        putAll(alterAuditPolicyTestCases, result);
-        putAll(alterClusterTestCases, result);
-        putAll(alterDiskgroupTestCases, result);
-        putAll(alterOperatorTestCases, result);
-        putAll(createTextSearchTestCases, result);
-        putAll(alterTextSearchTestCases, result);
-        putAll(createLanguageTestCases, result);
-        putAll(alterLanguageTestCases, result);
-        putAll(dropLanguageTestCases, result);
-        putAll(showTableMetadataTestCases, result);
-        putAll(dropTrafficRuleTestCases, result);
-        putAll(labelTestCases, result);
-        putAll(unlabelTestCases, result);
-        putAll(alterInstanceTestCases, result);
-        putAll(prepareDistSQLTestCases, result);
-        putAll(applyDistSQLTestCases, result);
-        putAll(discardDistSQLTestCases, result);
-        putAll(helpTestCases, result);
-        putAll(showUnusedShardingAlgorithmsTestCases, result);
-        putAll(showUnusedShardingKeyGeneratorsTestCases, result);
-        putAll(renameTableTestCases, result);
-        putAll(showBinlogEventsTestCases, result);
-        putAll(createExtensionTestCases, result);
-        putAll(countDatabaseRulesTestCases, result);
-        putAll(alterExtensionTestCases, result);
-        putAll(dropExtensionTestCases, result);
-        putAll(declareTestCases, result);
-        putAll(discardTestCases, result);
-        putAll(lockTestCases, result);
-        putAll(unlockTestCases, result);
-        putAll(exportDatabaseConfigurationTestCases, result);
-        putAll(showRulesUsedResourceTestCases, result);
-        putAll(preparedTestCases, result);
-        putAll(showShardingTableRulesUsedAlgorithmTestCases, result);
-        putAll(showShardingTableRulesUsedKeyGeneratorTestCases, result);
-        putAll(setUserTestCases, result);
-        putAll(dropShardingAlgorithmTestCases, result);
-        putAll(createTablespaceTestCases, result);
-        putAll(importDatabaseConfigurationTestCases, result);
-        putAll(dropOwnedTestCases, result);
-        putAll(dropOperatorTestCases, result);
-        putAll(dropMaterializedViewTestCases, result);
-        putAll(dropCastTestCases, result);
-        putAll(dropAggregateTestCases, result);
-        putAll(dropCollationTestCases, result);
-        putAll(dropForeignDataWrapperTestCases, result);
-        putAll(dropTypeTestCases, result);
-        putAll(dropOperatorClassTestCases, result);
-        putAll(dropOperatorFamilyTestCases, result);
-        putAll(dropAccessMethodTestCases, result);
-        putAll(revertTestCases, result);
-        putAll(alterAnalyticViewTestCases, result);
-        putAll(alterAttributeDimensionTestCases, result);
-        putAll(createContextTestCases, result);
-        putAll(createSPFileTestCases, result);
-        putAll(createPFileTestCases, result);
-        putAll(createControlFileTestCases, result);
-        putAll(createFlashbackArchiveTestCases, result);
-        putAll(alterFlashbackArchiveTestCases, result);
-        putAll(dropFlashbackArchiveTestCases, result);
-        putAll(createDiskgroupTestCases, result);
-        putAll(dropDiskgroupTestCases, result);
-        putAll(createRollbackSegmentTestCases, result);
-        putAll(dropRollbackSegmentTestCases, result);
-        putAll(listenTestCases, result);
-        putAll(notifyTestCases, result);
-        putAll(refreshMatViewStmtStatementTestCases, result);
-        putAll(reindexStatementTestCases, result);
-        putAll(unlistenTestCases, result);
-        putAll(securityLabelStmtStatementTestCases, result);
-        putAll(createLockdownProfileTestCases, result);
-        putAll(dropLockdownProfileTestCases, result);
-        putAll(createInmemoryJoinGroupTestCases, result);
-        putAll(alterInmemoryJoinGroupTestCases, result);
-        putAll(dropInmemoryJoinGroupTestCases, result);
-        putAll(createRestorePointTestCases, result);
-        putAll(dropRestorePointTestCases, result);
-        putAll(alterLibraryTestCases, result);
-        putAll(alterMaterializedZonemapTestCases, result);
-        putAll(cursorTestCases, result);
-        putAll(closeTestCases, result);
-        putAll(moveTestCases, result);
-        putAll(fetchTestCases, result);
-        putAll(checkpointTestCases, result);
-        putAll(clusterStatementTestCases, result);
-        putAll(createAccessMethodTestCases, result);
-        putAll(countSingleTableRuleStatementTestCases, result);
-        putAll(countShardingRuleStatementTestCases, result);
-        putAll(countReadwriteSplittingRuleStatementTestCases, result);
-        putAll(countDatabaseDiscoveryRuleStatementTestCases, result);
-        putAll(countEncryptRuleStatementTestCases, result);
-        putAll(countShadowRuleStatementTestCases, result);
-        putAll(createCollationStatementTestCases, result);
-        putAll(prepareTransactionTestCases, result);
-        putAll(reassignOwnedStatementTestCases, result);
-        putAll(createEventTriggerStatementTestCases, result);
+        Field[] fields = SQLParserTestCases.class.getDeclaredFields();
+        for (Field each : fields) {
+            if (isSQLParserTestCasesField(each)) {
+                each.setAccessible(true);
+                List<? extends SQLParserTestCase> testCases = (List<? extends SQLParserTestCase>) each.get(this);
+                if (!testCases.isEmpty()) {
+                    putAll(testCases, result);
+                }
+            }
+        }
         return result;
     }
     // CHECKSTYLE:ON
     
+    private boolean isSQLParserTestCasesField(final Field field) {
+        if (field.isAnnotationPresent(XmlElement.class) && List.class == field.getType() && field.getGenericType() instanceof ParameterizedType) {
+            Class<?> actualTypeArgument = (Class<?>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0];
+            return SQLParserTestCase.class.isAssignableFrom(actualTypeArgument);
+        }
+        return false;
+    }
+    
     private void putAll(final List<? extends SQLParserTestCase> sqlParserTestCases, final Map<String, SQLParserTestCase> target) {
         Map<String, SQLParserTestCase> sqlParserTestCaseMap = getSQLParserTestCases(sqlParserTestCases);
         Collection<String> sqlParserTestCaseIds = new HashSet<>(sqlParserTestCaseMap.keySet());