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 2021/05/20 03:46:59 UTC

[shardingsphere] branch opengauss_adapt updated (17ac6c9 -> 96ab403)

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

wuweijie pushed a change to branch opengauss_adapt
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git.


 discard 17ac6c9  Update OpenGaussDataSourceMetaData
 discard 460f802  Add OpenGauss Database type (#10292)
     add a5a8ea0  Update javadoc of MariaDB DatabaseType (#10293)
     add 55b219a  Move the user configuration to authority rule (#10287)
     add 3ce918e  Rename name config item form yaml for Readwrite-splitting (#10294)
     add 064a8cb  Change authority configuration (#10297)
     add 0ea0aba  Fix postgreSQL authority handler (#10303)
     add 810f46b  Add alter sharding binding table rules (#10304)
     add 58423ac  Add alter sharding broadcast table rules (#10307)
     add e57b661  Correct PostgreSQL Proxy transaction state (#10299)
     add b87b4e4  Add tests for PostgreSQL Proxy Query/Bind CommandExecutor (#10284)
     add c78723e  Refactor AbstractShardingSphereDataSourceForEncryptTest (#10308)
     add 22a41d7  support postgresql prepare, execute, deallocate statement (#10305)
     add ae18a1c  Drop sharding table rule & binding table rules & broadcast table rules (#10312)
     add 9e35377  Support PostgreSQL Close command (#10316)
     add 3aedaaa  Move queryWithCipherColumn configuration from props to encrypt rule (#10313)
     add 533f726  Fixes readwrite-splitting yaml in proxy (#10317)
     add 3a40a51  add global rule configurations event,listener, persist into and load from RegistryCenter (#10309)
     add 974914f  Refactor MetaDataChangedListener (#10318)
     add 6036fed  Remove useless class reference (#10319)
     add 3e02fcd  Refactor ChannelThreadExecutorGroup to ConnectionThreadExecutorGroup (#10260)
     add 332e8fc  Merge RegistryRepository and GovernanceRepository (#10320)
     add 8f55bc1  Rename RegistryCenterRepository (#10322)
     add 5385740  Revise #10316 (#10323)
     add 0b338e5  Update FAQ for questions about ANTLR plugin (#10324)
     add b36fb52  Rename MetaDataListenerTest to GovernanceListenerTest (#10326)
     add 71124b4  subscribe global rule configurations changed event, persist global rule configurations into registry center. (#10327)
     add 537397d  Add SQL Definition for `ALTER SYSTEM` of Oracle Database (#10253)
     add 3237c50  Rename GovernanceCenterConfiguration to RegistryCenterConfiguration (#10329)
     add f23d221  Add create readwrite splitting rule (#10330)
     add a0e0f7e  Update powered-by (#10335)
     add 8e2fd76  Rename GovernanceCenter to RegistryCenter (#10336)
     add a0637ed  refactor renew(final CreateUserStatementEvent event) in RegistryCenter. (#10331)
     add 2e20f9f  Move package of RegistryCenterRepository (#10337)
     add 1299783  Refactor CreateReadwriteSplittingRuleBackendHandler (#10338)
     add fb5414c  Move package of ZookeeperProperties and EtcdProperties (#10341)
     add 8ea7a7d  Update pom of governance (#10342)
     add b488111  Refactor RegistryCenterRepositoryFactory (#10343)
     add c7ff730  Refactor GovernanceFacadeTest (#10344)
     add f060e21  PostgreSQL Proxy support empty statement (#10340)
     add 270d701  extract to single class (#10334)
     add 374d673  Revise #10344 fix testcases (#10347)
     add d487c1c  fixes npe after drop current database (#10352)
     add ea2f7a3  assert Encrypt Rule Configuration (#10348)
     add 36fc67f  Add test case for RegistryCenterRepositoryFactory (#10356)
     add d50907d8c Code format of RegistryCenterRepositoryFactoryTest (#10358)
     add 3f7b942  Add governance.core.yaml.config.wrapper package (#10360)
     add af083ff  Add PersistedYamlDataSourceConfiguration and PersistedYamlRuleConfiguration (#10361)
     add 648a56b  Alter readwrite splitting rule (#10362)
     add 23ee36c  Refactor AddResourceBackendHandler (#10364)
     add b86fc64  Refactor PersistedYamlConfigurationWrapper (#10365)
     add 9888697  Drop readwrite splitting rule (#10367)
     add e031fcf  Inline PersistedYamlConfigurationWrapper (#10369)
     add d31fa87  Add governance.core.yaml.schema package (#10370)
     add 2a52eec  Refactor RegistryCenter (#10371)
     add be09827  fix projection owner check when exist subquery temporary table (#10363)
     add 32ce404  Remove datasource name of YAML db discovery configuration (#10373)
     add f67c362  Finish execution process for running SQLs by RQL and cleanup (#10351)
     add fe0ddc8  Users  removed from StandardMetaDataContexts (#10310)
     add e117269  support mysql create udf statement execute (#10372)
     add 33cfc3a  Create database discovery rule (#10376)
     add 46ddd6e  parse alter & drop database discovery rule (#10378)
     add ddb6bb9  Remove PersistedYamlDataSourceConfiguration and PersistedYamlRuleConfiguration (#10379)
     add d0d3b37  Add more assertions of GovernanceFacadeTest.assertInit() (#10355)
     add b47b6e2  Revise GovernanceFacadeTest (#10380)
     add a7fcad6  extract abstract explain statement & support postgresql explain statement (#10377)
     add b017239  support postgresql analyze & load statement (#10382)
     add 916053f  Refactor optimize module (#10306)
     add f7e1f7d  Refactor optimize package. (#10387)
     add 5279ba1  Add alter & drop database discovery rule backend handler (#10386)
     add 8c2deac  Import optimize module (#10388)
     add 1f3671a  fix NPE when execute use statement with not exist schema (#10389)
     add d0fde2a  Split LockRegistryCenter (#10393)
     add a03742e1 parse create & alter & drop encrypt rule rdl (#10392)
     new 2f5d65a  Add OpenGauss Database type (#10292)
     new 96ab403  Update OpenGaussDataSourceMetaData

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (17ac6c9)
            \
             N -- N -- N   refs/heads/opengauss_adapt (96ab403)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/community/content/powered-by/_index.cn.md     |   3 +-
 docs/community/content/powered-by/_index.en.md     |   3 +-
 docs/document/content/dev-manual/governance.cn.md  |  15 +-
 docs/document/content/dev-manual/governance.en.md  |  27 +-
 docs/document/content/faq/_index.cn.md             |   8 +
 docs/document/content/faq/_index.en.md             |   8 +
 .../content/features/encrypt/principle.cn.md       |  13 +-
 .../content/features/encrypt/principle.en.md       |  13 +-
 .../governance/management/registry-center.cn.md    |  62 +--
 .../governance/management/registry-center.en.md    |  62 +--
 .../test-engine/performance-test-sysbench.cn.md    |   7 +-
 .../test-engine/performance-test-sysbench.en.md    |   7 +-
 .../features/test-engine/performance-test.cn.md    |   5 +-
 .../features/test-engine/performance-test.en.md    |  13 +-
 .../configuration/java-api/encrypt.cn.md           |   9 +-
 .../configuration/java-api/encrypt.en.md           |   9 +-
 .../configuration/java-api/governance.cn.md        |  38 +-
 .../configuration/java-api/governance.en.md        |  24 +-
 .../configuration/java-api/mix.cn.md               |   1 -
 .../configuration/java-api/mix.en.md               |   1 -
 .../shardingsphere-jdbc/configuration/props.cn.md  |  17 +-
 .../shardingsphere-jdbc/configuration/props.en.md  |   1 -
 .../spring-boot-starter/encrypt.cn.md              |   2 +
 .../spring-boot-starter/encrypt.en.md              |   2 +
 .../configuration/spring-namespace/encrypt.cn.md   |   9 +-
 .../configuration/spring-namespace/encrypt.en.md   |   9 +-
 .../configuration/spring-namespace/mix.cn.md       |   2 -
 .../configuration/spring-namespace/mix.en.md       |   2 -
 .../configuration/yaml/encrypt.cn.md               |   3 +-
 .../configuration/yaml/encrypt.en.md               |   3 +-
 .../configuration/yaml/mix.cn.md                   |   6 +-
 .../configuration/yaml/mix.en.md                   |   6 +-
 .../usage/governance/java-api.cn.md                |   2 +-
 .../usage/governance/java-api.en.md                |   2 +-
 .../usage/governance/spring-namespace.cn.md        |   6 +-
 .../usage/governance/spring-namespace.en.md        |   6 +-
 .../shardingsphere-proxy/configuration/props.cn.md |  23 +-
 .../shardingsphere-proxy/configuration/props.en.md |   3 +-
 .../static/img/faq/configure-antlr-plugin.png      | Bin 0 -> 41411 bytes
 .../sharding-proxy/sharding/conf/server.yaml       |   8 +-
 .../GovernanceRepositoryConfigurationUtil.java     |  29 +-
 .../META-INF/zookeeper/local/encrypt.yaml          |   1 -
 .../zookeeper/local/readwrite-splitting.yaml       |   1 -
 .../zookeeper/local/application-encrypt.xml        |   6 +-
 .../jdbc/config/EncryptDatabasesConfiguration.java |   1 -
 .../main/resources/META-INF/encrypt-databases.yaml |   3 -
 .../META-INF/application-encrypt-databases.xml     |   6 +-
 .../main/resources/META-INF/hint-write-only.yaml   |   1 -
 .../EncryptShadowDatabasesConfiguration.java       |   1 -
 .../META-INF/encrypt-shadow-databases.yaml         |   1 -
 .../readwrite-splitting-shadow-databases.yaml      |   1 -
 .../application-encrypt-shadow-databases.xml       |   7 +-
 .../resources/META-INF/readwrite-splitting.yaml    |   1 -
 .../resources/conf/config-readwrite-splitting.yaml |   7 +-
 .../src/main/resources/conf/server.yaml            |  11 +-
 .../src/main/resources/conf/config-write-only.yaml |   1 -
 .../src/main/resources/conf/server.yaml            |   9 +-
 pom.xml                                            |  15 +
 .../db/protocol/error/CommonErrorCode.java         |  20 +-
 .../command/PostgreSQLCommandPacketFactory.java    |   3 +
 .../query/PostgreSQLEmptyQueryResponsePacket.java} |  20 +-
 .../ConnectionScopeBinaryStatementRegistry.java    |  18 +-
 .../query/binary/PostgreSQLBinaryStatement.java    |   3 +-
 .../query/binary/bind/PostgreSQLComBindPacket.java |  23 +-
 .../close/PostgreSQLCloseCompletePacket.java}      |  20 +-
 .../PostgreSQLComClosePacket.java}                 |  67 +--
 .../binary/parse/PostgreSQLComParsePacket.java     |  11 +-
 .../generic/PostgreSQLCommandCompletePacket.java   |   8 +
 .../PostgreSQLCommandPacketFactoryTest.java        |   7 +
 .../PostgreSQLEmptyQueryResponsePacketTest.java    |  17 +-
 ...ConnectionScopeBinaryStatementRegistryTest.java |  12 +-
 .../binary/bind/PostgreSQLComBindPacketTest.java   |   3 +-
 .../close/PostgreSQLCloseCompletePacketTest.java   |  17 +-
 .../PostgreSQLComClosePacketTest.java}             |  51 +-
 .../binary/parse/PostgreSQLComParsePacketTest.java |   5 +-
 .../resources/conf/config-database-discovery.yaml  |  48 +-
 .../resources/conf/config-readwrite-splitting.yaml |   2 -
 .../src/main/resources/conf/server.yaml            |  15 +-
 .../src/main/antlr4/imports/Keyword.g4             |  34 +-
 .../src/main/antlr4/imports/RDLStatement.g4        | 126 +++--
 .../distsql/parser/autogen/DistSQLStatement.g4     |  18 +-
 .../distsql/parser/core/DistSQLVisitor.java        | 229 +++++---
 .../api/DistSQLStatementParserEngineTest.java      | 239 ++++++++
 ...ment.java => DatabaseDiscoveryRuleSegment.java} |  18 +-
 ...gRuleSegment.java => EncryptColumnSegment.java} |  24 +-
 ...ingRuleSegment.java => EncryptRuleSegment.java} |  23 +-
 .../segment/rdl/ReadwriteSplittingRuleSegment.java |   4 +-
 .../AlterDatabaseDiscoveryRuleStatement.java}      |  13 +-
 .../rdl/alter/AlterEncryptRuleStatement.java       |  16 +-
 .../AlterReadwriteSplittingRuleStatement.java      |  11 +-
 .../AlterShardingBindingTableRulesStatement.java}  |  15 +-
 .../AlterShardingBroadcastTableRulesStatement.java |  14 +-
 .../CreateDatabaseDiscoveryRuleStatement.java}     |  13 +-
 .../create/impl/CreateEncryptRuleStatement.java    |  16 +-
 ...ava => DropDatabaseDiscoveryRuleStatement.java} |   4 +-
 ...tatement.java => DropEncryptRuleStatement.java} |   9 +-
 .../impl/DropReadwriteSplittingRuleStatement.java  |  13 +-
 ...=> DropShardingBindingTableRulesStatement.java} |   9 +-
 ... DropShardingBroadcastTableRulesStatement.java} |   9 +-
 ...nt.java => DropShardingTableRuleStatement.java} |   4 +-
 .../shardingsphere-db-discovery-common/pom.xml     |   6 +-
 ...tabaseDiscoveryDataSourceRuleConfiguration.java |   4 +-
 .../DatabaseDiscoveryRuleStatementConverter.java   |  70 +++
 ...eAlgorithmProviderConfigurationYamlSwapper.java |   1 -
 ...abaseDiscoveryRuleConfigurationYamlSwapper.java |   1 -
 ...atabaseDiscoveryRuleStatementConverterTest.java |  58 ++
 ...orithmProviderConfigurationYamlSwapperTest.java |   1 -
 ...eDiscoveryRuleConfigurationYamlSwapperTest.java |   5 +-
 .../api/config/EncryptRuleConfiguration.java       |   6 +
 .../AlgorithmProvidedEncryptRuleConfiguration.java |   2 +
 .../shardingsphere/encrypt/rule/EncryptRule.java   |   6 +
 .../yaml/config/YamlEncryptRuleConfiguration.java  |   2 +
 ...eAlgorithmProviderConfigurationYamlSwapper.java |   2 +
 .../EncryptRuleConfigurationYamlSwapper.java       |   3 +-
 .../encrypt/rule/EncryptRuleTest.java              |   4 +-
 ...orithmProviderConfigurationYamlSwapperTest.java |   2 +-
 .../merge/EncryptResultDecoratorEngine.java        |   9 +-
 .../merge/dal/EncryptDALResultDecorator.java       |   4 +-
 .../merge/EncryptResultDecoratorEngineTest.java    |  33 +-
 .../merge/dal/EncryptDALResultDecoratorTest.java   |   8 +-
 .../context/EncryptSQLRewriteContextDecorator.java |   6 +-
 .../impl/EncryptProjectionTokenGenerator.java      |   2 +-
 .../resources/yaml/encrypt/query-with-cipher.yaml  |   3 -
 .../resources/yaml/encrypt/query-with-plain.yaml   |   4 +-
 .../boot/EncryptRuleSpringBootConfiguration.java   |   1 +
 .../spring/boot/EncryptSpringBootStarterTest.java  |  41 +-
 .../test/resources/application-encrypt.properties  |   7 +
 .../parser/EncryptRuleBeanDefinitionParser.java    |   1 +
 .../tag/EncryptRuleBeanDefinitionTag.java          |   2 +
 .../main/resources/META-INF/namespace/encrypt.xsd  |   1 +
 ...dwriteSplittingDataSourceRuleConfiguration.java |   2 -
 ...erReadwriteSplittingRuleStatementConverter.java |  60 --
 ...teReadwriteSplittingRuleStatementConverter.java |  57 --
 .../ReadwriteSplittingRuleStatementConverter.java  |  92 ++++
 ...eAlgorithmProviderConfigurationYamlSwapper.java |   1 -
 ...writeSplittingRuleConfigurationYamlSwapper.java |   1 -
 ...orithmProviderConfigurationYamlSwapperTest.java |   1 -
 ...eSplittingRuleConfigurationYamlSwapperTest.java |   3 -
 .../converter/ShardingRuleStatementConverter.java  |  15 +
 .../merge/dal/ShardingDALResultMergerTest.java     |   4 +-
 .../src/test/resources/sharding/analyze.xml        | 178 ++++++
 .../test/resources/yaml/mix/query-with-cipher.yaml |   3 -
 .../test/resources/yaml/mix/query-with-plain.yaml  |   4 +-
 .../engine/type/ShardingRouteEngineFactory.java    |  16 +-
 .../ShardingStatementValidatorFactory.java         |   7 +-
 .../impl/ShardingPrepareStatementValidator.java    |  56 ++
 .../ShardingAlterTableStatementValidatorTest.java  |   2 +-
 .../ddl/ShardingPrepareStatementValidatorTest.java | 114 ++++
 .../listener/PrivilegeNodeChangedListener.java     |  14 +-
 .../authority/listener/UserChangedListener.java    |  14 +-
 .../PrivilegeNodeChangedListenerFactory.java       |   6 +-
 .../factory/UserChangedListenerFactory.java        |   6 +-
 .../metadata/GovernanceMetaDataContexts.java       |  74 ++-
 .../process/GovernanceExecuteProcessReporter.java  |   6 +
 .../listener/PrivilegeNodeChangedListenerTest.java |  17 +-
 .../listener/UserChangedListenerTest.java          |  20 +-
 .../metadata/GovernanceMetaDataContextsTest.java   |  34 +-
 .../governance/core/facade/GovernanceFacade.java   |  25 +-
 ...e.java => RegistryCenterRepositoryFactory.java} |  42 +-
 .../governance/core/lock/GovernanceLock.java       |  16 +-
 .../core/registry/RegistryCacheManager.java        |  11 +-
 .../governance/core/registry/RegistryCenter.java   | 396 ++++++--------
 .../core/registry/RegistryCenterNode.java          |  25 +-
 .../core/registry/instance/GovernanceInstance.java |  16 +-
 .../listener/GovernanceListenerFactory.java        |   6 +-
 .../listener/GovernanceListenerManager.java        |  15 +-
 .../PostGovernanceRepositoryEventListener.java     |   6 +-
 .../invocation/ExecuteProcessReportEvent.java      |   8 +-
 .../rule/GlobalRuleConfigurationsChangedEvent.java |  14 +-
 ....java => DataSourceChangedListenerFactory.java} |  16 +-
 .../DataSourceStateChangedListenerFactory.java     |   6 +-
 .../factory/LockChangedListenerFactory.java        |   6 +-
 ...ry.java => MetaDataChangedListenerFactory.java} |  14 +-
 .../factory/PropertiesChangedListenerFactory.java  |   6 +-
 ...actory.java => RuleChangedListenerFactory.java} |  14 +-
 ...tory.java => SchemaChangedListenerFactory.java} |  14 +-
 .../TerminalStateChangedListenerFactory.java       |   6 +-
 .../DataSourceChangedListener.java                 |  24 +-
 .../impl/DataSourceStateChangedListener.java       |  10 +-
 ...istener.java => GlobalRuleChangedListener.java} |  29 +-
 .../listener/impl/LockChangedListener.java         |   8 +-
 .../MetaDataChangedListener.java                   |  10 +-
 .../listener/impl/PropertiesChangedListener.java   |   8 +-
 .../{metadata => impl}/RuleChangedListener.java    |  14 +-
 .../{metadata => impl}/SchemaChangedListener.java  |  14 +-
 .../impl/TerminalStateChangedListener.java         |   8 +-
 .../listener/metadata/MetaDataListener.java        |  76 ---
 .../core/registry/lock/LockRegistryCenter.java     | 168 ++++++
 .../yaml/config/YamlConfigurationConverter.java    | 128 -----
 .../{ => pojo}/YamlGovernanceConfiguration.java    |   4 +-
 .../YamlRegistryCenterConfiguration.java}          |   6 +-
 .../scaling}/YamlScalingConfiguration.java         |   4 +-
 .../GovernanceConfigurationYamlSwapper.java        |  14 +-
 .../RegistryCenterConfigurationYamlSwapper.java}   |  18 +-
 .../schema => schema/pojo}/YamlColumnMetaData.java |   2 +-
 .../schema => schema/pojo}/YamlIndexMetaData.java  |   2 +-
 .../{config/schema => schema/pojo}/YamlSchema.java |   2 +-
 .../schema => schema/pojo}/YamlTableMetaData.java  |   2 +-
 .../{ => schema}/swapper/SchemaYamlSwapper.java    |  52 +-
 ...ore.registry.listener.GovernanceListenerFactory |   4 +
 .../core/facade/GovernanceFacadeTest.java          |  88 +--
 .../RegistryCenterRepositoryFactoryTest.java}      |  24 +-
 ...y.java => RegistryCenterRepositoryFixture.java} |  21 +-
 .../facade/fixture/TestRegistryRepository.java     |  77 ---
 .../governance/core/lock/GovernanceLockTest.java   |  16 +-
 .../core/registry/RegistryCenterNodeTest.java      |  21 +-
 .../core/registry/RegistryCenterTest.java          | 371 +++++++------
 .../registry/instance/GovernanceInstanceTest.java} |  18 +-
 ...RegistryCenterRepositoryEventListenerTest.java} |  21 +-
 .../DataSourceChangedListenerTest.java             |  12 +-
 .../impl/DataSourceStateChangedListenerTest.java   |  20 +-
 .../GlobalRuleChangedListenerTest.java}            |  27 +-
 .../GovernanceListenerTest.java}                   |   8 +-
 .../listener/impl/LockChangedListenerTest.java     |  20 +-
 .../MetaDataChangedListenerTest.java               |   6 +-
 .../impl/PropertiesChangedListenerTest.java        |  20 +-
 .../RuleChangedListenerTest.java                   |  14 +-
 .../SchemaChangedListenerTest.java                 |   6 +-
 .../impl/TerminalStateChangedListenerTest.java     |  18 +-
 .../core/registry/lock/LockRegistryCenterTest.java |  68 +++
 .../GovernanceConfigurationYamlSwapperTest.java    |  16 +-
 ...egistryCenterConfigurationYamlSwapperTest.java} |  26 +-
 .../swapper/SchemaYamlSwapperTest.java             |   4 +-
 ...re.governance.repository.api.RegistryRepository |  19 -
 ...ernance.repository.spi.RegistryCenterRepository |   2 +-
 .../src/test/resources/yaml/authority-rule.yaml    |   7 +-
 .../src/test/resources/yaml/data-source.yaml       |  11 +-
 .../resources/yaml/database-discovery-rule.yaml    |  32 +-
 .../src/test/resources/yaml/encrypt-rule.yaml      |   1 -
 .../resources/yaml/readwrite-splitting-rule.yaml   |   2 -
 .../data-database-discovery-rule.yaml              |  32 +-
 .../yaml/registryCenter/data-encrypt-rule.yaml     |   1 -
 .../yaml/registryCenter/data-global-rule.yaml      |   7 +-
 .../data-readwrite-splitting-rule.yaml             |   2 -
 .../yaml/registryCenter/data-shadow-rule.yaml      |   1 -
 .../registryCenter/data-sharding-encrypt-rule.yaml |  75 ++-
 .../yaml/registryCenter/data-sharding-rule.yaml    |  30 +-
 .../yaml/registryCenter/data-source-init-sql.yaml  |  34 +-
 .../resources/yaml/registryCenter/data-source.yaml |  25 +-
 .../src/test/resources/yaml/sharding-rule.yaml     |   1 -
 .../repository/api/RegistryRepository.java         |  51 --
 .../api/config/GovernanceConfiguration.java        |   2 +-
 ...ation.java => RegistryCenterConfiguration.java} |   6 +-
 .../RegistryCenterRepository.java}                 |  55 +-
 .../pom.xml                                        |  11 -
 .../governance/repository/etcd/EtcdRepository.java |  32 +-
 .../etcd/{ => props}/EtcdProperties.java           |   2 +-
 .../etcd/{ => props}/EtcdPropertyKey.java          |   2 +-
 ...rnance.repository.spi.RegistryCenterRepository} |   0
 .../repository/etcd/EtcdRepositoryTest.java        |   1 +
 .../etcd/{ => props}/EtcdPropertiesTest.java       |   2 +-
 .../pom.xml                                        |   1 +
 .../zookeeper/CuratorZookeeperRepository.java      |  39 +-
 .../zookeeper/{ => props}/ZookeeperProperties.java |   2 +-
 .../{ => props}/ZookeeperPropertyKey.java          |   2 +-
 ...rnance.repository.spi.RegistryCenterRepository} |   0
 .../zookeeper/CuratorZookeeperRepositoryTest.java  |  15 +-
 .../{ => props}/ZookeeperPropertiesTest.java       |   2 +-
 .../api/config/AuthorityRuleConfiguration.java     |   7 +-
 .../authority/checker/AuthorityChecker.java        |  24 +-
 .../dialect/PostgreSQLPrivilegeHandler.java        |  18 +-
 .../authority/rule/AuthorityRule.java              |  14 +
 .../rule/builder/AuthorityRuleBuilder.java         |   6 +-
 .../DefaultAuthorityRuleConfigurationBuilder.java  |   3 +-
 .../config/YamlAuthorityRuleConfiguration.java     |   7 +-
 .../AuthorityRuleConfigurationYamlSwapper.java     |   8 +-
 .../dialect/PostgreSQLPrivilegeHandlerTest.java    |  17 +-
 .../infra/binder/SQLStatementContextFactory.java   |  18 +-
 .../infra/binder/segment/table/TablesContext.java  |  12 +-
 ...text.java => AnalyzeTableStatementContext.java} |  15 +-
 ...ntContext.java => ExplainStatementContext.java} |  30 +-
 .../PrepareStatementContext.java}                  |  28 +-
 .../statement/dml/SelectStatementContext.java      |  18 +-
 .../engine/ProjectionsContextEngineTest.java       |  48 ++
 .../properties/ConfigurationPropertyKey.java       |   5 -
 .../database/type/dialect/MariaDBDatabaseType.java |   2 +-
 .../rule/builder/ShardingSphereRulesBuilder.java   |   6 +-
 .../rule/builder/scope/GlobalRuleBuilder.java      |   5 +-
 .../properties/ConfigurationPropertiesTest.java    |   3 -
 .../shardingsphere-infra-context/pom.xml           |   2 +-
 .../infra/context/metadata/MetaDataContexts.java   |  10 +-
 .../context/metadata/MetaDataContextsBuilder.java  |  15 +-
 .../metadata/impl/StandardMetaDataContexts.java    |  11 +-
 .../metadata/MetaDataContextsBuilderTest.java      |  18 +
 .../impl/StandardMetaDataContextsTest.java         |   5 +-
 .../shardingsphere-infra-executor/pom.xml          |   9 +
 .../infra/executor/check/SQLCheckEngine.java       |  42 ++
 .../infra/executor/check/SQLChecker.java           |  20 +
 .../sql/execute/engine/raw/RawExecutor.java        |  17 +-
 .../raw/callback/RawSQLExecutorCallback.java       |  14 +-
 .../sql}/optimize/context/CalciteContext.java      |   4 +-
 .../optimize/context/CalciteContextFactory.java    |  10 +-
 .../sql}/optimize/execute/CalciteExecutor.java     |   2 +-
 .../sql}/optimize/execute/CalciteJDBCExecutor.java |   4 +-
 .../optimize/execute/raw/CalciteRawExecutor.java   |   8 +-
 .../execute/raw/context/CalciteDataContext.java    |   4 +-
 .../execute/raw/convert/SqlNodeConverter.java      |  26 +-
 .../execute/raw/plan/PlannerInitializer.java       |   2 +-
 .../sql}/optimize/schema/CalciteLogicSchema.java   |  19 +-
 .../optimize/schema/CalciteLogicSchemaFactory.java |  23 +-
 .../optimize/schema/row/CalciteRowEnumerator.java  |   2 +-
 .../optimize/schema/row/CalciteRowExecutor.java    |   8 +-
 .../schema/table/AbstractCalciteTable.java         |  15 +-
 .../schema/table/CalciteFilterableTable.java       |  22 +-
 .../execute/CalciteExecutionContextGenerator.java  |   2 +-
 .../execute/CalciteExecutionSQLGenerator.java      |   2 +-
 .../executor/sql/process/ExecuteProcessEngine.java |  18 +
 .../sql/process/spi/ExecuteProcessReporter.java    |   7 +
 .../shardingsphere-infra-optimize/pom.xml          |   3 +-
 .../infra/optimize/ShardingSphereOptimizer.java    |  58 ++
 .../{CalciteContext.java => OptimizeContext.java}  |   8 +-
 ...extFactory.java => OptimizeContextFactory.java} |  38 +-
 .../raw => }/convert/SqlNodeConverter.java         |   2 +-
 .../{execute/raw => }/plan/PlannerInitializer.java |   2 +-
 ...hemaGenerator.java => LogicSchemaMetadata.java} |  37 +-
 ...chemaFactory.java => LogicSchemaMetadatas.java} |  28 +-
 ...TableGenerator.java => LogicTableMetadata.java} |  25 +-
 .../context/CalciteContextFactoryTest.java         |  61 ---
 .../schema/CalciteLogicSchemaFactoryTest.java      |  47 --
 .../CalciteExecutionContextGeneratorTest.java      |  73 ---
 .../driver/executor/DriverJDBCExecutor.java        |  34 +-
 .../jdbc/adapter/AbstractStatementAdapter.java     |   4 +-
 .../statement/ShardingSpherePreparedStatement.java |   8 +-
 .../core/statement/ShardingSphereStatement.java    |   8 +-
 ...ractShardingSphereDataSourceForEncryptTest.java |  43 +-
 .../src/test/resources/config/config-calcite.yaml  |   2 -
 ....yaml => config-encrypt-query-with-cipher.yaml} |   1 -
 ...t.yaml => config-encrypt-query-with-plain.yaml} |   2 +-
 .../config/config-readwrite-splitting.yaml         |   1 -
 ...lGovernanceShardingSphereDataSourceFactory.java |   8 +-
 .../statement/CircuitBreakerPreparedStatement.java |   6 +-
 .../GovernanceShardingSphereDataSource.java        |   6 +-
 ...=> YamlGovernanceConfigurationSwapperUtil.java} |  12 +-
 .../yaml/YamlGovernanceRootRuleConfigurations.java |   2 +-
 ...ernanceShardingSphereDataSourceFactoryTest.java |   4 +-
 ...tory.java => TestRegistryCenterRepository.java} |  20 +-
 .../GovernanceShardingSphereDataSourceTest.java    |   6 +-
 ...amlGovernanceConfigurationSwapperUtilTest.java} |  16 +-
 ...rnance.repository.spi.RegistryCenterRepository} |   2 +-
 ...gWithReadwriteSplittingDataSourceWithProps.yaml |   3 +-
 ...thReadwriteSplittingDataSourceWithoutProps.yaml |   3 +-
 .../sharding/configWithDataSourceWithProps.yaml    |   2 +-
 .../sharding/configWithDataSourceWithoutProps.yaml |   2 +-
 .../sharding/configWithoutDataSourceWithProps.yaml |   2 +-
 .../configWithoutDataSourceWithoutProps.yaml       |   2 +-
 .../configWithDataSourceWithProps.yaml             |   2 +-
 .../configWithDataSourceWithoutProps.yaml          |   2 +-
 .../configWithDataSourceWithoutRules.yaml          |   2 +-
 .../configWithoutDataSourceWithProps.yaml          |   2 +-
 .../configWithoutDataSourceWithoutProps.yaml       |   2 +-
 .../src/test/resources/yaml/unit/sharding.yaml     |   2 +-
 .../ShardingSphereGovernanceAutoConfiguration.java |   4 +-
 .../GovernanceSpringBootRootConfiguration.java     |   2 +-
 .../additional-spring-configuration-metadata.json  |   3 +-
 ...tory.java => TestRegistryCenterRepository.java} |   8 +-
 .../GovernanceSpringBootRegistryEncryptTest.java   |   8 +-
 ...ceSpringBootRegistryReadwriteSplittingTest.java |   8 +-
 .../GovernanceSpringBootRegistryShardingTest.java  |   8 +-
 ...re.governance.repository.api.RegistryRepository |  18 -
 ...rnance.repository.spi.RegistryCenterRepository} |   2 +-
 .../src/test/resources/yaml/data-source.yaml       |  13 +-
 .../src/test/resources/yaml/encrypt-rule.yaml      |  25 +-
 .../yaml/readwrite-splitting-databases.yaml        |  37 +-
 .../resources/yaml/readwrite-splitting-rule.yaml   |   2 -
 .../test/resources/yaml/sharding-databases.yaml    |  37 +-
 .../src/test/resources/yaml/sharding-rule.yaml     |  95 ++--
 ...istryCenterConfigurationBeanDefinitionTag.java} |   4 +-
 .../handler/GovernanceNamespaceHandler.java        |   6 +-
 ...ryCenterConfigurationBeanDefinitionParser.java} |  16 +-
 .../governance/GovernanceEncryptNamespaceTest.java |   3 -
 ...tory.java => TestRegistryCenterRepository.java} |   8 +-
 .../resources/META-INF/rdb/encrypt-governance.xml  |   1 -
 .../namespace/encrypt-data-source-namespace.xml    |   2 +-
 .../resources/META-INF/rdb/sharding-governance.xml |  20 +-
 ...rnance.repository.spi.RegistryCenterRepository} |   2 +-
 .../backend/communication/ProxySQLExecutor.java    |   6 +-
 .../jdbc/connection/BackendConnection.java         |   7 +-
 .../jdbc/executor/ProxyJDBCExecutor.java           |  16 +-
 ...scoveryRuleDataSourcesNotExistedException.java} |  12 +-
 ...a => DatabaseDiscoveryRuleExistsException.java} |  10 +-
 ... DatabaseDiscoveryRuleNotExistedException.java} |  10 +-
 ...=> InvalidDatabaseDiscoveryTypesException.java} |  16 +-
 ...ion.java => InvalidLoadBalancersException.java} |  16 +-
 ...eadwriteSplittingRuleCreateExistsException.java |   2 +
 ...ardingBindingTableRulesNotExistsException.java} |  10 +-
 ...dingBroadcastTableRulesNotExistsException.java} |  10 +-
 .../text/TextProtocolBackendHandlerFactory.java    |   7 +-
 .../admin/mysql/executor/UseDatabaseExecutor.java  |   5 +-
 .../text/distsql/rdl/RDLBackendHandlerFactory.java |  59 +-
 .../rdl/impl/AddResourceBackendHandler.java        |  26 +-
 .../AlterDatabaseDiscoveryRuleBackendHandler.java  | 127 +++++
 .../AlterReadwriteSplittingRuleBackendHandler.java | 127 ++---
 ...terShardingBindingTableRulesBackendHandler.java |  89 +++
 ...ShardingBroadcastTableRulesBackendHandler.java} |  40 +-
 .../CreateDatabaseDiscoveryRuleBackendHandler.java |  90 +++
 ...CreateReadwriteSplittingRuleBackendHandler.java |  43 +-
 .../rdl/impl/DropDatabaseBackendHandler.java       |  16 +-
 .../DropDatabaseDiscoveryRuleBackendHandler.java   |  86 +++
 .../DropReadwriteSplittingRuleBackendHandler.java  |  23 +-
 ...ropShardingBindingTableRulesBackendHandler.java |  67 +++
 ...pShardingBroadcastTableRulesBackendHandler.java |  67 +++
 ...va => DropShardingTableRuleBackendHandler.java} |  72 +--
 .../backend/text/skip/SkipBackendHandler.java      |   7 +-
 .../transaction/TransactionBackendHandler.java     |   8 +-
 .../TransactionBackendHandlerFactory.java          |  11 +-
 .../DatabaseCommunicationEngineFactoryTest.java    |   4 +-
 .../DatabaseCommunicationEngineTest.java           |   4 +-
 .../jdbc/connection/BackendConnectionTest.java     |   4 +-
 .../jdbc/datasource/JDBCBackendDataSourceTest.java |   4 +-
 .../context/BackendExecutorContextTest.java        |   4 +-
 .../proxy/backend/context/ProxyContextTest.java    |  10 +-
 .../mysql/executor/ShowDatabasesExecutorTest.java  |   4 +-
 .../executor/ShowProcessListExecutorTest.java      |   4 +-
 .../mysql/executor/ShowTablesExecutorTest.java     |   5 +-
 .../mysql/executor/UseDatabaseExecutorTest.java    |  13 +-
 .../impl/BroadcastDatabaseBackendHandlerTest.java  |   5 +-
 .../SchemaAssignedDatabaseBackendHandlerTest.java  |   5 +-
 .../impl/UnicastDatabaseBackendHandlerTest.java    |   5 +-
 .../text/distsql/RDLBackendHandlerFactoryTest.java |  19 +-
 .../distsql/fixture/TestDatabaseDiscoveryType.java |  58 ++
 .../fixture/TestReplicaLoadBalanceAlgorithm.java   |  23 +-
 ...terDatabaseDiscoveryRuleBackendHandlerTest.java | 164 ++++++
 ...erReadwriteSplittingRuleBackendHandlerTest.java | 167 ++++++
 ...hardingBindingTableRulesBackendHandlerTest.java | 112 ++++
 ...rdingBroadcastTableRulesBackendHandlerTest.java |  92 ++++
 ...ateDatabaseDiscoveryRuleBackendHandlerTest.java | 135 +++++
 ...teReadwriteSplittingRuleBackendHandlerTest.java | 138 +++++
 .../rdl/impl/DropDatabaseBackendHandlerTest.java   | 100 ++++
 ...ropDatabaseDiscoveryRuleBackendHandlerTest.java | 114 ++++
 ...opReadwriteSplittingRuleBackendHandlerTest.java | 117 ++++
 ...hardingBindingTableRulesBackendHandlerTest.java | 111 ++++
 ...rdingBroadcastTableRulesBackendHandlerTest.java | 111 ++++
 .../DropShardingTableRuleBackendHandlerTest.java   | 141 +++++
 .../ShardingCTLExplainBackendHandlerTest.java      |   3 +-
 .../hint/ShardingCTLHintBackendHandlerTest.java    |   4 +-
 .../sctl/set/ShardingCTLSetBackendHandlerTest.java |   4 +-
 .../backend/text/skip/SkipBackendHandlerTest.java  |   2 +-
 .../transaction/TransactionBackendHandlerTest.java |   7 +-
 ...ingsphere.dbdiscovery.spi.DatabaseDiscoveryType |   4 +-
 ...dwritesplitting.spi.ReplicaLoadBalanceAlgorithm |   2 +-
 .../impl/AbstractBootstrapInitializer.java         |   2 +-
 .../impl/GovernanceBootstrapInitializer.java       |  18 +-
 .../resources/conf/config-database-discovery.yaml  |  48 +-
 .../resources/conf/config-readwrite-splitting.yaml |   2 -
 .../src/main/resources/conf/server.yaml            |  24 +-
 ...y.java => FixtureRegistryCenterRepository.java} |  20 +-
 .../impl/GovernanceBootstrapInitializerTest.java   |  17 +-
 .../impl/StandardBootstrapInitializerTest.java     |  26 +-
 ...re.governance.repository.api.RegistryRepository |  18 -
 ...ernance.repository.spi.RegistryCenterRepository |   4 +-
 .../src/test/resources/conf/local/server.yaml      |  12 +-
 .../resources/conf/reg_center/data-sources.yaml    |  45 +-
 .../src/test/resources/conf/reg_center/server.yaml |  10 +-
 .../resources/conf/reg_center/sharding-rule.yaml   |   1 -
 .../proxy/config/ProxyConfiguration.java           |   3 -
 .../proxy/config/ProxyConfigurationLoader.java     |   5 +-
 .../config/yaml/YamlProxyServerConfiguration.java  |   6 +-
 .../swapper/YamlProxyConfigurationSwapper.java     |   6 +-
 .../proxy/config/ProxyConfigurationLoaderTest.java |   1 -
 .../swapper/YamlProxyConfigurationSwapperTest.java |  29 +-
 .../resources/conf/config-readwrite-splitting.yaml |   1 -
 .../src/test/resources/conf/server.yaml            |   8 +-
 .../frontend/command/CommandExecutorTask.java      |   3 +-
 .../executor/ChannelThreadExecutorGroup.java       |  80 ---
 .../frontend/executor/CommandExecutorSelector.java |  13 +-
 .../executor/ConnectionThreadExecutorGroup.java    |  86 +++
 .../netty/FrontendChannelInboundHandler.java       |  15 +-
 .../state/impl/CircuitBreakProxyState.java         |   2 +-
 .../proxy/frontend/state/impl/OKProxyState.java    |  10 +-
 .../frontend/command/CommandExecutorTaskTest.java  |   2 +-
 .../executor/CommandExecutorSelectorTest.java      |  24 +-
 ...java => ConnectionThreadExecutorGroupTest.java} |  20 +-
 .../FrontDatabaseProtocolTypeFactoryTest.java      |   7 +-
 .../authentication/MySQLAuthenticationHandler.java |  22 +-
 .../mysql/command/MySQLCommandExecuteEngine.java   |   2 +-
 .../frontend/mysql/err/MySQLErrPacketFactory.java  |  30 +-
 .../frontend/mysql/MySQLFrontendEngineTest.java    |  16 +-
 .../MySQLAuthenticationEngineTest.java             |   3 +-
 .../MySQLAuthenticationHandlerTest.java            |  16 +-
 .../command/MySQLCommandExecutorFactoryTest.java   |   7 +-
 .../execute/MySQLComStmtExecuteExecutorTest.java   |   3 +-
 .../query/MySQLComQueryPacketExecutorTest.java     |  13 +-
 .../postgresql/PostgreSQLFrontendEngine.java       |  11 -
 .../PostgreSQLAuthenticationEngine.java            |   2 +-
 .../PostgreSQLAuthenticationHandler.java           |  36 +-
 .../command/PostgreSQLCommandExecuteEngine.java    |   9 +-
 .../command/PostgreSQLCommandExecutorFactory.java  |   4 +
 .../command/query/PostgreSQLCommand.java           |  12 +
 .../binary/bind/PostgreSQLComBindExecutor.java     |  30 +-
 .../binary/close/PostgreSQLComCloseExecutor.java   |  71 +++
 .../binary/parse/PostgreSQLComParseExecutor.java   |   2 +-
 .../binary/sync/PostgreSQLComSyncExecutor.java     |   4 +-
 .../query/text/PostgreSQLComQueryExecutor.java     |   7 +-
 .../postgresql/PostgreSQLFrontendEngineTest.java   |   3 +
 .../PostgreSQLAuthenticationEngineTest.java        |  25 +-
 .../PostgreSQLAuthenticationHandlerTest.java       |  16 +-
 .../PostgreSQLCommandExecuteEngineTest.java        |   5 +-
 .../PostgreSQLCommandExecutorFactoryTest.java      |  18 +-
 .../binary/bind/PostgreSQLComBindExecutorTest.java | 165 ++++++
 .../close/PostgreSQLComCloseExecutorTest.java      |  76 +++
 .../parse/PostgreSQLComParseExecutorTest.java      |   5 +-
 .../query/text/PostgreSQLComQueryExecutorTest.java | 126 +++++
 .../frontend/command/CommandExecuteEngine.java     |   3 +-
 .../scaling/web/HttpServerInitializerTest.java     |   4 +-
 ...sitoryAPI.java => GovernanceRepositoryAPI.java} |   4 +-
 .../scaling/core/api/ScalingAPIFactory.java        |  34 +-
 ...IImpl.java => GovernanceRepositoryAPIImpl.java} |  24 +-
 .../scaling/core/api/impl/ScalingAPIImpl.java      |  10 +-
 .../ShardingSphereJDBCDataSourceConfiguration.java |   7 +-
 .../yaml/ServerConfigurationYamlSwapper.java       |   2 +-
 .../yaml/ShardingRuleConfigurationSwapper.java     |  45 ++
 .../core/config/yaml/YamlServerConfiguration.java  |   2 +-
 .../core/executor/job/ScalingJobExecutor.java      |   6 +-
 .../scaling/core/job/FinishedCheckJob.java         |   6 +-
 .../scaling/core/job/ScalingJob.java               |   8 +-
 .../core/job/schedule/JobSchedulerCenter.java      |   4 +-
 .../scaling/core/util/JobConfigurationUtil.java    |  27 +-
 ...t.java => GovernanceRepositoryAPIImplTest.java} |  30 +-
 .../scaling/core/api/impl/ScalingAPIImplTest.java  |   4 +-
 .../yaml/ServerConfigurationYamlSwapperTest.java   |  16 +-
 .../scaling/core/job/FinishedCheckJobTest.java     |  14 +-
 .../scaling/core/job/ScalingJobTest.java           |   4 +-
 .../scaling/core/util/JDBCUtilTest.java            |  12 +-
 .../src/main/antlr4/imports/mysql/DALStatement.g4  |   2 +-
 .../sql/parser/autogen/MySQLStatement.g4           |   1 +
 .../impl/MySQLDALStatementSQLVisitor.java          |  42 +-
 .../src/main/antlr4/imports/oracle/BaseRule.g4     |  62 ++-
 .../src/main/antlr4/imports/oracle/DDLStatement.g4 | 267 ++++++++-
 .../src/main/antlr4/imports/oracle/Literals.g4     |   4 +
 .../main/antlr4/imports/oracle/OracleKeyword.g4    | 140 ++++-
 .../sql/parser/autogen/OracleStatement.g4          |   1 +
 .../impl/OracleDDLStatementSQLVisitor.java         |  11 +-
 .../statement/impl/OracleStatementSQLVisitor.java  |   2 +-
 .../main/antlr4/imports/postgresql/DALStatement.g4 |   4 +-
 .../main/antlr4/imports/postgresql/DDLStatement.g4 |   8 +-
 .../main/antlr4/imports/postgresql/DMLStatement.g4 |   4 -
 .../sql/parser/autogen/PostgreSQLStatement.g4      |   6 +
 .../impl/PostgreSQLDALStatementSQLVisitor.java     |  75 ++-
 .../impl/PostgreSQLDDLStatementSQLVisitor.java     |  31 ++
 .../impl/PostgreSQLDMLStatementSQLVisitor.java     | 604 +--------------------
 .../impl/PostgreSQLStatementSQLVisitor.java        | 581 ++++++++++++++++++++
 .../sql/parser/core/visitor/SQLVisitorRule.java    |  18 +-
 .../sql/common/extractor/TableExtractor.java       |  20 +-
 .../statement/dal/AnalyzeTableStatement.java       |  10 +
 .../statement/dal/ExplainStatement.java}           |  26 +-
 .../AlterSystemStatement.java}                     |  10 +-
 .../EmptyStatement.java}                           |  13 +-
 .../dal/ExplainStatementHandler.java}              |  35 +-
 ...a => MySQLCreateLoadableFunctionStatement.java} |  11 +-
 ...beStatement.java => MySQLExplainStatement.java} |  20 +-
 .../oracle/ddl/OracleAlterSystemStatement.java     |  19 +-
 .../dal/PostgreSQLExplainStatement.java}           |  11 +-
 .../dal/PostgreSQLLoadStatement.java}              |  15 +-
 .../ddl/PostgreSQLDeallocateStatement.java}        |  15 +-
 .../ddl/PostgreSQLExecuteStatement.java}           |  15 +-
 .../postgresql/ddl/PostgreSQLPrepareStatement.java |  84 +++
 .../handler/dal/ExplainStatementHandlerTest.java   |  46 ++
 .../asserts/statement/dal/DALStatementAssert.java  |  10 +-
 ...mentAssert.java => ExplainStatementAssert.java} |  16 +-
 .../asserts/statement/ddl/DDLStatementAssert.java  |   5 +
 .../impl/AlterSystemStatementAssert.java}          |  20 +-
 .../jaxb/cases/domain/SQLParserTestCases.java      |   9 +-
 ...TestCase.java => ExplainStatementTestCase.java} |   2 +-
 .../AlterSystemStatementTestCase.java}             |   6 +-
 .../src/main/resources/case/ddl/alter-system.xml   |  41 ++
 .../src/main/resources/sql/supported/ddl/alter.xml |  22 +
 .../test/resources/docker/proxy/conf/server.yaml   |   9 +-
 .../adapter/ShardingSphereAdapterContainer.java    |  16 +-
 .../integration/engine/it/dql/GeneralDQLIT.java    |   4 +-
 .../resources/docker/db/proxy/conf/server.yaml     |   9 +-
 .../proxy/conf/server.yaml                         |   9 +-
 .../proxy/conf/server.yaml                         |   9 +-
 .../docker/encrypt/proxy/conf/server.yaml          |   9 +-
 .../proxy/conf/config-readwrite-splitting.yaml     |   1 -
 .../readwrite_splitting/proxy/conf/server.yaml     |   9 +-
 .../sharding_governance/proxy/conf/server.yaml     |   9 +-
 .../resources/docker/tbl/proxy/conf/server.yaml    |   9 +-
 .../rules.yaml                                     |   2 -
 .../src/test/resources/env/encrypt/rules.yaml      |   2 -
 .../resources/env/readwrite_splitting/rules.yaml   |   1 -
 580 files changed, 9135 insertions(+), 4797 deletions(-)
 create mode 100644 docs/document/static/img/faq/configure-antlr-plugin.png
 copy shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/{generic/PostgreSQLCommandCompletePacket.java => command/query/PostgreSQLEmptyQueryResponsePacket.java} (70%)
 copy shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/{generic/PostgreSQLCommandCompletePacket.java => command/query/binary/close/PostgreSQLCloseCompletePacket.java} (70%)
 copy shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/binary/{parse/PostgreSQLComParsePacket.java => close/PostgreSQLComClosePacket.java} (50%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/skip/SkipBackendHandlerTest.java => shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/PostgreSQLEmptyQueryResponsePacketTest.java (59%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/skip/SkipBackendHandlerTest.java => shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/binary/close/PostgreSQLCloseCompletePacketTest.java (59%)
 copy shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/binary/{parse/PostgreSQLComParsePacketTest.java => close/PostgreSQLComClosePacketTest.java} (51%)
 copy {shardingsphere-proxy/shardingsphere-proxy-bootstrap => shardingsphere-distribution/shardingsphere-proxy-distribution}/src/main/resources/conf/config-database-discovery.yaml (84%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/rdl/{ReadwriteSplittingRuleSegment.java => DatabaseDiscoveryRuleSegment.java} (81%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/rdl/{ReadwriteSplittingRuleSegment.java => EncryptColumnSegment.java} (75%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/rdl/{ReadwriteSplittingRuleSegment.java => EncryptRuleSegment.java} (73%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/{AlterReadwriteSplittingRuleStatement.java => alter/AlterDatabaseDiscoveryRuleStatement.java} (67%)
 copy shardingsphere-infra/shardingsphere-infra-authority/shardingsphere-infra-authority-api/src/main/java/org/apache/shardingsphere/authority/api/config/AuthorityRuleConfiguration.java => shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/alter/AlterEncryptRuleStatement.java (68%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/{ => alter}/AlterReadwriteSplittingRuleStatement.java (78%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/{AlterReadwriteSplittingRuleStatement.java => alter/AlterShardingBindingTableRulesStatement.java} (65%)
 copy shardingsphere-infra/shardingsphere-infra-authority/shardingsphere-infra-authority-api/src/main/java/org/apache/shardingsphere/authority/api/config/AuthorityRuleConfiguration.java => shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/alter/AlterShardingBroadcastTableRulesStatement.java (69%)
 rename shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/{AlterReadwriteSplittingRuleStatement.java => create/impl/CreateDatabaseDiscoveryRuleStatement.java} (66%)
 rename shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/binary/PostgreSQLBinaryStatementParameterType.java => shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/create/impl/CreateEncryptRuleStatement.java (66%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/drop/impl/{DropReplicaQueryRuleStatement.java => DropDatabaseDiscoveryRuleStatement.java} (90%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/drop/impl/{DropReplicaQueryRuleStatement.java => DropEncryptRuleStatement.java} (82%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/YamlRuleConfigurationWrap.java => shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/drop/impl/DropReadwriteSplittingRuleStatement.java (68%)
 copy shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/drop/impl/{DropReplicaQueryRuleStatement.java => DropShardingBindingTableRulesStatement.java} (80%)
 rename shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/drop/impl/{DropReplicaQueryRuleStatement.java => DropShardingBroadcastTableRulesStatement.java} (80%)
 rename shardingsphere-distsql-parser/shardingsphere-distsql-parser-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rdl/drop/impl/{DropShardingRuleStatement.java => DropShardingTableRuleStatement.java} (91%)
 create mode 100644 shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-common/src/main/java/org/apache/shardingsphere/dbdiscovery/common/yaml/converter/DatabaseDiscoveryRuleStatementConverter.java
 create mode 100644 shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-common/src/test/java/org/apache/shardingsphere/dbdiscovery/common/yaml/converter/DatabaseDiscoveryRuleStatementConverterTest.java
 delete mode 100644 shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-common/src/main/java/org/apache/shardingsphere/readwritesplitting/common/yaml/converter/AlterReadwriteSplittingRuleStatementConverter.java
 delete mode 100644 shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-common/src/main/java/org/apache/shardingsphere/readwritesplitting/common/yaml/converter/CreateReadwriteSplittingRuleStatementConverter.java
 create mode 100644 shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-common/src/main/java/org/apache/shardingsphere/readwritesplitting/common/yaml/converter/ReadwriteSplittingRuleStatementConverter.java
 create mode 100644 shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/resources/sharding/analyze.xml
 create mode 100644 shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingPrepareStatementValidator.java
 create mode 100644 shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingPrepareStatementValidatorTest.java
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/{repository/GovernanceRepositoryFacade.java => RegistryCenterRepositoryFactory.java} (56%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/ReadwriteSplittingRuleCreateExistsException.java => shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/event/invocation/ExecuteProcessReportEvent.java (76%)
 copy shardingsphere-infra/shardingsphere-infra-authority/shardingsphere-infra-authority-api/src/main/java/org/apache/shardingsphere/authority/api/config/AuthorityRuleConfiguration.java => shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/event/rule/GlobalRuleConfigurationsChangedEvent.java (69%)
 copy shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/{PropertiesChangedListenerFactory.java => DataSourceChangedListenerFactory.java} (73%)
 copy shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/{LockChangedListenerFactory.java => MetaDataChangedListenerFactory.java} (72%)
 copy shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/{PropertiesChangedListenerFactory.java => RuleChangedListenerFactory.java} (73%)
 copy shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/{PropertiesChangedListenerFactory.java => SchemaChangedListenerFactory.java} (73%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/DataSourceChangedListener.java (75%)
 copy shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/{PropertiesChangedListener.java => GlobalRuleChangedListener.java} (54%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/MetaDataChangedListener.java (91%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/RuleChangedListener.java (89%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/SchemaChangedListener.java (79%)
 delete mode 100644 shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataListener.java
 create mode 100644 shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/lock/LockRegistryCenter.java
 delete mode 100644 shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/YamlConfigurationConverter.java
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/{ => pojo}/YamlGovernanceConfiguration.java (89%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/{YamlGovernanceCenterConfiguration.java => pojo/YamlRegistryCenterConfiguration.java} (85%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/{ => pojo/scaling}/YamlScalingConfiguration.java (90%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/{ => config}/swapper/GovernanceConfigurationYamlSwapper.java (71%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/{swapper/GovernanceCenterConfigurationYamlSwapper.java => config/swapper/RegistryCenterConfigurationYamlSwapper.java} (58%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/{config/schema => schema/pojo}/YamlColumnMetaData.java (94%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/{config/schema => schema/pojo}/YamlIndexMetaData.java (93%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/{config/schema => schema/pojo}/YamlSchema.java (94%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/{config/schema => schema/pojo}/YamlTableMetaData.java (94%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/{ => schema}/swapper/SchemaYamlSwapper.java (60%)
 copy shardingsphere-governance/{shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/test/java/org/apache/shardingsphere/governance/repository/etcd/EtcdPropertiesTest.java => shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/RegistryCenterRepositoryFactoryTest.java} (52%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/fixture/{TestAllRepository.java => RegistryCenterRepositoryFixture.java} (86%)
 delete mode 100644 shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/fixture/TestRegistryRepository.java
 copy shardingsphere-governance/{shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/EtcdProperties.java => shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/instance/GovernanceInstanceTest.java} (68%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/{PostGovernanceRepositoryEventListenerTest.java => PostRegistryCenterRepositoryEventListenerTest.java} (81%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/DataSourceChangedListenerTest.java (90%)
 copy shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata/SchemaChangedListenerTest.java => impl/GlobalRuleChangedListenerTest.java} (60%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata/MetaDataListenerTest.java => impl/GovernanceListenerTest.java} (87%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/MetaDataChangedListenerTest.java (94%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/RuleChangedListenerTest.java (92%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/{metadata => impl}/SchemaChangedListenerTest.java (92%)
 create mode 100644 shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/lock/LockRegistryCenterTest.java
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/yaml/{ => config}/swapper/GovernanceConfigurationYamlSwapperTest.java (88%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/yaml/{swapper/GovernanceCenterConfigurationYamlSwapperTest.java => config/swapper/RegistryCenterConfigurationYamlSwapperTest.java} (55%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/yaml/{ => schema}/swapper/SchemaYamlSwapperTest.java (96%)
 delete mode 100644 shardingsphere-governance/shardingsphere-governance-core/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository
 copy shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository => shardingsphere-governance/shardingsphere-governance-core/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository (89%)
 copy shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository => shardingsphere-governance/shardingsphere-governance-core/src/test/resources/yaml/authority-rule.yaml (89%)
 copy shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository => shardingsphere-governance/shardingsphere-governance-core/src/test/resources/yaml/registryCenter/data-global-rule.yaml (89%)
 delete mode 100644 shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/RegistryRepository.java
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/config/{GovernanceCenterConfiguration.java => RegistryCenterConfiguration.java} (92%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/{api/GovernanceRepository.java => spi/RegistryCenterRepository.java} (65%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/{ => props}/EtcdProperties.java (94%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/{ => props}/EtcdPropertyKey.java (95%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/resources/META-INF/services/{org.apache.shardingsphere.governance.repository.api.RegistryRepository => org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository} (100%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/test/java/org/apache/shardingsphere/governance/repository/etcd/{ => props}/EtcdPropertiesTest.java (95%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/{ => props}/ZookeeperProperties.java (99%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/{ => props}/ZookeeperPropertyKey.java (99%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/resources/META-INF/services/{org.apache.shardingsphere.governance.repository.api.RegistryRepository => org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository} (100%)
 rename shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/test/java/org/apache/shardingsphere/governance/repository/zookeeper/{ => props}/ZookeeperPropertiesTest.java (99%)
 copy shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/{DescribeStatementContext.java => AnalyzeTableStatementContext.java} (71%)
 copy shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/{DescribeStatementContext.java => ExplainStatementContext.java} (50%)
 rename shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/{dal/DescribeStatementContext.java => ddl/PrepareStatementContext.java} (53%)
 copy shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/context/CalciteContext.java (89%)
 copy shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/context/CalciteContextFactory.java (95%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/execute/CalciteExecutor.java (95%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/execute/CalciteJDBCExecutor.java (96%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/execute/raw/CalciteRawExecutor.java (90%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/execute/raw/context/CalciteDataContext.java (90%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/util/FieldUtil.java => shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/optimize/execute/raw/convert/SqlNodeConverter.java (59%)
 copy shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/execute/raw/plan/PlannerInitializer.java (95%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/CalciteLogicSchema.java (58%)
 copy shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/CalciteLogicSchemaFactory.java (63%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/row/CalciteRowEnumerator.java (97%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/row/CalciteRowExecutor.java (90%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/table/AbstractCalciteTable.java (74%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/table/CalciteFilterableTable.java (61%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/table/execute/CalciteExecutionContextGenerator.java (97%)
 rename shardingsphere-infra/{shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra => shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql}/optimize/schema/table/execute/CalciteExecutionSQLGenerator.java (94%)
 create mode 100644 shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/ShardingSphereOptimizer.java
 rename shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/{CalciteContext.java => OptimizeContext.java} (87%)
 rename shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/{CalciteContextFactory.java => OptimizeContextFactory.java} (86%)
 rename shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/{execute/raw => }/convert/SqlNodeConverter.java (95%)
 rename shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/{execute/raw => }/plan/PlannerInitializer.java (96%)
 rename shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/{generator/CalciteLogicSchemaGenerator.java => LogicSchemaMetadata.java} (70%)
 rename shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/{CalciteLogicSchemaFactory.java => LogicSchemaMetadatas.java} (59%)
 rename shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/{generator/CalciteLogicTableGenerator.java => LogicTableMetadata.java} (80%)
 delete mode 100644 shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/context/CalciteContextFactoryTest.java
 delete mode 100644 shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaFactoryTest.java
 delete mode 100644 shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/schema/table/execute/CalciteExecutionContextGeneratorTest.java
 copy shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/{config-encrypt.yaml => config-encrypt-query-with-cipher.yaml} (97%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/{config-encrypt.yaml => config-encrypt-query-with-plain.yaml} (97%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/util/{YamlGovernanceRepositoryConfigurationSwapperUtil.java => YamlGovernanceConfigurationSwapperUtil.java} (73%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/fixture/{TestRegistryRepository.java => TestRegistryCenterRepository.java} (88%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/util/{YamlInstanceConfigurationSwapperUtilTest.java => YamlGovernanceConfigurationSwapperUtilTest.java} (72%)
 copy shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/META-INF/services/{org.apache.shardingsphere.governance.repository.api.RegistryRepository => org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository} (98%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/registry/{TestGovernanceRepository.java => TestRegistryCenterRepository.java} (89%)
 delete mode 100644 shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository
 copy shardingsphere-jdbc/{shardingsphere-jdbc-governance/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository => shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository} (90%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/main/java/org/apache/shardingsphere/spring/namespace/governance/constants/{GovernanceCenterConfigurationBeanDefinitionTag.java => RegistryCenterConfigurationBeanDefinitionTag.java} (91%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/main/java/org/apache/shardingsphere/spring/namespace/governance/parser/{GovernanceCenterConfigurationBeanDefinitionParser.java => RegistryCenterConfigurationBeanDefinitionParser.java} (75%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/registry/{TestGovernanceRepository.java => TestRegistryCenterRepository.java} (87%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/services/{org.apache.shardingsphere.governance.repository.api.RegistryRepository => org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository} (96%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/{ReadwriteSplittingRuleCreateExistsException.java => DatabaseDiscoveryRuleDataSourcesNotExistedException.java} (75%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/{ReadwriteSplittingRuleCreateExistsException.java => DatabaseDiscoveryRuleExistsException.java} (80%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/{ReadwriteSplittingRuleCreateExistsException.java => DatabaseDiscoveryRuleNotExistedException.java} (79%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/{ReadwriteSplittingRuleCreateExistsException.java => InvalidDatabaseDiscoveryTypesException.java} (72%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/{ReadwriteSplittingRuleCreateExistsException.java => InvalidLoadBalancersException.java} (73%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/{ReadwriteSplittingRuleCreateExistsException.java => ShardingBindingTableRulesNotExistsException.java} (81%)
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/{ReadwriteSplittingRuleCreateExistsException.java => ShardingBroadcastTableRulesNotExistsException.java} (78%)
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterDatabaseDiscoveryRuleBackendHandler.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBindingTableRulesBackendHandler.java
 copy shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/{CreateReadwriteSplittingRuleBackendHandler.java => AlterShardingBroadcastTableRulesBackendHandler.java} (53%)
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseDiscoveryRuleBackendHandler.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseDiscoveryRuleBackendHandler.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBindingTableRulesBackendHandler.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBroadcastTableRulesBackendHandler.java
 rename shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/{DropShardingRuleBackendHandler.java => DropShardingTableRuleBackendHandler.java} (53%)
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/fixture/TestDatabaseDiscoveryType.java
 copy shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-common/src/main/java/org/apache/shardingsphere/dbdiscovery/common/yaml/config/rule/YamlDatabaseDiscoveryDataSourceRuleConfiguration.java => shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/fixture/TestReplicaLoadBalanceAlgorithm.java (65%)
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterDatabaseDiscoveryRuleBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterReadwriteSplittingRuleBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBindingTableRulesBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBroadcastTableRulesBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseDiscoveryRuleBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateReadwriteSplittingRuleBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseDiscoveryRuleBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropReadwriteSplittingRuleBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBindingTableRulesBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBroadcastTableRulesBackendHandlerTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingTableRuleBackendHandlerTest.java
 copy shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository => shardingsphere-proxy/shardingsphere-proxy-backend/src/test/resources/META-INF/services/org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryType (89%)
 rename shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository => shardingsphere-proxy/shardingsphere-proxy-backend/src/test/resources/META-INF/services/org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm (89%)
 rename shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/{FixtureRegistryRepository.java => FixtureRegistryCenterRepository.java} (87%)
 delete mode 100644 shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.api.RegistryRepository
 rename shardingsphere-governance/shardingsphere-governance-core/src/test/resources/yaml/registryCenter/data-users.yaml => shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/META-INF/services/org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository (91%)
 delete mode 100644 shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/executor/ChannelThreadExecutorGroup.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/executor/ConnectionThreadExecutorGroup.java
 rename shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/test/java/org/apache/shardingsphere/proxy/frontend/executor/{ChannelThreadExecutorGroupTest.java => ConnectionThreadExecutorGroupTest.java} (61%)
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/close/PostgreSQLComCloseExecutor.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/bind/PostgreSQLComBindExecutorTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/close/PostgreSQLComCloseExecutorTest.java
 create mode 100644 shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/text/PostgreSQLComQueryExecutorTest.java
 rename shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/{RegistryRepositoryAPI.java => GovernanceRepositoryAPI.java} (96%)
 rename shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/impl/{RegistryRepositoryAPIImpl.java => GovernanceRepositoryAPIImpl.java} (81%)
 create mode 100644 shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/ShardingRuleConfigurationSwapper.java
 rename shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/{RegistryRepositoryAPIImplTest.java => GovernanceRepositoryAPIImplTest.java} (83%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/{dialect/statement/mysql/dal/MySQLDescribeStatement.java => common/statement/dal/ExplainStatement.java} (67%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/{dal/AnalyzeTableStatement.java => ddl/AlterSystemStatement.java} (83%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/{dal/AnalyzeTableStatement.java => dml/EmptyStatement.java} (83%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/{statement/mysql/dal/MySQLDescribeStatement.java => handler/dal/ExplainStatementHandler.java} (51%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/{MySQLDescribeStatement.java => MySQLCreateLoadableFunctionStatement.java} (77%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/{MySQLDescribeStatement.java => MySQLExplainStatement.java} (77%)
 rename shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/YamlDataSourceConfigurationWrap.java => shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/ddl/OracleAlterSystemStatement.java (65%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/{common/statement/dal/AnalyzeTableStatement.java => dialect/statement/postgresql/dal/PostgreSQLExplainStatement.java} (70%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/{mysql/dal/MySQLDescribeStatement.java => postgresql/dal/PostgreSQLLoadStatement.java} (75%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/{mysql/dal/MySQLDescribeStatement.java => postgresql/ddl/PostgreSQLDeallocateStatement.java} (77%)
 rename shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/{mysql/dal/MySQLDescribeStatement.java => postgresql/ddl/PostgreSQLExecuteStatement.java} (77%)
 create mode 100644 shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/postgresql/ddl/PostgreSQLPrepareStatement.java
 create mode 100644 shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dal/ExplainStatementHandlerTest.java
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/impl/{DescribeStatementAssert.java => ExplainStatementAssert.java} (72%)
 rename shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/{dal/impl/DescribeStatementAssert.java => ddl/impl/AlterSystemStatementAssert.java} (69%)
 copy shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/dal/{DescribeStatementTestCase.java => ExplainStatementTestCase.java} (93%)
 rename shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/{dal/DescribeStatementTestCase.java => ddl/AlterSystemStatementTestCase.java} (87%)
 create mode 100644 shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/ddl/alter-system.xml

[shardingsphere] 02/02: Update OpenGaussDataSourceMetaData

Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

wuweijie pushed a commit to branch opengauss_adapt
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git

commit 96ab4033f3e2890cab12578ea9559168d0e16d49
Author: zhangliang <zh...@apache.org>
AuthorDate: Mon May 10 13:24:34 2021 +0800

    Update OpenGaussDataSourceMetaData
---
 .../infra/database/type/dialect/OpenGaussDatabaseType.java          | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/dialect/OpenGaussDatabaseType.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/dialect/OpenGaussDatabaseType.java
index 9b3d2e0..d41e53e 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/dialect/OpenGaussDatabaseType.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/dialect/OpenGaussDatabaseType.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.type.dialect;
 
-import org.apache.shardingsphere.infra.database.metadata.dialect.MariaDBDataSourceMetaData;
+import org.apache.shardingsphere.infra.database.metadata.dialect.OpenGaussDataSourceMetaData;
 import org.apache.shardingsphere.infra.database.type.BranchDatabaseType;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry;
@@ -48,8 +48,8 @@ public final class OpenGaussDatabaseType implements BranchDatabaseType {
     }
     
     @Override
-    public MariaDBDataSourceMetaData getDataSourceMetaData(final String url, final String username) {
-        return new MariaDBDataSourceMetaData(url);
+    public OpenGaussDataSourceMetaData getDataSourceMetaData(final String url, final String username) {
+        return new OpenGaussDataSourceMetaData(url);
     }
     
     @Override

[shardingsphere] 01/02: Add OpenGauss Database type (#10292)

Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

wuweijie pushed a commit to branch opengauss_adapt
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git

commit 2f5d65a51a247293bbc8789167306776e9d183ec
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon May 10 12:53:24 2021 +0800

    Add OpenGauss Database type (#10292)
---
 .../dialect/OpenGaussDataSourceMetaData.java       | 57 +++++++++++++++++++++
 .../type/dialect/OpenGaussDatabaseType.java        | 59 ++++++++++++++++++++++
 ...shardingsphere.infra.database.type.DatabaseType |  1 +
 3 files changed, 117 insertions(+)

diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/OpenGaussDataSourceMetaData.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/OpenGaussDataSourceMetaData.java
new file mode 100644
index 0000000..84974b3
--- /dev/null
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/OpenGaussDataSourceMetaData.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.infra.database.metadata.dialect;
+
+import com.google.common.base.Strings;
+import lombok.Getter;
+import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
+import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Data source meta data for OpenGauss.
+ */
+@Getter
+public final class OpenGaussDataSourceMetaData implements DataSourceMetaData {
+    
+    private static final int DEFAULT_PORT = 5432;
+    
+    private final String hostName;
+    
+    private final int port;
+    
+    private final String catalog;
+    
+    private final String schema;
+    
+    // TODO fix OpenGauss's url pattern
+    private final Pattern pattern = Pattern.compile("jdbc:openguass://([\\w\\-\\.]+):?([0-9]*),?.*?/([\\w\\-]+)?\\S*", Pattern.CASE_INSENSITIVE);
+    
+    public OpenGaussDataSourceMetaData(final String url) {
+        Matcher matcher = pattern.matcher(url);
+        if (!matcher.find()) {
+            throw new UnrecognizedDatabaseURLException(url, pattern.pattern());
+        }
+        hostName = matcher.group(1);
+        port = Strings.isNullOrEmpty(matcher.group(2)) ? DEFAULT_PORT : Integer.parseInt(matcher.group(2));
+        catalog = matcher.group(3);
+        schema = null;
+    }
+}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/dialect/OpenGaussDatabaseType.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/dialect/OpenGaussDatabaseType.java
new file mode 100644
index 0000000..9b3d2e0
--- /dev/null
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/dialect/OpenGaussDatabaseType.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.infra.database.type.dialect;
+
+import org.apache.shardingsphere.infra.database.metadata.dialect.MariaDBDataSourceMetaData;
+import org.apache.shardingsphere.infra.database.type.BranchDatabaseType;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry;
+import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter;
+
+import java.util.Collection;
+import java.util.Collections;
+
+/**
+ * Database type of OpenGauss.
+ */
+public final class OpenGaussDatabaseType implements BranchDatabaseType {
+    
+    @Override
+    public String getName() {
+        return "OpenGauss";
+    }
+    
+    @Override
+    public QuoteCharacter getQuoteCharacter() {
+        return QuoteCharacter.QUOTE;
+    }
+    
+    @Override
+    public Collection<String> getJdbcUrlPrefixes() {
+        // TODO fix OpenGauss's url pattern
+        return Collections.singleton(String.format("jdbc:%s:", getName().toLowerCase()));
+    }
+    
+    @Override
+    public MariaDBDataSourceMetaData getDataSourceMetaData(final String url, final String username) {
+        return new MariaDBDataSourceMetaData(url);
+    }
+    
+    @Override
+    public DatabaseType getTrunkDatabaseType() {
+        return DatabaseTypeRegistry.getActualDatabaseType("PostgreSQL");
+    }
+}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType b/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType
index 3c34e38..8a86232 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType
@@ -19,6 +19,7 @@ org.apache.shardingsphere.infra.database.type.dialect.SQL92DatabaseType
 org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType
 org.apache.shardingsphere.infra.database.type.dialect.MariaDBDatabaseType
 org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType
+org.apache.shardingsphere.infra.database.type.dialect.OpenGaussDatabaseType
 org.apache.shardingsphere.infra.database.type.dialect.OracleDatabaseType
 org.apache.shardingsphere.infra.database.type.dialect.SQLServerDatabaseType
 org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType