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

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


The following commit(s) were added to refs/heads/master by this push:
     new ef7aea2  Add default cacheOption (#13955)
ef7aea2 is described below

commit ef7aea26a53b341d8dcf35c91b9f06502f9ceda6
Author: Guocheng Tang <[email protected]>
AuthorDate: Tue Dec 7 17:10:39 2021 +0800

    Add default cacheOption (#13955)
---
 .../rule/builder/DefaultSQLParserRuleConfigurationBuilder.java    | 8 +++++---
 .../yaml/swapper/SQLParserRuleConfigurationYamlSwapper.java       | 7 +++++--
 .../src/main/resources/conf/server.yaml                           | 1 +
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/rule/builder/DefaultSQLParserRuleConfigurationBuilder.java
 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/rule/builder/DefaultSQLParserRuleConfigurationBuilder.java
index 595e816..d6958d6 100644
--- 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/rule/builder/DefaultSQLParserRuleConfigurationBuilder.java
+++ 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/rule/builder/DefaultSQLParserRuleConfigurationBuilder.java
@@ -26,12 +26,14 @@ import org.apache.shardingsphere.sql.parser.api.CacheOption;
  * Default SQL parser rule configuration builder.
  */
 public final class DefaultSQLParserRuleConfigurationBuilder implements 
DefaultGlobalRuleConfigurationBuilder<SQLParserRuleConfiguration, 
SQLParserRuleBuilder> {
+
+    public static final CacheOption PARSER_TREE_CACHE_OPTION = new 
CacheOption(128, 1024L, 4);
+    
+    public static final CacheOption SQL_STATEMENT_CACHE_OPTION = new 
CacheOption(2000, 65535L, 4);
     
     @Override
     public SQLParserRuleConfiguration build() {
-        CacheOption parseTreeCacheOption = new CacheOption(128, 1024L, 4);
-        CacheOption sqlStatementCacheOption = new CacheOption(2000, 65535L, 4);
-        return new SQLParserRuleConfiguration(false, parseTreeCacheOption, 
sqlStatementCacheOption);
+        return new SQLParserRuleConfiguration(false, PARSER_TREE_CACHE_OPTION, 
SQL_STATEMENT_CACHE_OPTION);
     }
     
     @Override
diff --git 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/yaml/swapper/SQLParserRuleConfigurationYamlSwapper.java
 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/yaml/swapper/SQLParserRuleConfigurationYamlSwapper.java
index 73b161a..e679e80 100644
--- 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/yaml/swapper/SQLParserRuleConfigurationYamlSwapper.java
+++ 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-core/src/main/java/org/apache/shardingsphere/parser/yaml/swapper/SQLParserRuleConfigurationYamlSwapper.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.parser.yaml.swapper;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.YamlRuleConfigurationSwapper;
 import org.apache.shardingsphere.parser.config.SQLParserRuleConfiguration;
 import org.apache.shardingsphere.parser.constant.SQLParserOrder;
+import 
org.apache.shardingsphere.parser.rule.builder.DefaultSQLParserRuleConfigurationBuilder;
 import 
org.apache.shardingsphere.parser.yaml.config.YamlSQLParserRuleConfiguration;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 
@@ -41,8 +42,10 @@ public final class SQLParserRuleConfigurationYamlSwapper 
implements YamlRuleConf
 
     @Override
     public SQLParserRuleConfiguration swapToObject(final 
YamlSQLParserRuleConfiguration yamlConfig) {
-        CacheOption parseTreeCacheOption = 
cacheOptionSwapper.swapToObject(yamlConfig.getParserTreeCache());
-        CacheOption sqlStatementCacheOption = 
cacheOptionSwapper.swapToObject(yamlConfig.getSqlStatementCache());
+        CacheOption parseTreeCacheOption = null == 
yamlConfig.getParserTreeCache() 
+                ? 
DefaultSQLParserRuleConfigurationBuilder.PARSER_TREE_CACHE_OPTION : 
cacheOptionSwapper.swapToObject(yamlConfig.getParserTreeCache());
+        CacheOption sqlStatementCacheOption = null == 
yamlConfig.getSqlStatementCache()
+                ? 
DefaultSQLParserRuleConfigurationBuilder.SQL_STATEMENT_CACHE_OPTION : 
cacheOptionSwapper.swapToObject(yamlConfig.getSqlStatementCache());
         return new 
SQLParserRuleConfiguration(yamlConfig.isSqlCommentParseEnabled(), 
parseTreeCacheOption, sqlStatementCacheOption);
     }
     
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/server.yaml
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/server.yaml
index 3c582e3..8877134 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/server.yaml
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/server.yaml
@@ -55,6 +55,7 @@
 #    defaultType: XA
 #    providerType: Atomikos
 #  - !SQL_PARSER
+#    sqlCommentParseEnabled: true
 #    sqlStatementCache:
 #      initialCapacity: 2000
 #      maximumSize: 65535

Reply via email to