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

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


The following commit(s) were added to refs/heads/master by this push:
     new 99b3ad99044 Refactor XAShardingSphereTransactionManagerTest (#23036)
99b3ad99044 is described below

commit 99b3ad990446d54f2b86c6e822442bafd096674d
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Dec 22 18:33:29 2022 +0800

    Refactor XAShardingSphereTransactionManagerTest (#23036)
---
 .../Jul_26_An_introduction_to_DistSQL.en.md        | 268 ++++++++++-----------
 .../fonts/libre-baskerville-v7-latin-700.eot       | Bin 31987 -> 31986 bytes
 .../fonts/libre-baskerville-v7-latin-700.ttf       | Bin 80204 -> 80186 bytes
 .../fonts/libre-baskerville-v7-latin-italic.eot    | Bin 35981 -> 35980 bytes
 .../fonts/libre-baskerville-v7-latin-italic.ttf    | Bin 81712 -> 81699 bytes
 .../fonts/libre-baskerville-v7-latin-italic.woff2  | Bin 30684 -> 30683 bytes
 .../fonts/libre-baskerville-v7-latin-regular.eot   | Bin 31161 -> 31160 bytes
 .../fonts/libre-baskerville-v7-latin-regular.ttf   | Bin 78732 -> 78708 bytes
 .../content/basics/requirements/images/magic.gif   | Bin 1458653 -> 1458622 
bytes
 .../attachments.en.files/BachGavotteShort.mp3      | Bin 366464 -> 366455 bytes
 .../Carroll_AliceAuPaysDesMerveilles.pdf           | Bin 179433 -> 179425 bytes
 .../adivorciarsetoca00cape.pdf                     | Bin 370344 -> 370322 bytes
 .../movieselectricsheep-flock-244-32500-2.mp4      | Bin 348402 -> 348397 bytes
 .../attachments.fr.files/BachGavotteShort.mp3      | Bin 366464 -> 366455 bytes
 .../Carroll_AliceAuPaysDesMerveilles.pdf           | Bin 179433 -> 179425 bytes
 .../adivorciarsetoca00cape.pdf                     | Bin 370344 -> 370322 bytes
 .../movieselectricsheep-flock-244-32500-2.mp4      | Bin 348402 -> 348397 bytes
 .../static/fonts/monogramos-webfont.eot            | Bin 28654 -> 28653 bytes
 .../static/fonts/monogramos-webfont.ttf            | Bin 136752 -> 136745 bytes
 .../static/fonts/monogramos-webfont.woff           | Bin 34276 -> 34275 bytes
 .../hugo-theme-learn/static/fonts/FontAwesome.otf  | Bin 134808 -> 134801 bytes
 .../hugo-theme-learn/static/fonts/Inconsolata.eot  | Bin 35620 -> 35619 bytes
 .../fonts/Novecentosanswide-Normal-webfont.eot     | Bin 22446 -> 22445 bytes
 .../fonts/Novecentosanswide-Normal-webfont.ttf     | Bin 56884 -> 56883 bytes
 .../fonts/Novecentosanswide-UltraLight-webfont.ttf | Bin 55600 -> 55595 bytes
 .../static/fonts/Work_Sans_200.eot                 | Bin 24290 -> 24289 bytes
 .../static/fonts/Work_Sans_200.ttf                 | Bin 49752 -> 49750 bytes
 .../static/fonts/Work_Sans_200.woff                | Bin 25896 -> 25895 bytes
 .../static/fonts/Work_Sans_300.eot                 | Bin 24817 -> 24816 bytes
 .../static/fonts/Work_Sans_300.ttf                 | Bin 50784 -> 50782 bytes
 .../static/fonts/Work_Sans_300.woff2               | Bin 21548 -> 21547 bytes
 .../static/fonts/Work_Sans_500.ttf                 | Bin 54232 -> 54230 bytes
 .../static/fonts/fontawesome-webfont.eot           | Bin 165742 -> 165719 bytes
 .../static/fonts/fontawesome-webfont.ttf           | Bin 165548 -> 165525 bytes
 .../static/fonts/fontawesome-webfont.woff          | Bin 98024 -> 98019 bytes
 .../static/fonts/fontawesome-webfont.woff2         | Bin 77160 -> 77159 bytes
 .../content/basics/requirements/images/magic.gif   | Bin 1458653 -> 1458622 
bytes
 .../attachments.fr.files/BachGavotteShort.mp3      | Bin 366464 -> 366455 bytes
 .../movieselectricsheep-flock-244-32500-2.mp4      | Bin 348402 -> 348397 bytes
 .../hugo-theme-learn/static/fonts/Inconsolata.eot  | Bin 35620 -> 35619 bytes
 .../fonts/Novecentosanswide-Normal-webfont.eot     | Bin 22446 -> 22445 bytes
 .../fonts/Novecentosanswide-Normal-webfont.ttf     | Bin 56884 -> 56883 bytes
 .../fonts/Novecentosanswide-UltraLight-webfont.ttf | Bin 55600 -> 55595 bytes
 .../static/fonts/Work_Sans_200.eot                 | Bin 24290 -> 24289 bytes
 .../static/fonts/Work_Sans_200.ttf                 | Bin 49752 -> 49750 bytes
 .../static/fonts/Work_Sans_200.woff                | Bin 25896 -> 25895 bytes
 .../static/fonts/Work_Sans_300.eot                 | Bin 24817 -> 24816 bytes
 .../static/fonts/Work_Sans_300.ttf                 | Bin 50784 -> 50782 bytes
 .../static/fonts/Work_Sans_300.woff2               | Bin 21548 -> 21547 bytes
 .../static/fonts/Work_Sans_500.ttf                 | Bin 54232 -> 54230 bytes
 .../static/fonts/fontawesome-webfont.eot           | Bin 165717 -> 165716 bytes
 .../static/fonts/fontawesome-webfont.ttf           | Bin 165523 -> 165522 bytes
 .../xa/XAShardingSphereTransactionManagerTest.java |  14 +-
 53 files changed, 139 insertions(+), 143 deletions(-)

diff --git a/docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.en.md 
b/docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.en.md
index d8991a66a0f..151ba2efe26 100644
--- a/docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.en.md
+++ b/docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.en.md
@@ -1,134 +1,134 @@
-+++
-
-title = "An Introduction to DistSQL"
-weight = 16
-chapter = true
-
-+++
-
-We believe that if you’re reading this then you’re familiar with SQL 
(Structured Query Language), the data query and programming language. It’s also 
used as the standard language of relational database management systems for 
accessing data, querying, updating and managing relational database systems. 
-
-Similar to standard SQL, DistSQL, or Distributed SQL, is a built-in SQL 
language unique to ShardingSphere that provides incremental functional 
capabilities beyond standard SQL. Leveraging ShardingSphere's powerful SQL 
parsing engine, DistSQL provides a syntax structure and syntax validation 
system like that of standard SQL - making DistSQL more flexible while 
maintaining regularity.
-
-ShardingSphere's Database Plus concept aims at creating an Open-Source 
distributed database system that is both functional and relevant to the actual 
database business. DistSQL is built on top of the traditional database to 
provide SQL capabilities that are both standards-compliant and feature 
ShardingSphere's functionality to better energize the traditional database.
-
-## Original Design Intention of DistSQL
-
-Over its rapid development years, ShardingSphere has become unique in the 
database middleware space as the kernel has gradually stabilized, and the core 
functionality has continuously been honed. As an Open-Source leader in Asia and 
China in particular, ShardingSphere did not stop in its exploration of a 
distributed database ecosystem. 
-
-Redefining the boundary between middleware and database and allowing 
developers to leverage Apache ShardingSphere as if they were using a database 
natively is DistSQL's design goal. It is also an integral part of 
ShardingSphere's ability to transform from a developer-oriented framework and 
middleware to an operations-oriented infrastructure product.
-
-## DistSQL Syntax System
-
-DistSQL has been designed from the outset to be standards-oriented, 
considering the habits of both database developers and operators. The syntax of 
DistSQL is based on the standard SQL language, considering readability and ease 
of use, while retaining the maximum amount of ShardingSphere's own features and 
providing the highest possible number of customization options for users to 
cope with different business scenarios. Developers familiar with SQL and 
ShardingSphere can get started quickly.
-
-While standard SQL provides different types of syntaxes such as DQL, DDL, DML, 
DCL etc. to define different functional SQL statements, DistSQL defines a 
syntax system of its own as well.
-
-In ShardingSphere, the DistSQL syntax is currently divided into three main 
types: RDL, RQL and RAL.
-
-RDL (Resource & Rule Definition Language): Resource rule definition language 
for creating, modifying and deleting resources and rules.
-
-RQL (Resource & Rule Query Language): resource rule query language for 
querying and presenting resources and rules.
-
-RAL (Resource & Rule Administration Language): resource rule administration 
language for incremental functional operations such as Hint, transaction type 
switching, and query of sharding execution plan.
-
-DistSQL's syntax builds a bridge for ShardingSphere to move towards a 
distributed database, and while it is still being improved as more ideas are 
implemented, DistSQL is bound to get more powerful. Developers who are 
interested are welcome to join ShardingSphere and contribute ideas and code to 
DistSQL.
-
-For more detailed syntax rules, please refer to the official documentation: 
[https://[shardingsphere.apache.org/document/current/cn/features/dist-sql/syntax/]()]()
-
-For the project’s community, please refer to the official Slack channel: 
-[https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg]()
-
-## DistSQL in Practice
-
-Having understood the design concept and syntax system of DistSQL, let’s take 
data sharding as an example to demonstrate how to build a data sharding service 
based on ShardingSphere.
-
-### Environment preparation:
-1. Start MySQL Services
-2. Create a MySQL database for sharding
-3. Start the Zookeeper service
-4. Turn on the distributed governance configuration and start 
ShardingSphere-Proxy 
[(https://shardingsphere.apache.org/document/current/cn/quick-start/shardingsphere-proxy-quick-start/)]()
-
-### Practical demonstration:
-* Connect to the launched ShardingSphere-Proxy using the MySQL command line
-* Create and query the distributed database `sharding_db`
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e8b2f000cce541b198e16264e0a52d3c~tplv-k3u1fbpfcp-zoom-1.image)
-
-* Use the newly created database
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3b8564a05dcf41adb8c9534795f40a29~tplv-k3u1fbpfcp-zoom-1.image)
-
-* Execute RDL to configure 2 data source resources `ds_1` and `ds_2` for 
sharding
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/eb47028f29584ec78c72b0f5a953d3c9~tplv-k3u1fbpfcp-zoom-1.image)
-
-* Execute RQL to query the newly added data source resources
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/395c95eae66e4426b73945477f38e0e8~tplv-k3u1fbpfcp-zoom-1.image)
-
-* Execute RDL to create a sharding rule for the `t_order` table
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2d7a4a9435994d1d8902ffb912e965da~tplv-k3u1fbpfcp-zoom-1.image)
-
-* Execute RQL to query the sharding rules
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d3f6464ca1d04cf5900d2a75fdffaad8~tplv-k3u1fbpfcp-zoom-1.image)
-
-In addition to querying all sharding rules under the current database, RQL can 
also query individual tables for sharding rules with the following statement
-`SHOW SHARDING TABLE RULE t_order FROM sharding_db`
-
-* Creating and querying the `t_order` sharding table
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dcabe5a7f4c94780aeb0e6a98df8d2e8~tplv-k3u1fbpfcp-zoom-1.image)
-
-* After successfully creating the sharding table `t_order` on the 
ShardingSphere-Proxy side, ShardingSphere automatically creates the sharding 
table based on the sharding rules of the `t_order` table by connecting to the 
underlying databases `ds_1` and `ds_2` via the client side.
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6e709d1f898a46dbaec7834ce3c9eeac~tplv-k3u1fbpfcp-zoom-1.image)
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0683a3f1aad2461ebba5e3ab2647c791~tplv-k3u1fbpfcp-zoom-1.image)
-
-* Once the sharding table is created, continue to execute the SQL statement on 
the ShardingSphere-Proxy side to insert the data
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/65632fe217f345b2aa6bf47125f31f26~tplv-k3u1fbpfcp-zoom-1.image)
-
-* Query the execution plan via RAL
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a8019a3039734544b342c2f7140c39dc~tplv-k3u1fbpfcp-zoom-1.image)
-
-This completes the ShardingSphere data sharding service using DistSQL. 
Compared to the previous version of the ShardingSphere proxy, which was 
profile-driven, DistSQL is more developer-friendly and more flexible in 
managing resources and rules. Moreover, the SQL-driven approach enables 
seamless interfacing between DistSQL and standard SQL.
-
-![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ba6c3256898b4d5aa52087ad4b0f97e6~tplv-k3u1fbpfcp-zoom-1.image)
-
-In the above example, only a small part of the DistSQL syntax is demonstrated. 
In addition to creating and querying resources and rules via `CREATE` and 
`SHOW` statements, DistSQL also provides additional operations such as `ALTRE 
DROP`, and supports configuration control of data sharding’s core functions, 
read and write separation, data encryption and database discovery. 
-
-## Conclusion
-
-As one of the new features released in Apache ShardingSphere’s 5.0.0-beta, 
DistSQL will continue to build on this release to provide improve syntax and 
increasingly powerful functions.
-
-DistSQL has opened up endless possibilities for ShardingSphere to explore in 
the distributed database space, and in the future DistSQL will be used as a 
link to connect more functions and provide one-click operations. For example, 
we will analyze the overall database status with one click, connect with 
elastic migration, provide one-click data expansion and shrinkage, and connect 
with control to realize one-click master-slave switch and change database 
status.
-
-We warmly welcome Open-Source and Java script enthusiasts to join our Slack 
community or check our GitHub to learn more about ShardingSphere’s latest 
developments. 
-
-### Author
-
-**Meng Haoran**
-
-SphereEx Senior Java Engineer
-
-Apache ShardingSphere Committer
-
-Previously responsible for the database products R&D at JingDong Technology, 
he is about Open-Source passionate and database ecosystems. 
-Currently, he focuses on the development of the ShardingSphere database 
middleware ecosystem and Open-Source community building.
-
-
-
-ShardingSphere Github: <https://github.com/apache/shardingsphere>
-
-ShardingSphere Twitter: <https://twitter.com/ShardingSphere>
-
-ShardingSphere Slack Channel: <https://bit.ly/3qB2GGc>
-
-Haoran's Github: <https://github.com/menghaoranss>
-
-Haoran's Twitter: <https://twitter.com/HaoranMeng2>
++++
+
+title = "An Introduction to DistSQL"
+weight = 16
+chapter = true
+
++++
+
+We believe that if you’re reading this then you’re familiar with SQL 
(Structured Query Language), the data query and programming language. It’s also 
used as the standard language of relational database management systems for 
accessing data, querying, updating and managing relational database systems. 
+
+Similar to standard SQL, DistSQL, or Distributed SQL, is a built-in SQL 
language unique to ShardingSphere that provides incremental functional 
capabilities beyond standard SQL. Leveraging ShardingSphere's powerful SQL 
parsing engine, DistSQL provides a syntax structure and syntax validation 
system like that of standard SQL - making DistSQL more flexible while 
maintaining regularity.
+
+ShardingSphere's Database Plus concept aims at creating an Open-Source 
distributed database system that is both functional and relevant to the actual 
database business. DistSQL is built on top of the traditional database to 
provide SQL capabilities that are both standards-compliant and feature 
ShardingSphere's functionality to better energize the traditional database.
+
+## Original Design Intention of DistSQL
+
+Over its rapid development years, ShardingSphere has become unique in the 
database middleware space as the kernel has gradually stabilized, and the core 
functionality has continuously been honed. As an Open-Source leader in Asia and 
China in particular, ShardingSphere did not stop in its exploration of a 
distributed database ecosystem. 
+
+Redefining the boundary between middleware and database and allowing 
developers to leverage Apache ShardingSphere as if they were using a database 
natively is DistSQL's design goal. It is also an integral part of 
ShardingSphere's ability to transform from a developer-oriented framework and 
middleware to an operations-oriented infrastructure product.
+
+## DistSQL Syntax System
+
+DistSQL has been designed from the outset to be standards-oriented, 
considering the habits of both database developers and operators. The syntax of 
DistSQL is based on the standard SQL language, considering readability and ease 
of use, while retaining the maximum amount of ShardingSphere's own features and 
providing the highest possible number of customization options for users to 
cope with different business scenarios. Developers familiar with SQL and 
ShardingSphere can get started quickly.
+
+While standard SQL provides different types of syntaxes such as DQL, DDL, DML, 
DCL etc. to define different functional SQL statements, DistSQL defines a 
syntax system of its own as well.
+
+In ShardingSphere, the DistSQL syntax is currently divided into three main 
types: RDL, RQL and RAL.
+
+RDL (Resource & Rule Definition Language): Resource rule definition language 
for creating, modifying and deleting resources and rules.
+
+RQL (Resource & Rule Query Language): resource rule query language for 
querying and presenting resources and rules.
+
+RAL (Resource & Rule Administration Language): resource rule administration 
language for incremental functional operations such as Hint, transaction type 
switching, and query of sharding execution plan.
+
+DistSQL's syntax builds a bridge for ShardingSphere to move towards a 
distributed database, and while it is still being improved as more ideas are 
implemented, DistSQL is bound to get more powerful. Developers who are 
interested are welcome to join ShardingSphere and contribute ideas and code to 
DistSQL.
+
+For more detailed syntax rules, please refer to the official documentation: 
[https://[shardingsphere.apache.org/document/current/cn/features/dist-sql/syntax/]()]()
+
+For the project’s community, please refer to the official Slack channel: 
+[https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg]()
+
+## DistSQL in Practice
+
+Having understood the design concept and syntax system of DistSQL, let’s take 
data sharding as an example to demonstrate how to build a data sharding service 
based on ShardingSphere.
+
+### Environment preparation:
+1. Start MySQL Services
+2. Create a MySQL database for sharding
+3. Start the Zookeeper service
+4. Turn on the distributed governance configuration and start 
ShardingSphere-Proxy 
[(https://shardingsphere.apache.org/document/current/cn/quick-start/shardingsphere-proxy-quick-start/)]()
+
+### Practical demonstration:
+* Connect to the launched ShardingSphere-Proxy using the MySQL command line
+* Create and query the distributed database `sharding_db`
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e8b2f000cce541b198e16264e0a52d3c~tplv-k3u1fbpfcp-zoom-1.image)
+
+* Use the newly created database
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3b8564a05dcf41adb8c9534795f40a29~tplv-k3u1fbpfcp-zoom-1.image)
+
+* Execute RDL to configure 2 data source resources `ds_1` and `ds_2` for 
sharding
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/eb47028f29584ec78c72b0f5a953d3c9~tplv-k3u1fbpfcp-zoom-1.image)
+
+* Execute RQL to query the newly added data source resources
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/395c95eae66e4426b73945477f38e0e8~tplv-k3u1fbpfcp-zoom-1.image)
+
+* Execute RDL to create a sharding rule for the `t_order` table
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2d7a4a9435994d1d8902ffb912e965da~tplv-k3u1fbpfcp-zoom-1.image)
+
+* Execute RQL to query the sharding rules
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d3f6464ca1d04cf5900d2a75fdffaad8~tplv-k3u1fbpfcp-zoom-1.image)
+
+In addition to querying all sharding rules under the current database, RQL can 
also query individual tables for sharding rules with the following statement
+`SHOW SHARDING TABLE RULE t_order FROM sharding_db`
+
+* Creating and querying the `t_order` sharding table
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dcabe5a7f4c94780aeb0e6a98df8d2e8~tplv-k3u1fbpfcp-zoom-1.image)
+
+* After successfully creating the sharding table `t_order` on the 
ShardingSphere-Proxy side, ShardingSphere automatically creates the sharding 
table based on the sharding rules of the `t_order` table by connecting to the 
underlying databases `ds_1` and `ds_2` via the client side.
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6e709d1f898a46dbaec7834ce3c9eeac~tplv-k3u1fbpfcp-zoom-1.image)
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0683a3f1aad2461ebba5e3ab2647c791~tplv-k3u1fbpfcp-zoom-1.image)
+
+* Once the sharding table is created, continue to execute the SQL statement on 
the ShardingSphere-Proxy side to insert the data
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/65632fe217f345b2aa6bf47125f31f26~tplv-k3u1fbpfcp-zoom-1.image)
+
+* Query the execution plan via RAL
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a8019a3039734544b342c2f7140c39dc~tplv-k3u1fbpfcp-zoom-1.image)
+
+This completes the ShardingSphere data sharding service using DistSQL. 
Compared to the previous version of the ShardingSphere proxy, which was 
profile-driven, DistSQL is more developer-friendly and more flexible in 
managing resources and rules. Moreover, the SQL-driven approach enables 
seamless interfacing between DistSQL and standard SQL.
+
+![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ba6c3256898b4d5aa52087ad4b0f97e6~tplv-k3u1fbpfcp-zoom-1.image)
+
+In the above example, only a small part of the DistSQL syntax is demonstrated. 
In addition to creating and querying resources and rules via `CREATE` and 
`SHOW` statements, DistSQL also provides additional operations such as `ALTRE 
DROP`, and supports configuration control of data sharding’s core functions, 
read and write separation, data encryption and database discovery. 
+
+## Conclusion
+
+As one of the new features released in Apache ShardingSphere’s 5.0.0-beta, 
DistSQL will continue to build on this release to provide improve syntax and 
increasingly powerful functions.
+
+DistSQL has opened up endless possibilities for ShardingSphere to explore in 
the distributed database space, and in the future DistSQL will be used as a 
link to connect more functions and provide one-click operations. For example, 
we will analyze the overall database status with one click, connect with 
elastic migration, provide one-click data expansion and shrinkage, and connect 
with control to realize one-click master-slave switch and change database 
status.
+
+We warmly welcome Open-Source and Java script enthusiasts to join our Slack 
community or check our GitHub to learn more about ShardingSphere’s latest 
developments. 
+
+### Author
+
+**Meng Haoran**
+
+SphereEx Senior Java Engineer
+
+Apache ShardingSphere Committer
+
+Previously responsible for the database products R&D at JingDong Technology, 
he is about Open-Source passionate and database ecosystems. 
+Currently, he focuses on the development of the ShardingSphere database 
middleware ecosystem and Open-Source community building.
+
+
+
+ShardingSphere Github: <https://github.com/apache/shardingsphere>
+
+ShardingSphere Twitter: <https://twitter.com/ShardingSphere>
+
+ShardingSphere Slack Channel: <https://bit.ly/3qB2GGc>
+
+Haoran's Github: <https://github.com/menghaoranss>
+
+Haoran's Twitter: <https://twitter.com/HaoranMeng2>
diff --git 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.eot 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.eot
index b99bedcbb4b..30fc0dceb51 100644
Binary files 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.eot and 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.eot 
differ
diff --git 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.ttf 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.ttf
index 20c689718e2..154b820d49b 100644
Binary files 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.ttf and 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.ttf 
differ
diff --git 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.eot 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.eot
index 36fb1b062dc..825c340cc84 100644
Binary files 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.eot 
and 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.eot 
differ
diff --git 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.ttf 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.ttf
index 64778f33b8d..49389cb0671 100644
Binary files 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.ttf 
and 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.ttf 
differ
diff --git 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.woff2 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.woff2
index 98818948d7d..ad2516e68ef 100644
Binary files 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.woff2 
and 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.woff2 
differ
diff --git 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.eot 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.eot
index 9cf3f9a1445..94b25118f50 100644
Binary files 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.eot 
and 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.eot 
differ
diff --git 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.ttf 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.ttf
index 71223c61992..fd19c1c10fa 100644
Binary files 
a/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.ttf 
and 
b/docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.ttf 
differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
index 235c4edb32a..fbd8b4e9208 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3
index 94e3d0e539c..868ec254d76 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf
index 97e8986019f..1664382b421 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf
index e4fa97a27be..5561b007f5f 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4
index 9f1fe564563..c0ddb172f09 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
index 94e3d0e539c..868ec254d76 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf
index 3ad14b28b27..f22805f254b 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf
index 835f314c521..e49f3ca1a7e 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
index 9f1fe564563..c0ddb172f09 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.eot
 
b/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.eot
index 702d2ccdb6d..680a54bcc4f 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.eot
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.eot
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.ttf
 
b/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.ttf
index 4c4637b2ae1..0f7618adeb8 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.ttf
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.ttf
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff
 
b/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff
index d95d5ca0db4..b502624fc07 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff
 and 
b/docs/community/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/FontAwesome.otf 
b/docs/community/themes/hugo-theme-learn/static/fonts/FontAwesome.otf
index 401ec0f36e4..e4494412bb5 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/FontAwesome.otf and 
b/docs/community/themes/hugo-theme-learn/static/fonts/FontAwesome.otf differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.eot 
b/docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.eot
index 0a705d653f6..e9b8d7bb882 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.eot and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.eot differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
 
b/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
index 9984682fc94..bf04761ba15 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
 and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
 
b/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
index 8cfb62dd59e..2a7621d8994 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
 and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
 
b/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
index 9ce9c7f99d4..f4986539bd4 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
 and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot
index 4052e4f94af..bdf6af55469 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf
index 68019e1ccdf..9d06f1115a6 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff
index a1bd9e46991..59b684178e9 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot
index ace799382ae..8d8252eccef 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf
index 35387c23579..8abd36d641f 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2
index f6e216d64de..09a5c9200b4 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf
index 5b8cc5342b5..e944c7d8d1b 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf and 
b/docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot
index e9f60ca953f..7c8959e8330 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot 
and 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot 
differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf
index 35acda2fa11..db4b3b1d0a5 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf 
and 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf 
differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff
index 400014a4b06..e3a086c8724 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff 
and 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff 
differ
diff --git 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff2 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff2
index 4d13fc60404..693064ca147 100644
Binary files 
a/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff2 
and 
b/docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff2 
differ
diff --git 
a/docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
 
b/docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
index 235c4edb32a..fbd8b4e9208 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
 and 
b/docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif
 differ
diff --git 
a/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
 
b/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
index 94e3d0e539c..868ec254d76 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
 and 
b/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
 differ
diff --git 
a/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
 
b/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
index 9f1fe564563..c0ddb172f09 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
 and 
b/docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
 differ
diff --git a/docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.eot 
b/docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.eot
index 0a705d653f6..e9b8d7bb882 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.eot and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.eot differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
 
b/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
index 9984682fc94..bf04761ba15 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
 and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
 differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
 
b/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
index 8cfb62dd59e..2a7621d8994 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
 and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
 differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
 
b/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
index 9ce9c7f99d4..f4986539bd4 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
 and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
 differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot
index 4052e4f94af..bdf6af55469 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf
index 68019e1ccdf..9d06f1115a6 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff
index a1bd9e46991..59b684178e9 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot
index ace799382ae..8d8252eccef 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf
index 35387c23579..8abd36d641f 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2
index f6e216d64de..09a5c9200b4 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf
index 5b8cc5342b5..e944c7d8d1b 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf and 
b/docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot 
b/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot
index 7a7921d5a9d..34a190c8a0e 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot 
and 
b/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot 
differ
diff --git 
a/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf 
b/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf
index 2a12e2c5578..b9425066ff0 100644
Binary files 
a/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf 
and 
b/docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf 
differ
diff --git 
a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
 
b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
index 2842f483db2..b2047d1a50e 100644
--- 
a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
+++ 
b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
@@ -28,10 +28,10 @@ import 
org.apache.shardingsphere.transaction.xa.jta.datasource.XATransactionData
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.internal.util.reflection.FieldReader;
 
 import javax.sql.DataSource;
 import javax.transaction.Transaction;
-import java.lang.reflect.Field;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.util.LinkedHashMap;
@@ -134,20 +134,16 @@ public final class XAShardingSphereTransactionManagerTest 
{
         assertFalse(xaTransactionManager.isInTransaction());
     }
     
-    @SneakyThrows(ReflectiveOperationException.class)
+    @SneakyThrows(NoSuchFieldException.class)
     @SuppressWarnings("unchecked")
     private Map<String, XATransactionDataSource> getCachedDataSources() {
-        Field field = 
xaTransactionManager.getClass().getDeclaredField("cachedDataSources");
-        field.setAccessible(true);
-        return (Map<String, XATransactionDataSource>) 
field.get(xaTransactionManager);
+        return (Map<String, XATransactionDataSource>) new 
FieldReader(xaTransactionManager, 
xaTransactionManager.getClass().getDeclaredField("cachedDataSources")).read();
     }
     
-    @SneakyThrows(ReflectiveOperationException.class)
+    @SneakyThrows(NoSuchFieldException.class)
     @SuppressWarnings("unchecked")
     private ThreadLocal<Map<Transaction, Connection>> 
getEnlistedTransactions(final XATransactionDataSource transactionDataSource) {
-        Field field = 
transactionDataSource.getClass().getDeclaredField("enlistedTransactions");
-        field.setAccessible(true);
-        return (ThreadLocal<Map<Transaction, Connection>>) 
field.get(transactionDataSource);
+        return (ThreadLocal<Map<Transaction, Connection>>) new 
FieldReader(transactionDataSource, 
transactionDataSource.getClass().getDeclaredField("enlistedTransactions")).read();
     }
     
     private Map<String, DataSource> createDataSources(final DatabaseType 
databaseType) {


Reply via email to