You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2021/01/12 16:42:42 UTC
[shardingsphere] branch master updated: Use executeInitSQL instead
of create tables (#9004)
This is an automated email from the ASF dual-hosted git repository.
zhangyonglun 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 02fd075 Use executeInitSQL instead of create tables (#9004)
02fd075 is described below
commit 02fd075ed4d1c0790b13789b09d08d826cf6f87e
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Jan 13 00:42:06 2021 +0800
Use executeInitSQL instead of create tables (#9004)
* Use init.sql to initialize databases
* Add db dialect with init.sql
* Remove create table usage in DDL @before
* Remove useless dropDatabases
* Rename executeInitSQL
* Remove create tables and drop tables
* Add drop table if existed for H2
* Move executeInitSQL into BaseIT
* revert test
---
.../test/integration/engine/it/BaseIT.java | 9 ++
.../test/integration/engine/it/BatchIT.java | 15 --
.../test/integration/engine/it/dcl/BaseDCLIT.java | 16 +--
.../test/integration/engine/it/ddl/BaseDDLIT.java | 21 +--
.../integration/engine/it/ddl/GeneralDDLIT.java | 2 +-
.../test/integration/engine/it/dml/BaseDMLIT.java | 16 +--
.../integration/engine/it/dml/GeneralDMLIT.java | 2 +-
.../test/integration/engine/it/dql/BaseDQLIT.java | 11 +-
.../test/integration/env/EnvironmentPath.java | 20 +++
.../env/schema/SchemaEnvironmentManager.java | 153 +++------------------
.../test/resources/docker/db/docker-compose.yml | 2 +-
.../dbtbl_with_replica_query/docker-compose.yml | 2 +-
.../docker/replica_query/docker-compose.yml | 2 +-
.../test/resources/docker/tbl/docker-compose.yml | 2 +-
.../src/test/resources/env/db/h2/init.sql | 25 ++++
.../src/test/resources/env/db/{ => mysql}/init.sql | 43 +++---
.../test/resources/env/db/{ => oracle}/init.sql | 63 +++++----
.../resources/env/db/{ => postgresql}/init.sql | 54 +++++---
.../test/resources/env/db/{ => sqlserver}/init.sql | 43 +++---
.../env/dbtbl_with_replica_query/h2/init.sql | 70 ++++++++++
.../dbtbl_with_replica_query/{ => mysql}/init.sql | 90 +++++++++---
.../dbtbl_with_replica_query/{ => oracle}/init.sql | 113 ++++++++++-----
.../{ => postgresql}/init.sql | 94 ++++++++++---
.../{ => sqlserver}/init.sql | 73 +++++++---
.../test/resources/env/replica_query/h2/init.sql | 25 ++++
.../resources/env/replica_query/mysql/init.sql | 59 ++++++++
.../resources/env/replica_query/oracle/init.sql | 42 ++++++
.../env/replica_query/postgresql/init.sql | 46 +++++++
.../env/replica_query/{ => sqlserver}/init.sql | 39 +++---
.../src/test/resources/env/tbl/h2/init.sql | 80 +++++++++++
.../test/resources/env/tbl/{ => mysql}/init.sql | 53 ++++---
.../test/resources/env/tbl/{ => oracle}/init.sql | 38 ++---
.../resources/env/tbl/{ => postgresql}/init.sql | 38 ++---
.../resources/env/tbl/{ => sqlserver}/init.sql | 36 ++---
34 files changed, 946 insertions(+), 451 deletions(-)
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java
index 32f7b87..74c2cd2 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java
@@ -26,7 +26,9 @@ import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import org.apache.shardingsphere.test.integration.env.IntegrateTestEnvironment;
import org.apache.shardingsphere.test.integration.env.datasource.builder.ActualDataSourceBuilder;
import org.apache.shardingsphere.test.integration.env.datasource.builder.ProxyDataSourceBuilder;
+import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
import org.junit.After;
+import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -77,6 +79,13 @@ public abstract class BaseIT {
targetDataSource = createTargetDataSource();
}
+ @BeforeClass
+ public static void executeInitSQLs() throws IOException, JAXBException, SQLException {
+ if (!IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
+ SchemaEnvironmentManager.executeInitSQLs();
+ }
+ }
+
@After
public final void tearDown() {
if (targetDataSource instanceof ShardingSphereDataSource) {
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java
index 930600f..55909cb 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java
@@ -31,11 +31,8 @@ import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
import org.junit.After;
-import org.junit.AfterClass;
import org.junit.Before;
-import org.junit.BeforeClass;
import javax.xml.bind.JAXBException;
import java.io.IOException;
@@ -80,18 +77,6 @@ public abstract class BatchIT extends BaseIT {
dataSetEnvironmentManager = new DataSetEnvironmentManager(EnvironmentPath.getDataSetFile(scenario), getActualDataSources());
}
- @BeforeClass
- public static void initDatabasesAndTables() throws JAXBException, IOException {
- SchemaEnvironmentManager.createDatabases();
- SchemaEnvironmentManager.dropTables();
- SchemaEnvironmentManager.createTables();
- }
-
- @AfterClass
- public static void destroyDatabasesAndTables() throws IOException, JAXBException {
- SchemaEnvironmentManager.dropDatabases();
- }
-
@Before
public void fillData() throws SQLException, ParseException {
dataSetEnvironmentManager.fillData();
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
index 044e214..46778db 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
@@ -21,15 +21,12 @@ import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
import org.apache.shardingsphere.infra.database.metadata.MemorizedDataSourceMetaData;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import org.apache.shardingsphere.test.integration.env.authority.AuthorityEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
import org.junit.After;
-import org.junit.AfterClass;
import org.junit.Before;
-import org.junit.BeforeClass;
import javax.sql.DataSource;
import javax.xml.bind.JAXBException;
@@ -96,17 +93,6 @@ public abstract class BaseDCLIT extends SingleIT {
? (Objects.equals(target.getSchema(), sample.getSchema())) : target.getHostName().equals(sample.getHostName()) && target.getPort() == sample.getPort();
}
- @BeforeClass
- public static void initDatabasesAndTables() throws JAXBException, IOException {
- SchemaEnvironmentManager.createDatabases();
- SchemaEnvironmentManager.createTables();
- }
-
- @AfterClass
- public static void destroyDatabasesAndTables() throws IOException, JAXBException {
- SchemaEnvironmentManager.dropDatabases();
- }
-
@Before
public final void insertData() throws SQLException {
authorityEnvironmentManager.initialize();
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
index 3cec03f..1251cec 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
@@ -22,18 +22,15 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.datanode.DataNode;
import org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineExpressionParser;
import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetIndex;
import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
import org.junit.After;
-import org.junit.AfterClass;
import org.junit.Before;
-import org.junit.BeforeClass;
import javax.xml.bind.JAXBException;
import java.io.IOException;
@@ -67,19 +64,8 @@ public abstract class BaseDDLIT extends SingleIT {
assertNotNull("Expected affected table is required", assertion.getInitialSQL().getAffectedTable());
}
- @BeforeClass
- public static void initDatabases() throws IOException, JAXBException {
- SchemaEnvironmentManager.createDatabases();
- }
-
- @AfterClass
- public static void destroyDatabases() throws IOException, JAXBException {
- SchemaEnvironmentManager.dropDatabases();
- }
-
@Before
- public final void initTables() throws SQLException, ParseException, IOException, JAXBException {
- SchemaEnvironmentManager.createTables();
+ public final void initTables() throws SQLException, ParseException, IOException {
dataSetEnvironmentManager.fillData();
try (Connection connection = getTargetDataSource().getConnection()) {
executeInitSQLs(connection);
@@ -97,8 +83,7 @@ public abstract class BaseDDLIT extends SingleIT {
}
@After
- public final void destroyTables() throws JAXBException, IOException, SQLException {
- SchemaEnvironmentManager.dropTables();
+ public final void destroyTables() throws SQLException {
try (Connection connection = getTargetDataSource().getConnection()) {
dropInitializedTable(connection);
}
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
index 5b12f1d..e3f1aa2 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
@@ -38,7 +38,7 @@ public final class GeneralDDLIT extends BaseDDLIT {
final String databaseType, final SQLExecuteType sqlExecuteType, final String sql) throws IOException, JAXBException, SQLException, ParseException {
super(parentPath, assertion, adapter, scenario, DatabaseTypeRegistry.getActualDatabaseType(databaseType), sqlExecuteType, sql);
}
-
+
@Parameters(name = "{2}: {3} -> {4} -> {5} -> {6}")
public static Collection<Object[]> getParameters() {
return ParameterizedArrayFactory.getAssertionParameterizedArray(SQLCommandType.DDL);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
index 331540d..6f6ee89 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
@@ -22,18 +22,15 @@ import org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseT
import org.apache.shardingsphere.infra.datanode.DataNode;
import org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineExpressionParser;
import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
import org.junit.After;
-import org.junit.AfterClass;
import org.junit.Before;
-import org.junit.BeforeClass;
import javax.xml.bind.JAXBException;
import java.io.IOException;
@@ -62,17 +59,6 @@ public abstract class BaseDMLIT extends SingleIT {
dataSetEnvironmentManager = new DataSetEnvironmentManager(EnvironmentPath.getDataSetFile(scenario), getActualDataSources());
}
- @BeforeClass
- public static void initDatabasesAndTables() throws IOException, JAXBException {
- SchemaEnvironmentManager.createDatabases();
- SchemaEnvironmentManager.createTables();
- }
-
- @AfterClass
- public static void destroyDatabases() throws IOException, JAXBException {
- SchemaEnvironmentManager.dropDatabases();
- }
-
@Before
public final void fillData() throws SQLException, ParseException {
dataSetEnvironmentManager.fillData();
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java
index eac8a8d..80c4aa77 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java
@@ -46,7 +46,7 @@ public final class GeneralDMLIT extends BaseDMLIT {
super(parentPath, assertion, adapter, scenario, DatabaseTypeRegistry.getActualDatabaseType(databaseType), sqlExecuteType, sql);
this.assertion = assertion;
}
-
+
@Parameters(name = "{2}: {3} -> {4} -> {5} -> {6}")
public static Collection<Object[]> getParameters() {
return ParameterizedArrayFactory.getAssertionParameterizedArray(SQLCommandType.DML);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
index 4987279d..43453a8 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
@@ -19,17 +19,15 @@ package org.apache.shardingsphere.test.integration.engine.it.dql;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import org.apache.shardingsphere.test.integration.env.IntegrateTestEnvironment;
import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
import org.apache.shardingsphere.test.integration.env.datasource.builder.ActualDataSourceBuilder;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
-import org.junit.AfterClass;
import org.junit.BeforeClass;
import javax.xml.bind.JAXBException;
@@ -57,8 +55,6 @@ public abstract class BaseDQLIT extends SingleIT {
@BeforeClass
public static void fillData() throws IOException, JAXBException, SQLException, ParseException {
- SchemaEnvironmentManager.createDatabases();
- SchemaEnvironmentManager.createTables();
for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
fillData(each);
}
@@ -70,11 +66,6 @@ public abstract class BaseDQLIT extends SingleIT {
}
}
- @AfterClass
- public static void clearData() throws IOException, JAXBException {
- SchemaEnvironmentManager.dropDatabases();
- }
-
protected final void assertResultSet(final ResultSet resultSet) throws SQLException {
assertMetaData(resultSet.getMetaData(), getExpectedColumns());
assertRows(resultSet, getDataSet().getRows());
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java
index 8d711d2..0461139 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.test.integration.env;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
import java.net.URL;
@@ -34,6 +35,8 @@ public final class EnvironmentPath {
private static final String SCHEMA_FILE = "schema.xml";
+ private static final String INIT_SQL_FILE = "init.sql";
+
private static final String DATASET_FILE = "dataset.xml";
private static final String RULES_CONFIG_FILE = "rules.yaml";
@@ -51,6 +54,17 @@ public final class EnvironmentPath {
}
/**
+ * Get init SQL file.
+ *
+ * @param databaseType database type
+ * @param scenario scenario
+ * @return init SQL file
+ */
+ public static String getInitSQLFile(final DatabaseType databaseType, final String scenario) {
+ return getFile(databaseType, scenario, INIT_SQL_FILE);
+ }
+
+ /**
* Get data set file.
*
* @param scenario scenario
@@ -85,4 +99,10 @@ public final class EnvironmentPath {
assertNotNull(url);
return url.getFile();
}
+
+ private static String getFile(final DatabaseType databaseType, final String scenario, final String fileName) {
+ URL url = EnvironmentPath.class.getClassLoader().getResource(String.join("/", ROOT_PATH, scenario, databaseType.getName().toLowerCase(), fileName));
+ assertNotNull(url);
+ return url.getFile();
+ }
}
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java
index 505569c..9875ee6 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.test.integration.env.schema;
-import com.google.common.base.Joiner;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
@@ -29,14 +28,12 @@ import org.h2.tools.RunScript;
import javax.sql.DataSource;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
+import java.io.File;
import java.io.FileReader;
import java.io.IOException;
-import java.io.StringReader;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Collection;
-import java.util.Collections;
-import java.util.stream.Collectors;
/**
* Schema environment manager.
@@ -63,154 +60,44 @@ public final class SchemaEnvironmentManager {
}
/**
- * Create databases.
- *
- * @throws IOException IO exception
- * @throws JAXBException JAXB exception
- */
- public static void createDatabases() throws IOException, JAXBException {
- if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
- return;
- }
- for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
- dropDatabases(each);
- createDatabases(each);
- }
- }
-
- private static void createDatabases(final String scenario) throws IOException, JAXBException {
- SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
- for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
- // TODO use multiple threads to improve performance
- DataSource dataSource = ActualDataSourceBuilder.build(null, scenario, each);
- executeSQLScript(dataSource, generateCreateDatabaseSQLs(each, schemaEnvironment.getDatabases()));
- }
- }
-
- private static Collection<String> generateCreateDatabaseSQLs(final DatabaseType databaseType, final Collection<String> databaseNames) {
- switch (databaseType.getName()) {
- case "H2":
- return Collections.emptyList();
- case "Oracle":
- return databaseNames.stream().map(each -> String.format("CREATE SCHEMA %s", each)).collect(Collectors.toList());
- default:
- return databaseNames.stream().map(each -> String.format("CREATE DATABASE %s", each)).collect(Collectors.toList());
- }
- }
-
- /**
- * Drop databases.
- *
+ * Execute init SQLs.
+ *
* @throws IOException IO exception
* @throws JAXBException JAXB exception
+ * @throws SQLException SQL exception
*/
- public static void dropDatabases() throws IOException, JAXBException {
- if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
- return;
- }
+ public static void executeInitSQLs() throws IOException, JAXBException, SQLException {
for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
- dropDatabases(each);
+ executeInitSQLs(each);
}
}
- private static void dropDatabases(final String scenario) throws IOException, JAXBException {
- SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
+ private static void executeInitSQLs(final String scenario) throws IOException, JAXBException, SQLException {
for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
+ if ("H2".equals(each.getName())) {
+ executeInitSQLForSchemaNotSupportedDatabase(scenario, each);
+ return;
+ }
// TODO use multiple threads to improve performance
DataSource dataSource = ActualDataSourceBuilder.build(null, scenario, each);
- executeSQLScript(dataSource, generatePrepareDropDatabaseSQLs(each, schemaEnvironment.getDatabases()));
- executeSQLScript(dataSource, generateDropDatabaseSQLs(each, schemaEnvironment.getDatabases()));
- }
- }
-
- private static Collection<String> generatePrepareDropDatabaseSQLs(final DatabaseType databaseType, final Collection<String> databaseNames) {
- if ("PostgreSQL".equals(databaseType.getName())) {
- String sql = "SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '%s'";
- return databaseNames.stream().map(each -> String.format(sql, each)).collect(Collectors.toList());
- }
- return Collections.emptyList();
- }
-
- private static Collection<String> generateDropDatabaseSQLs(final DatabaseType databaseType, final Collection<String> databaseNames) {
- switch (databaseType.getName()) {
- case "H2":
- return Collections.emptyList();
- case "Oracle":
- return databaseNames.stream().map(each -> String.format("DROP SCHEMA %s", each)).collect(Collectors.toList());
- default:
- return databaseNames.stream().map(each -> String.format("DROP DATABASE IF EXISTS %s", each)).collect(Collectors.toList());
- }
- }
-
- /**
- * Create tables.
- *
- * @throws JAXBException JAXB exception
- * @throws IOException IO exception
- */
- public static void createTables() throws JAXBException, IOException {
- if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
- return;
- }
- for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
- createTables(each);
+ File file = new File(EnvironmentPath.getInitSQLFile(each, scenario));
+ executeSQLScript(dataSource, file);
}
}
- private static void createTables(final String scenario) throws JAXBException, IOException {
- SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
- for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
- createTables(schemaEnvironment, scenario, each);
- }
- }
-
- private static void createTables(final SchemaEnvironment schemaEnvironment, final String scenario, final DatabaseType databaseType) {
- for (String each : schemaEnvironment.getDatabases()) {
+ private static void executeInitSQLForSchemaNotSupportedDatabase(final String scenario, final DatabaseType databaseType) throws IOException, JAXBException, SQLException {
+ File file = new File(EnvironmentPath.getInitSQLFile(databaseType, scenario));
+ for (String each : getDataSourceNames(scenario)) {
// TODO use multiple threads to improve performance
DataSource dataSource = ActualDataSourceBuilder.build(each, scenario, databaseType);
- executeSQLScript(dataSource, schemaEnvironment.getTableCreateSQLs());
+ executeSQLScript(dataSource, file);
}
}
- /**
- * Drop tables.
- *
- * @throws JAXBException JAXB exception
- * @throws IOException IO exception
- */
- public static void dropTables() throws JAXBException, IOException {
- if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
- return;
- }
- for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
- dropTables(each);
- }
- }
-
- private static void dropTables(final String scenario) throws JAXBException, IOException {
- SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
- for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
- dropTables(schemaEnvironment, scenario, each);
- }
- }
-
- private static void dropTables(final SchemaEnvironment schemaEnvironment, final String scenario, final DatabaseType databaseType) {
- for (String each : schemaEnvironment.getDatabases()) {
- // TODO use multiple threads to improve performance
- DataSource dataSource = ActualDataSourceBuilder.build(each, scenario, databaseType);
- executeSQLScript(dataSource, schemaEnvironment.getTableDropSQLs());
- }
- }
-
- private static void executeSQLScript(final DataSource dataSource, final Collection<String> sqls) {
- if (sqls.isEmpty()) {
- return;
- }
+ private static void executeSQLScript(final DataSource dataSource, final File file) throws SQLException, IOException {
try (Connection connection = dataSource.getConnection();
- StringReader sqlScript = new StringReader(Joiner.on(";\n").skipNulls().join(sqls))) {
- RunScript.execute(connection, sqlScript);
- } catch (final SQLException ignored) {
- // TODO print err message if not drop not existed database/table
+ FileReader reader = new FileReader(file)) {
+ RunScript.execute(connection, reader);
}
}
}
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml
index c0bc552..649f5fe 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml
@@ -23,7 +23,7 @@ services:
container_name: db-mysql
command: --default-authentication-plugin=mysql_native_password
volumes:
- - ../../env/db:/docker-entrypoint-initdb.d/
+ - ../../env/db/mysql:/docker-entrypoint-initdb.d/
ports:
- "33060:3306"
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml
index 8962ff7..1d22eeb 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml
@@ -23,7 +23,7 @@ services:
container_name: dbtbl-with-replica-query-mysql
command: --default-authentication-plugin=mysql_native_password
volumes:
- - ../../env/dbtbl_with_replica_query:/docker-entrypoint-initdb.d/
+ - ../../env/dbtbl_with_replica_query/mysql:/docker-entrypoint-initdb.d/
ports:
- "33360:3306"
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml
index c78557e..31a16d5 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml
@@ -23,7 +23,7 @@ services:
container_name: replica-query-mysql
command: --default-authentication-plugin=mysql_native_password
volumes:
- - ../../env/replica_query:/docker-entrypoint-initdb.d/
+ - ../../env/replica_query/mysql:/docker-entrypoint-initdb.d/
ports:
- "33260:3306"
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml
index b98b40f..c1b8c37 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml
@@ -23,7 +23,7 @@ services:
container_name: tbl-mysql
command: --default-authentication-plugin=mysql_native_password
volumes:
- - ../../env/tbl:/docker-entrypoint-initdb.d/
+ - ../../env/tbl/mysql:/docker-entrypoint-initdb.d/
ports:
- "33160:3306"
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/h2/init.sql
new file mode 100644
index 0000000..0fd19c9
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/h2/init.sql
@@ -0,0 +1,25 @@
+--
+-- 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.
+--
+
+DROP TABLE IF EXISTS t_order;
+DROP TABLE IF EXISTS t_order_item;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/mysql/init.sql
similarity index 81%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/mysql/init.sql
index 850215b..83ed233 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/mysql/init.sql
@@ -1,23 +1,34 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+DROP DATABASE IF EXISTS db_0;
+DROP DATABASE IF EXISTS db_1;
+DROP DATABASE IF EXISTS db_2;
+DROP DATABASE IF EXISTS db_3;
+DROP DATABASE IF EXISTS db_4;
+DROP DATABASE IF EXISTS db_5;
+DROP DATABASE IF EXISTS db_6;
+DROP DATABASE IF EXISTS db_7;
+DROP DATABASE IF EXISTS db_8;
+DROP DATABASE IF EXISTS db_9;
+
CREATE DATABASE db_0;
CREATE DATABASE db_1;
CREATE DATABASE db_2;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/oracle/init.sql
similarity index 79%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/oracle/init.sql
index 850215b..f4a7468 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/oracle/init.sql
@@ -1,33 +1,44 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
-CREATE DATABASE db_0;
-CREATE DATABASE db_1;
-CREATE DATABASE db_2;
-CREATE DATABASE db_3;
-CREATE DATABASE db_4;
-CREATE DATABASE db_5;
-CREATE DATABASE db_6;
-CREATE DATABASE db_7;
-CREATE DATABASE db_8;
-CREATE DATABASE db_9;
+DROP SCHEMA db_0;
+DROP SCHEMA db_1;
+DROP SCHEMA db_2;
+DROP SCHEMA db_3;
+DROP SCHEMA db_4;
+DROP SCHEMA db_5;
+DROP SCHEMA db_6;
+DROP SCHEMA db_7;
+DROP SCHEMA db_8;
+DROP SCHEMA db_9;
+
+CREATE SCHEMA db_0;
+CREATE SCHEMA db_1;
+CREATE SCHEMA db_2;
+CREATE SCHEMA db_3;
+CREATE SCHEMA db_4;
+CREATE SCHEMA db_5;
+CREATE SCHEMA db_6;
+CREATE SCHEMA db_7;
+CREATE SCHEMA db_8;
+CREATE SCHEMA db_9;
CREATE TABLE db_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE db_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/postgresql/init.sql
similarity index 68%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/postgresql/init.sql
index 850215b..28e199f 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/postgresql/init.sql
@@ -1,23 +1,45 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_1';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_2';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_3';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_4';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_5';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_6';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_7';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_8';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_9';
+
+DROP DATABASE IF EXISTS db_0;
+DROP DATABASE IF EXISTS db_1;
+DROP DATABASE IF EXISTS db_2;
+DROP DATABASE IF EXISTS db_3;
+DROP DATABASE IF EXISTS db_4;
+DROP DATABASE IF EXISTS db_5;
+DROP DATABASE IF EXISTS db_6;
+DROP DATABASE IF EXISTS db_7;
+DROP DATABASE IF EXISTS db_8;
+DROP DATABASE IF EXISTS db_9;
+
CREATE DATABASE db_0;
CREATE DATABASE db_1;
CREATE DATABASE db_2;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/sqlserver/init.sql
similarity index 81%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/sqlserver/init.sql
index 850215b..83ed233 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/sqlserver/init.sql
@@ -1,23 +1,34 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+DROP DATABASE IF EXISTS db_0;
+DROP DATABASE IF EXISTS db_1;
+DROP DATABASE IF EXISTS db_2;
+DROP DATABASE IF EXISTS db_3;
+DROP DATABASE IF EXISTS db_4;
+DROP DATABASE IF EXISTS db_5;
+DROP DATABASE IF EXISTS db_6;
+DROP DATABASE IF EXISTS db_7;
+DROP DATABASE IF EXISTS db_8;
+DROP DATABASE IF EXISTS db_9;
+
CREATE DATABASE db_0;
CREATE DATABASE db_1;
CREATE DATABASE db_2;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/h2/init.sql
new file mode 100644
index 0000000..63f093f
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/h2/init.sql
@@ -0,0 +1,70 @@
+--
+-- 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.
+--
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/mysql/init.sql
similarity index 94%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/mysql/init.sql
index 80ae5c6..2b8fd66 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/mysql/init.sql
@@ -1,23 +1,61 @@
-#
-# 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.
-#
+/*
+ * 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.
+ */
+
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+DROP DATABASE IF EXISTS primary_ds_0;
+DROP DATABASE IF EXISTS primary_ds_1;
+DROP DATABASE IF EXISTS primary_ds_2;
+DROP DATABASE IF EXISTS primary_ds_3;
+DROP DATABASE IF EXISTS primary_ds_4;
+DROP DATABASE IF EXISTS primary_ds_5;
+DROP DATABASE IF EXISTS primary_ds_6;
+DROP DATABASE IF EXISTS primary_ds_7;
+DROP DATABASE IF EXISTS primary_ds_8;
+DROP DATABASE IF EXISTS primary_ds_9;
+DROP DATABASE IF EXISTS replica_ds_0;
+DROP DATABASE IF EXISTS replica_ds_1;
+DROP DATABASE IF EXISTS replica_ds_2;
+DROP DATABASE IF EXISTS replica_ds_3;
+DROP DATABASE IF EXISTS replica_ds_4;
+DROP DATABASE IF EXISTS replica_ds_5;
+DROP DATABASE IF EXISTS replica_ds_6;
+DROP DATABASE IF EXISTS replica_ds_7;
+DROP DATABASE IF EXISTS replica_ds_8;
+DROP DATABASE IF EXISTS replica_ds_9;
+
CREATE DATABASE primary_ds_0;
CREATE DATABASE primary_ds_1;
CREATE DATABASE primary_ds_2;
@@ -59,6 +97,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +129,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +161,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +193,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +225,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +257,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +289,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +321,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +353,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +385,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +417,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +449,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +481,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +513,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +545,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +577,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +609,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +641,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +673,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +705,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/oracle/init.sql
similarity index 95%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/oracle/init.sql
index 80ae5c6..6f3917a 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/oracle/init.sql
@@ -1,43 +1,64 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
-CREATE DATABASE primary_ds_0;
-CREATE DATABASE primary_ds_1;
-CREATE DATABASE primary_ds_2;
-CREATE DATABASE primary_ds_3;
-CREATE DATABASE primary_ds_4;
-CREATE DATABASE primary_ds_5;
-CREATE DATABASE primary_ds_6;
-CREATE DATABASE primary_ds_7;
-CREATE DATABASE primary_ds_8;
-CREATE DATABASE primary_ds_9;
-CREATE DATABASE replica_ds_0;
-CREATE DATABASE replica_ds_1;
-CREATE DATABASE replica_ds_2;
-CREATE DATABASE replica_ds_3;
-CREATE DATABASE replica_ds_4;
-CREATE DATABASE replica_ds_5;
-CREATE DATABASE replica_ds_6;
-CREATE DATABASE replica_ds_7;
-CREATE DATABASE replica_ds_8;
-CREATE DATABASE replica_ds_9;
+DROP SCHEMA primary_ds_0;
+DROP SCHEMA primary_ds_1;
+DROP SCHEMA primary_ds_2;
+DROP SCHEMA primary_ds_3;
+DROP SCHEMA primary_ds_4;
+DROP SCHEMA primary_ds_5;
+DROP SCHEMA primary_ds_6;
+DROP SCHEMA primary_ds_7;
+DROP SCHEMA primary_ds_8;
+DROP SCHEMA primary_ds_9;
+DROP SCHEMA replica_ds_0;
+DROP SCHEMA replica_ds_1;
+DROP SCHEMA replica_ds_2;
+DROP SCHEMA replica_ds_3;
+DROP SCHEMA replica_ds_4;
+DROP SCHEMA replica_ds_5;
+DROP SCHEMA replica_ds_6;
+DROP SCHEMA replica_ds_7;
+DROP SCHEMA replica_ds_8;
+DROP SCHEMA replica_ds_9;
+
+CREATE SCHEMA primary_ds_0;
+CREATE SCHEMA primary_ds_1;
+CREATE SCHEMA primary_ds_2;
+CREATE SCHEMA primary_ds_3;
+CREATE SCHEMA primary_ds_4;
+CREATE SCHEMA primary_ds_5;
+CREATE SCHEMA primary_ds_6;
+CREATE SCHEMA primary_ds_7;
+CREATE SCHEMA primary_ds_8;
+CREATE SCHEMA primary_ds_9;
+CREATE SCHEMA replica_ds_0;
+CREATE SCHEMA replica_ds_1;
+CREATE SCHEMA replica_ds_2;
+CREATE SCHEMA replica_ds_3;
+CREATE SCHEMA replica_ds_4;
+CREATE SCHEMA replica_ds_5;
+CREATE SCHEMA replica_ds_6;
+CREATE SCHEMA replica_ds_7;
+CREATE SCHEMA replica_ds_8;
+CREATE SCHEMA replica_ds_9;
CREATE TABLE primary_ds_0.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_0.t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
@@ -59,6 +80,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +112,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +144,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +176,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +208,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +240,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +272,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +304,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +336,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +368,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +400,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +432,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +464,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +496,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +528,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +560,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +592,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +624,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +656,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +688,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/postgresql/init.sql
similarity index 92%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/postgresql/init.sql
index 80ae5c6..29d9e5c 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/postgresql/init.sql
@@ -1,23 +1,65 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_1';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_2';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_3';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_4';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_5';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_6';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_7';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_8';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_9';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_1';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_2';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_3';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_4';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_5';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_6';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_7';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_8';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_9';
+
+DROP DATABASE IF EXISTS primary_ds_0;
+DROP DATABASE IF EXISTS primary_ds_1;
+DROP DATABASE IF EXISTS primary_ds_2;
+DROP DATABASE IF EXISTS primary_ds_3;
+DROP DATABASE IF EXISTS primary_ds_4;
+DROP DATABASE IF EXISTS primary_ds_5;
+DROP DATABASE IF EXISTS primary_ds_6;
+DROP DATABASE IF EXISTS primary_ds_7;
+DROP DATABASE IF EXISTS primary_ds_8;
+DROP DATABASE IF EXISTS primary_ds_9;
+DROP DATABASE IF EXISTS replica_ds_0;
+DROP DATABASE IF EXISTS replica_ds_1;
+DROP DATABASE IF EXISTS replica_ds_2;
+DROP DATABASE IF EXISTS replica_ds_3;
+DROP DATABASE IF EXISTS replica_ds_4;
+DROP DATABASE IF EXISTS replica_ds_5;
+DROP DATABASE IF EXISTS replica_ds_6;
+DROP DATABASE IF EXISTS replica_ds_7;
+DROP DATABASE IF EXISTS replica_ds_8;
+DROP DATABASE IF EXISTS replica_ds_9;
+
CREATE DATABASE primary_ds_0;
CREATE DATABASE primary_ds_1;
CREATE DATABASE primary_ds_2;
@@ -59,6 +101,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +133,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +165,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +197,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +229,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +261,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +293,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +325,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +357,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +389,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +421,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +453,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +485,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +517,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +549,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +581,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +613,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +645,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +677,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +709,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/sqlserver/init.sql
similarity index 95%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/sqlserver/init.sql
index 80ae5c6..48e2dd0 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/sqlserver/init.sql
@@ -1,23 +1,44 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+DROP DATABASE IF EXISTS primary_ds_0;
+DROP DATABASE IF EXISTS primary_ds_1;
+DROP DATABASE IF EXISTS primary_ds_2;
+DROP DATABASE IF EXISTS primary_ds_3;
+DROP DATABASE IF EXISTS primary_ds_4;
+DROP DATABASE IF EXISTS primary_ds_5;
+DROP DATABASE IF EXISTS primary_ds_6;
+DROP DATABASE IF EXISTS primary_ds_7;
+DROP DATABASE IF EXISTS primary_ds_8;
+DROP DATABASE IF EXISTS primary_ds_9;
+DROP DATABASE IF EXISTS replica_ds_0;
+DROP DATABASE IF EXISTS replica_ds_1;
+DROP DATABASE IF EXISTS replica_ds_2;
+DROP DATABASE IF EXISTS replica_ds_3;
+DROP DATABASE IF EXISTS replica_ds_4;
+DROP DATABASE IF EXISTS replica_ds_5;
+DROP DATABASE IF EXISTS replica_ds_6;
+DROP DATABASE IF EXISTS replica_ds_7;
+DROP DATABASE IF EXISTS replica_ds_8;
+DROP DATABASE IF EXISTS replica_ds_9;
+
CREATE DATABASE primary_ds_0;
CREATE DATABASE primary_ds_1;
CREATE DATABASE primary_ds_2;
@@ -59,6 +80,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +112,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +144,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +176,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +208,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +240,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +272,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +304,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +336,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +368,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +400,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +432,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +464,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +496,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +528,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +560,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +592,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +624,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +656,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +688,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/h2/init.sql
new file mode 100644
index 0000000..0fd19c9
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/h2/init.sql
@@ -0,0 +1,25 @@
+--
+-- 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.
+--
+
+DROP TABLE IF EXISTS t_order;
+DROP TABLE IF EXISTS t_order_item;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/mysql/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/mysql/init.sql
new file mode 100644
index 0000000..7667c16
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/mysql/init.sql
@@ -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.
+ */
+
+--
+-- 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.
+--
+
+CREATE USER 'root'@'%' IDENTIFIED BY '';
+GRANT All privileges ON *.* TO 'root'@'%';
+
+DROP DATABASE IF EXISTS primary_ds;
+DROP DATABASE IF EXISTS replica_0;
+DROP DATABASE IF EXISTS replica_1;
+
+CREATE DATABASE primary_ds;
+CREATE DATABASE replica_0;
+CREATE DATABASE replica_1;
+
+CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
+
+CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
+
+CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/oracle/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/oracle/init.sql
new file mode 100644
index 0000000..2f678eb
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/oracle/init.sql
@@ -0,0 +1,42 @@
+--
+-- 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.
+--
+
+CREATE USER 'root'@'%' IDENTIFIED BY '';
+GRANT All privileges ON *.* TO 'root'@'%';
+
+DROP SCHEMA primary_ds;
+DROP SCHEMA replica_0;
+DROP SCHEMA replica_1;
+
+CREATE SCHEMA primary_ds;
+CREATE SCHEMA replica_0;
+CREATE SCHEMA replica_1;
+
+CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
+
+CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
+
+CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/postgresql/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/postgresql/init.sql
new file mode 100644
index 0000000..cb21bdc
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/postgresql/init.sql
@@ -0,0 +1,46 @@
+--
+-- 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.
+--
+
+CREATE USER 'root'@'%' IDENTIFIED BY '';
+GRANT All privileges ON *.* TO 'root'@'%';
+
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_1';
+
+DROP DATABASE IF EXISTS primary_ds;
+DROP DATABASE IF EXISTS replica_0;
+DROP DATABASE IF EXISTS replica_1;
+
+CREATE DATABASE primary_ds;
+CREATE DATABASE replica_0;
+CREATE DATABASE replica_1;
+
+CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
+
+CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
+
+CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/sqlserver/init.sql
similarity index 51%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/sqlserver/init.sql
index 7200c60..6179dc6 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/sqlserver/init.sql
@@ -1,35 +1,42 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+DROP DATABASE IF EXISTS primary_ds;
+DROP DATABASE IF EXISTS replica_0;
+DROP DATABASE IF EXISTS replica_1;
+
CREATE DATABASE primary_ds;
CREATE DATABASE replica_0;
CREATE DATABASE replica_1;
CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/h2/init.sql
new file mode 100644
index 0000000..195c6a1
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/h2/init.sql
@@ -0,0 +1,80 @@
+--
+-- 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.
+--
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/mysql/init.sql
similarity index 67%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/mysql/init.sql
index dd8a30f..7f628c3 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/mysql/init.sql
@@ -1,23 +1,42 @@
-#
-# 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.
-#
+/*
+ * 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.
+ */
+
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+DROP DATABASE IF EXISTS tbl;
+
CREATE DATABASE tbl;
CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
@@ -59,3 +78,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE tbl.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/oracle/init.sql
similarity index 79%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/oracle/init.sql
index dd8a30f..2382bb1 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/oracle/init.sql
@@ -1,24 +1,26 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
-CREATE DATABASE tbl;
+DROP SCHEMA tbl;
+
+CREATE SCHEMA tbl;
CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE tbl.t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
@@ -59,3 +61,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/postgresql/init.sql
similarity index 77%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/postgresql/init.sql
index dd8a30f..0119c5f 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/postgresql/init.sql
@@ -1,23 +1,27 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'tbl';
+
+DROP DATABASE IF EXISTS tbl;
+
CREATE DATABASE tbl;
CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
@@ -59,3 +63,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/sqlserver/init.sql
similarity index 79%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/sqlserver/init.sql
index dd8a30f..9b5397d 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/sqlserver/init.sql
@@ -1,23 +1,25 @@
-#
-# 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.
-#
+--
+-- 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.
+--
CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT All privileges ON *.* TO 'root'@'%';
+DROP DATABASE IF EXISTS tbl;
+
CREATE DATABASE tbl;
CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
@@ -59,3 +61,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));