You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2023/06/29 00:34:05 UTC
[shardingsphere] branch master updated: Modify sqlFederationEnable to true when scenario contains sharding (#26661)
This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 45a9bdc75f1 Modify sqlFederationEnable to true when scenario contains sharding (#26661)
45a9bdc75f1 is described below
commit 45a9bdc75f1a1f52ba44a3e1b6c0b8cbe39f0e71
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Thu Jun 29 08:33:58 2023 +0800
Modify sqlFederationEnable to true when scenario contains sharding (#26661)
* Modify sqlFederationEnable flag when scenario contains sharding
* Move server.yaml to /proxy/mode/ package
* Move server.yaml to /proxy/mode/ package
* open case for mask_sharding,mask_encrypt_sharding
* Add server.yaml for empty rules
* Refactor registryUserDefinedFunction logic
* Refactor registryUserDefinedFunction logic
---
.../planner/util/SQLFederationFunctionUtils.java | 18 +++++++++++-------
.../ProxyClusterContainerConfigurationFactory.java | 4 ++--
.../ProxyStandaloneContainerConfigurationFactory.java | 4 ++--
.../cases/dql/dql-integration-select-sub-query.xml | 3 +--
.../env/common/cluster/proxy/conf/server.yaml | 6 ------
.../env/common/standalone/proxy/conf/server.yaml | 6 ------
.../db/proxy/mode/cluster}/server.yaml | 2 +-
.../proxy/mode}/standalone/server.yaml | 9 +++++++++
.../proxy/mode/cluster}/server.yaml | 2 +-
.../proxy/mode}/standalone/server.yaml | 9 +++++++++
.../proxy/mode/cluster}/server.yaml | 2 +-
.../proxy/mode}/standalone/server.yaml | 9 +++++++++
.../empty_rules/proxy/mode/cluster}/server.yaml | 2 +-
.../proxy/mode}/standalone/server.yaml | 9 +++++++++
.../encrypt_and_readwrite_splitting/rules.yaml | 6 ------
.../{ => proxy/mode}/cluster/server.yaml | 0
.../{ => proxy/mode}/standalone/server.yaml | 0
.../tbl/proxy/mode/cluster}/server.yaml | 2 +-
.../proxy/mode}/standalone/server.yaml | 9 +++++++++
19 files changed, 66 insertions(+), 36 deletions(-)
diff --git a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/util/SQLFederationFunctionUtils.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/util/SQLFederationFunctionUtils.java
index 62214255474..1e77810a7a6 100644
--- a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/util/SQLFederationFunctionUtils.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/util/SQLFederationFunctionUtils.java
@@ -40,13 +40,17 @@ public final class SQLFederationFunctionUtils {
* @param schemaPlus schema plus
*/
public static void registryUserDefinedFunction(final String schemaName, final SchemaPlus schemaPlus) {
- schemaPlus.add("version", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "version"));
- schemaPlus.add("gs_password_deadline", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "gsPasswordDeadline"));
- schemaPlus.add("intervaltonum", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "intervalToNum"));
- schemaPlus.add("gs_password_notifyTime", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "gsPasswordNotifyTime"));
- if ("pg_catalog".equalsIgnoreCase(schemaName)) {
- schemaPlus.add("pg_catalog.pg_table_is_visible", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "pgTableIsVisible"));
- schemaPlus.add("pg_catalog.pg_get_userbyid", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "pgGetUserById"));
+ if (!"pg_catalog".equalsIgnoreCase(schemaName)) {
+ return;
+ }
+ schemaPlus.add("pg_catalog.pg_table_is_visible", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "pgTableIsVisible"));
+ schemaPlus.add("pg_catalog.pg_get_userbyid", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "pgGetUserById"));
+ SchemaPlus subSchema = schemaPlus.getSubSchema(schemaName);
+ if (null != subSchema) {
+ subSchema.add("version", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "version"));
+ subSchema.add("gs_password_deadline", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "gsPasswordDeadline"));
+ subSchema.add("intervaltonum", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "intervalToNum"));
+ subSchema.add("gs_password_notifyTime", ScalarFunctionImpl.create(SQLFederationFunctionUtils.class, "gsPasswordNotifyTime"));
}
}
diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyClusterContainerConfigurationFactory.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyClusterContainerConfigurationFactory.java
index f326d3a1d8a..ad59523437e 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyClusterContainerConfigurationFactory.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyClusterContainerConfigurationFactory.java
@@ -49,13 +49,13 @@ public final class ProxyClusterContainerConfigurationFactory {
Map<String, String> result = new HashMap<>(3, 1F);
result.put("/env/common/cluster/proxy/conf/logback.xml", ProxyContainerConstants.CONFIG_PATH_IN_CONTAINER + "logback.xml");
result.put("/env/scenario/" + scenario + "/proxy/conf/" + databaseType.getType().toLowerCase(), ProxyContainerConstants.CONFIG_PATH_IN_CONTAINER);
- result.put(serverYamlExists(scenario) ? "/env/scenario/" + scenario + "/cluster/server.yaml"
+ result.put(serverYamlExists(scenario) ? "/env/scenario/" + scenario + "/proxy/mode/cluster/server.yaml"
: "/env/common/cluster/proxy/conf/server.yaml", ProxyContainerConstants.CONFIG_PATH_IN_CONTAINER + "server.yaml");
return result;
}
private static boolean serverYamlExists(final String scenario) {
- URL url = Thread.currentThread().getContextClassLoader().getResource("env/scenario/" + scenario + "/cluster/server.yaml");
+ URL url = Thread.currentThread().getContextClassLoader().getResource("env/scenario/" + scenario + "/proxy/mode/cluster/server.yaml");
return null != url;
}
}
diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyStandaloneContainerConfigurationFactory.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyStandaloneContainerConfigurationFactory.java
index 452044bba65..3d481ae3c9e 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyStandaloneContainerConfigurationFactory.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/container/config/ProxyStandaloneContainerConfigurationFactory.java
@@ -49,13 +49,13 @@ public final class ProxyStandaloneContainerConfigurationFactory {
Map<String, String> result = new HashMap<>(3, 1F);
result.put("/env/common/standalone/proxy/conf/logback.xml", ProxyContainerConstants.CONFIG_PATH_IN_CONTAINER + "logback.xml");
result.put("/env/scenario/" + scenario + "/proxy/conf/" + databaseType.getType().toLowerCase(), ProxyContainerConstants.CONFIG_PATH_IN_CONTAINER);
- result.put(serverYamlExists(scenario) ? "/env/scenario/" + scenario + "/standalone/server.yaml"
+ result.put(serverYamlExists(scenario) ? "/env/scenario/" + scenario + "/proxy/mode/standalone/server.yaml"
: "/env/common/standalone/proxy/conf/server.yaml", ProxyContainerConstants.CONFIG_PATH_IN_CONTAINER + "server.yaml");
return result;
}
private static boolean serverYamlExists(final String scenario) {
- URL url = Thread.currentThread().getContextClassLoader().getResource("env/scenario/" + scenario + "/standalone/server.yaml");
+ URL url = Thread.currentThread().getContextClassLoader().getResource("env/scenario/" + scenario + "/proxy/mode/standalone/server.yaml");
return null != url;
}
}
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-sub-query.xml b/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-sub-query.xml
index 4d2f1061d34..928c0eabcfd 100644
--- a/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-sub-query.xml
+++ b/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-sub-query.xml
@@ -66,8 +66,7 @@
<assertion expected-data-source-name="expected_dataset" />
</test-case>
- <!-- TODO support sql federation with mask_sharding,mask_encrypt_sharding -->
- <test-case sql="SELECT * FROM (SELECT u1.* FROM t_user u1 INNER JOIN t_user u2 ON u1.user_id = u2.user_id) temp ORDER BY user_id" db-types="MySQL,PostgreSQL,openGauss" scenario-types="mask,mask_encrypt">
+ <test-case sql="SELECT * FROM (SELECT u1.* FROM t_user u1 INNER JOIN t_user u2 ON u1.user_id = u2.user_id) temp ORDER BY user_id" db-types="MySQL,PostgreSQL,openGauss" scenario-types="mask,mask_encrypt,mask_sharding,mask_encrypt_sharding">
<assertion expected-data-source-name="expected_dataset" />
</test-case>
diff --git a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml b/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
index ce6d9ef96c9..ed22f88ac78 100644
--- a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
@@ -43,12 +43,6 @@ sqlParser:
initialCapacity: 128
maximumSize: 1024
-sqlFederation:
- sqlFederationEnabled: true
- executionPlanCache:
- initialCapacity: 2000
- maximumSize: 65535
-
props:
max-connections-size-per-query: 1
kernel-executor-size: 16 # Infinite by default.
diff --git a/test/e2e/sql/src/test/resources/env/common/standalone/proxy/conf/server.yaml b/test/e2e/sql/src/test/resources/env/common/standalone/proxy/conf/server.yaml
index 3b97188335c..b5480bf36ed 100644
--- a/test/e2e/sql/src/test/resources/env/common/standalone/proxy/conf/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/common/standalone/proxy/conf/server.yaml
@@ -43,12 +43,6 @@ sqlParser:
initialCapacity: 128
maximumSize: 1024
-sqlFederation:
- sqlFederationEnabled: true
- executionPlanCache:
- initialCapacity: 2000
- maximumSize: 65535
-
props:
max-connections-size-per-query: 1
kernel-executor-size: 16 # Infinite by default.
diff --git a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/db/proxy/mode/cluster/server.yaml
similarity index 99%
copy from test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/db/proxy/mode/cluster/server.yaml
index ce6d9ef96c9..9a5fd67d4cf 100644
--- a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/db/proxy/mode/cluster/server.yaml
@@ -42,7 +42,7 @@ sqlParser:
parseTreeCache:
initialCapacity: 128
maximumSize: 1024
-
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/db/proxy/mode/standalone/server.yaml
similarity index 87%
copy from test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/db/proxy/mode/standalone/server.yaml
index 68ee1192a18..703d0cb49f2 100644
--- a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/db/proxy/mode/standalone/server.yaml
@@ -22,6 +22,15 @@ authority:
privilege:
type: ALL_PERMITTED
+sqlParser:
+ sqlCommentParseEnabled: true
+ sqlStatementCache:
+ initialCapacity: 2000
+ maximumSize: 65535
+ parseTreeCache:
+ initialCapacity: 128
+ maximumSize: 1024
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/mode/cluster/server.yaml
similarity index 99%
copy from test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/mode/cluster/server.yaml
index ce6d9ef96c9..9a5fd67d4cf 100644
--- a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/mode/cluster/server.yaml
@@ -42,7 +42,7 @@ sqlParser:
parseTreeCache:
initialCapacity: 128
maximumSize: 1024
-
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/mode/standalone/server.yaml
similarity index 87%
copy from test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/mode/standalone/server.yaml
index 68ee1192a18..703d0cb49f2 100644
--- a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/mode/standalone/server.yaml
@@ -22,6 +22,15 @@ authority:
privilege:
type: ALL_PERMITTED
+sqlParser:
+ sqlCommentParseEnabled: true
+ sqlStatementCache:
+ initialCapacity: 2000
+ maximumSize: 65535
+ parseTreeCache:
+ initialCapacity: 128
+ maximumSize: 1024
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/mode/cluster/server.yaml
similarity index 99%
copy from test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/mode/cluster/server.yaml
index ce6d9ef96c9..9a5fd67d4cf 100644
--- a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/mode/cluster/server.yaml
@@ -42,7 +42,7 @@ sqlParser:
parseTreeCache:
initialCapacity: 128
maximumSize: 1024
-
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/mode/standalone/server.yaml
similarity index 87%
copy from test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/mode/standalone/server.yaml
index 68ee1192a18..703d0cb49f2 100644
--- a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/mode/standalone/server.yaml
@@ -22,6 +22,15 @@ authority:
privilege:
type: ALL_PERMITTED
+sqlParser:
+ sqlCommentParseEnabled: true
+ sqlStatementCache:
+ initialCapacity: 2000
+ maximumSize: 65535
+ parseTreeCache:
+ initialCapacity: 128
+ maximumSize: 1024
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/empty_rules/proxy/mode/cluster/server.yaml
similarity index 99%
copy from test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/empty_rules/proxy/mode/cluster/server.yaml
index ce6d9ef96c9..9a5fd67d4cf 100644
--- a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/empty_rules/proxy/mode/cluster/server.yaml
@@ -42,7 +42,7 @@ sqlParser:
parseTreeCache:
initialCapacity: 128
maximumSize: 1024
-
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/empty_rules/proxy/mode/standalone/server.yaml
similarity index 87%
copy from test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/empty_rules/proxy/mode/standalone/server.yaml
index 68ee1192a18..703d0cb49f2 100644
--- a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/empty_rules/proxy/mode/standalone/server.yaml
@@ -22,6 +22,15 @@ authority:
privilege:
type: ALL_PERMITTED
+sqlParser:
+ sqlCommentParseEnabled: true
+ sqlStatementCache:
+ initialCapacity: 2000
+ maximumSize: 65535
+ parseTreeCache:
+ initialCapacity: 128
+ maximumSize: 1024
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/rules.yaml b/test/e2e/sql/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/rules.yaml
index 849fbc66e04..cb3cd085e7f 100644
--- a/test/e2e/sql/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/rules.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/rules.yaml
@@ -75,12 +75,6 @@ rules:
cipher:
name: telephone_cipher
encryptorName: aes_encryptor
-
-sqlFederation:
- sqlFederationEnabled: true
- executionPlanCache:
- initialCapacity: 2000
- maximumSize: 65535
props:
sql-show: true
diff --git a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/cluster/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/proxy/mode/cluster/server.yaml
similarity index 100%
rename from test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/cluster/server.yaml
rename to test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/proxy/mode/cluster/server.yaml
diff --git a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/proxy/mode/standalone/server.yaml
similarity index 100%
copy from test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/proxy/mode/standalone/server.yaml
diff --git a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/tbl/proxy/mode/cluster/server.yaml
similarity index 99%
copy from test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
copy to test/e2e/sql/src/test/resources/env/scenario/tbl/proxy/mode/cluster/server.yaml
index ce6d9ef96c9..9a5fd67d4cf 100644
--- a/test/e2e/sql/src/test/resources/env/common/cluster/proxy/conf/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/tbl/proxy/mode/cluster/server.yaml
@@ -42,7 +42,7 @@ sqlParser:
parseTreeCache:
initialCapacity: 128
maximumSize: 1024
-
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache:
diff --git a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml b/test/e2e/sql/src/test/resources/env/scenario/tbl/proxy/mode/standalone/server.yaml
similarity index 87%
rename from test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
rename to test/e2e/sql/src/test/resources/env/scenario/tbl/proxy/mode/standalone/server.yaml
index 68ee1192a18..703d0cb49f2 100644
--- a/test/e2e/sql/src/test/resources/env/scenario/sharding_and_encrypt/standalone/server.yaml
+++ b/test/e2e/sql/src/test/resources/env/scenario/tbl/proxy/mode/standalone/server.yaml
@@ -22,6 +22,15 @@ authority:
privilege:
type: ALL_PERMITTED
+sqlParser:
+ sqlCommentParseEnabled: true
+ sqlStatementCache:
+ initialCapacity: 2000
+ maximumSize: 65535
+ parseTreeCache:
+ initialCapacity: 128
+ maximumSize: 1024
+
sqlFederation:
sqlFederationEnabled: true
executionPlanCache: