This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 982b5a8f3e5 Add t_product_extend table of the mysql database (#31045)
982b5a8f3e5 is described below
commit 982b5a8f3e55b2eabf4bf35967ee1aa333c288e3
Author: niu niu <[email protected]>
AuthorDate: Mon Apr 29 10:47:27 2024 +0800
Add t_product_extend table of the mysql database (#31045)
* Add t_product_extend table of the mysql database
* Add unsigned column type
---
.../test/e2e/cases/value/SQLValue.java | 22 +++++++-
.../engine/composer/BatchE2EContainerComposer.java | 2 +-
.../test/e2e/engine/type/dml/BaseDMLE2EIT.java | 3 +-
.../test/e2e/engine/type/dql/BaseDQLE2EIT.java | 4 +-
.../test/e2e/env/DataSetEnvironmentManager.java | 9 +++-
.../db_tbl_sql_federation/data/actual/dataset.xml | 58 ++++++++++++++++++++++
.../data/actual/init-sql/mysql/01-actual-init.sql | 1 +
.../data/expected/dataset.xml | 58 ++++++++++++++++++++++
.../expected/init-sql/mysql/01-expected-init.sql | 1 +
9 files changed, 152 insertions(+), 6 deletions(-)
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/cases/value/SQLValue.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/cases/value/SQLValue.java
index 0a02fde26c1..b6036a538d7 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/cases/value/SQLValue.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/cases/value/SQLValue.java
@@ -47,7 +47,7 @@ public final class SQLValue {
}
private Object getValue(final String value, final String type) {
- if (type.startsWith("enum#") || type.startsWith("cast#")) {
+ if (type.startsWith("enum#") || type.startsWith("set#") ||
type.startsWith("cast#")) {
return value;
}
if ("null".equalsIgnoreCase(value)) {
@@ -57,22 +57,36 @@ public final class SQLValue {
case "String":
case "varchar":
case "char":
+ case "text":
+ case "longtext":
+ case "mediumtext":
+ case "json":
return value;
case "tinyint":
return Byte.parseByte(value);
+ case "tinyint unsigned":
case "smallint":
return Short.parseShort(value);
+ case "smallint unsigned":
+ case "mediumint":
+ case "year":
case "int":
return Integer.parseInt(value);
+ case "int unsigned":
+ case "bigint unsigned":
+ case "bigint":
case "long":
return Long.parseLong(value);
case "float":
return Float.parseFloat(value);
+ case "float unsigned":
case "double":
return Double.parseDouble(value);
case "numeric":
return value.contains(".") ? Double.parseDouble(value) :
Long.parseLong(value);
+ case "double unsigned":
case "decimal":
+ case "decimal unsigned":
return new BigDecimal(value);
case "boolean":
return Boolean.parseBoolean(value);
@@ -87,6 +101,12 @@ public final class SQLValue {
return Time.valueOf(LocalTime.parse(value,
DateTimeFormatterFactory.getTimeFormatter()));
case "timestamp":
return Timestamp.valueOf(LocalDateTime.parse(value,
DateTimeFormatterFactory.getShortMillsFormatter()));
+ case "blob":
+ case "longblob":
+ case "mediumblob":
+ case "bit":
+ case "binary":
+ case "varbinary":
case "bytes":
return value.getBytes(StandardCharsets.UTF_8);
case "uuid":
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/BatchE2EContainerComposer.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/BatchE2EContainerComposer.java
index 6f3c33db546..7051320814f 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/BatchE2EContainerComposer.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/BatchE2EContainerComposer.java
@@ -52,7 +52,7 @@ public final class BatchE2EContainerComposer extends
E2EContainerComposer implem
for (IntegrationTestCaseAssertion each :
testParam.getTestCaseContext().getTestCase().getAssertions()) {
dataSets.add(DataSetLoader.load(testParam.getTestCaseContext().getParentPath(),
testParam.getScenario(), testParam.getDatabaseType(), testParam.getMode(),
each.getExpectedDataFile()));
}
- dataSetEnvironmentManager = new DataSetEnvironmentManager(new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
getActualDataSourceMap());
+ dataSetEnvironmentManager = new DataSetEnvironmentManager(new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
getActualDataSourceMap(), testParam.getDatabaseType());
dataSetEnvironmentManager.fillData();
}
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
index d39bce3d24a..f7b222f516e 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
@@ -72,7 +72,8 @@ public abstract class BaseDMLE2EIT {
* @throws JAXBException JAXB exception
*/
public final void init(final AssertionTestParameter testParam, final
SingleE2EContainerComposer containerComposer) throws SQLException, IOException,
JAXBException {
- dataSetEnvironmentManager = new DataSetEnvironmentManager(new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
containerComposer.getActualDataSourceMap());
+ dataSetEnvironmentManager =
+ new DataSetEnvironmentManager(new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
containerComposer.getActualDataSourceMap(), testParam.getDatabaseType());
dataSetEnvironmentManager.fillData();
}
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
index b29470a05ee..356e00e898c 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
@@ -86,9 +86,9 @@ public abstract class BaseDQLE2EIT {
synchronized (FILLED_SUITES) {
if (!FILLED_SUITES.contains(cacheKey)) {
new DataSetEnvironmentManager(
- new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
containerComposer.getActualDataSourceMap()).fillData();
+ new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
containerComposer.getActualDataSourceMap(),
testParam.getDatabaseType()).fillData();
new DataSetEnvironmentManager(
- new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.EXPECTED),
containerComposer.getExpectedDataSourceMap()).fillData();
+ new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.EXPECTED),
containerComposer.getExpectedDataSourceMap(),
testParam.getDatabaseType()).fillData();
FILLED_SUITES.add(cacheKey);
}
}
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
index 37ea9de770d..a5fe21c2e94 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
@@ -68,11 +68,14 @@ public final class DataSetEnvironmentManager {
private final Map<String, DataSource> dataSourceMap;
- public DataSetEnvironmentManager(final String dataSetFile, final
Map<String, DataSource> dataSourceMap) throws IOException, JAXBException {
+ private final DatabaseType databaseType;
+
+ public DataSetEnvironmentManager(final String dataSetFile, final
Map<String, DataSource> dataSourceMap, final DatabaseType databaseType) throws
IOException, JAXBException {
try (FileReader reader = new FileReader(dataSetFile)) {
dataSet = (DataSet)
JAXBContext.newInstance(DataSet.class).createUnmarshaller().unmarshal(reader);
}
this.dataSourceMap = dataSourceMap;
+ this.databaseType = databaseType;
}
/**
@@ -106,6 +109,10 @@ public final class DataSetEnvironmentManager {
private Map<DataNode, List<DataSetRow>> getDataSetRowMap() {
Map<DataNode, List<DataSetRow>> result = new
LinkedHashMap<>(dataSet.getRows().size(), 1F);
for (DataSetRow each : dataSet.getRows()) {
+ // The data type of the current table is currently only used by
mysql.
+ if (each.getDataNode().contains("t_product_extend") &&
!"MySQL".equals(databaseType.getType())) {
+ continue;
+ }
DataNode dataNode = new DataNode(each.getDataNode());
if (!result.containsKey(dataNode)) {
result.put(dataNode, new LinkedList<>());
diff --git
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/dataset.xml
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/dataset.xml
index 95afb18e9df..5bc220a2fcb 100644
---
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/dataset.xml
+++
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/dataset.xml
@@ -56,6 +56,44 @@
<column name="status" type="varchar" />
<column name="creation_date" type="datetime" />
</metadata>
+ <metadata data-nodes="sql_federation_ds_0.t_product_extend">
+ <column name="extend_id" type="int" />
+ <column name="product_id" type="int" />
+ <column name="type_int" type="int" />
+ <column name="type_smallint" type="smallint" />
+ <column name="type_decimal" type="decimal" />
+ <column name="type_float" type="float" />
+ <column name="type_double" type="double" />
+ <column name="type_bit" type="bit" />
+ <column name="type_tinyint" type="tinyint" />
+ <column name="type_mediumint" type="mediumint" />
+ <column name="type_bigint" type="bigint" />
+ <column name="type_date" type="Date" />
+ <column name="type_time" type="time" />
+ <column name="type_datetime" type="datetime" />
+ <column name="type_timestamp" type="timestamp" />
+ <column name="type_year" type="year" />
+ <column name="type_char" type="char" />
+ <column name="type_text" type="text" />
+ <column name="type_varchar" type="varchar" />
+ <column name="type_longtext" type="longtext" />
+ <column name="type_longblob" type="longblob" />
+ <column name="type_mediumtext" type="mediumtext" />
+ <column name="type_mediumblob" type="mediumblob" />
+ <column name="type_binary" type="binary" />
+ <column name="type_varbinary" type="varbinary" />
+ <column name="type_blob" type="blob" />
+ <column name="type_enum" type="enum#season" />
+ <column name="type_set" type="set#season" />
+ <column name="type_json" type="json" />
+ <column name="type_unsigned_int" type="int unsigned" />
+ <column name="type_unsigned_bigint" type="bigint unsigned" />
+ <column name="type_unsigned_tinyint" type="tinyint unsigned" />
+ <column name="type_unsigned_smallint" type="smallint unsigned" />
+ <column name="type_unsigned_float" type="float unsigned" />
+ <column name="type_unsigned_double" type="double unsigned" />
+ <column name="type_unsigned_decimal" type="decimal unsigned" />
+ </metadata>
<metadata data-nodes="sql_federation_ds_1.t_product_detail">
<column name="detail_id" type="numeric" />
<column name="product_id" type="numeric" />
@@ -435,6 +473,26 @@
<row data-node="sql_federation_ds_0.t_product" values="18, intel cpu, 10,
1600, on sale, 2017-08-08" />
<row data-node="sql_federation_ds_0.t_product" values="19, hp computer,
10, 4600, on sale, 2017-08-08" />
<row data-node="sql_federation_ds_0.t_product" values="20, tesla model 3,
14, 324600, on sale, 2017-08-08" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="1, 1, 1, 1,
1.01, 1.01, 1.01, a, 1, 1000, 100000001, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, A, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, A, A,
Blob content, spring, spring, {"key": "value"}, 1, 1, 1, 1,
1.01, 1.01, 1.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="2, 2, 2, 2,
2.01, 2.01, 2.01, b, 2, 2000, 100000002, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, B, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, B, B,
Blob content, summer, summer, {"key": "value"}, 2, 2, 2, 2,
2.01, 2.01, 2.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="3, 3, 3, 3,
3.01, 3.01, 3.01, c, 3, 3000, 100000003, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, C, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, C, C,
Blob content, autumn, autumn, {"key": "value"}, 3, 3, 3, 3,
3.01, 3.01, 3.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="4, 4, 4, 4,
4.01, 4.01, 4.01, d, 4, 4000, 100000004, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, D, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, D, D,
Blob content, winter, winter, {"key": "value"}, 4, 4, 4, 4,
4.01, 4.01, 4.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="5, 5, 5, 5,
5.01, 5.01, 5.01, e, 5, 5000, 100000005, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, E, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, E, E,
Blob content, spring, spring, {"key": "value"}, 5, 5, 5, 5,
5.01, 5.01, 5.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="6, 6, 6, 6,
6.01, 6.01, 6.01, f, 6, 6000, 100000006, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, F, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, F, F,
Blob content, summer, summer, {"key": "value"}, 6, 6, 6, 6,
6.01, 6.01, 6.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="7, 7, 7, 7,
7.01, 7.01, 7.01, g, 7, 7000, 100000007, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, G, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, G, G,
Blob content, autumn, autumn, {"key": "value"}, 7, 7, 7, 7,
7.01, 7.01, 7.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="8, 8, 8, 8,
8.01, 8.01, 8.01, h, 8, 8000, 100000008, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, H, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, H, H,
Blob content, winter, winter, {"key": "value"}, 8, 8, 8, 8,
8.01, 8.01, 8.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="9, 9, 9, 9,
9.01, 9.01, 9.01, i, 9, 9000, 100000009, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, I, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, I, I,
Blob content, spring, spring, {"key": "value"}, 9, 9, 9, 9,
9.01, 9.01, 9.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="10, 10, 10,
10, 10.01, 10.01, 10.01, j, 10, 10000, 100000010, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, J, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, J, J, Blob content, summer, summer, {"key":
"value"}, 10, 10, 10, 10, 10.01, 10.01, 10.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="11, 11, 11,
11, 11.01, 11.01, 11.01, k, 11, 11000, 100000011, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, K, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, K, K, Blob content, autumn, autumn, {"key":
"value"}, 11, 11, 11, 11, 11.01, 11.01, 11.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="12, 12, 12,
12, 12.01, 12.01, 12.01, l, 12, 12000, 100000012, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, L, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, L, L, Blob content, winter, winter, {"key":
"value"}, 12, 12, 12, 12, 12.01, 12.01, 12.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="13, 13, 13,
13, 13.01, 13.01, 13.01, m, 13, 13000, 100000013, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, M, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, M, M, Blob content, spring, spring, {"key":
"value"}, 13, 13, 13, 13, 13.01, 13.01, 13.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="14, 14, 14,
14, 14.01, 14.01, 14.01, n, 14, 14000, 100000014, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, N, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, N, N, Blob content, summer, summer, {"key":
"value"}, 14, 14, 14, 14, 14.01, 14.01, 14.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="15, 15, 15,
15, 15.01, 15.01, 15.01, o, 15, 15000, 100000015, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, O, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, O, O, Blob content, autumn, autumn, {"key":
"value"}, 15, 15, 15, 15, 15.01, 15.01, 15.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="16, 16, 16,
16, 16.01, 16.01, 16.01, p, 16, 16000, 100000016, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, P, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, P, P, Blob content, winter, winter, {"key":
"value"}, 16, 16, 16, 16, 16.01, 16.01, 16.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="17, 17, 17,
17, 17.01, 17.01, 17.01, q, 17, 17000, 100000017, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, Q, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, Q, Q, Blob content, spring, spring, {"key":
"value"}, 17, 17, 17, 17, 17.01, 17.01, 17.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="18, 18, 18,
18, 18.01, 18.01, 18.01, r, 18, 18000, 100000018, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, R, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, R, R, Blob content, summer, summer, {"key":
"value"}, 18, 18, 18, 18, 18.01, 18.01, 18.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="19, 19, 19,
19, 19.01, 19.01, 19.01, s, 19, 19000, 100000019, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, S, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, S, S, Blob content, autumn, autumn, {"key":
"value"}, 19, 19, 19, 19, 19.01, 19.01, 19.01" />
+ <row data-node="sql_federation_ds_0.t_product_extend" values="20, 20, 20,
20, 20.01, 20.01, 20.01, t, 20, 20000, 100000020, 2024-04-28, 23:59:59,
2024-04-28, 2024-04-28 00:00:00.0, 2024, T, Lorem ipsum dolor sit amet,
Varchar, Long text content, Long blob content, Medium text content, Medium blob
content, T, T, Blob content, winter, winter, {"key":
"value"}, 20, 20, 20, 20, 20.01, 20.01, 20.01" />
<row data-node="sql_federation_ds_1.t_product_detail" values="1, 1, qq
coins, 2017-08-08" />
<row data-node="sql_federation_ds_1.t_product_detail" values="2, 2, haier
washing machine, 2017-08-08" />
<row data-node="sql_federation_ds_1.t_product_detail" values="3, 3, huawei
mobile phones, 2017-08-08" />
diff --git
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/init-sql/mysql/01-actual-init.sql
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/init-sql/mysql/01-actual-init.sql
index aad81ad9644..49cab96c952 100644
---
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/init-sql/mysql/01-actual-init.sql
+++
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/actual/init-sql/mysql/01-actual-init.sql
@@ -62,6 +62,7 @@ CREATE TABLE sql_federation_ds_0.t_order_9 (order_id INT
PRIMARY KEY, user_id IN
CREATE TABLE sql_federation_ds_0.t_order_item_9 (item_id INT PRIMARY KEY,
order_id INT NOT NULL, user_id INT NOT NULL, product_id INT NOT NULL, quantity
INT NOT NULL, creation_date DATE NOT NULL);
CREATE TABLE sql_federation_ds_0.t_user (user_id INT PRIMARY KEY, user_name
VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(50) NOT
NULL, telephone VARCHAR(50) NOT NULL, creation_date DATE NOT NULL);
CREATE TABLE sql_federation_ds_0.t_product (product_id INT PRIMARY KEY,
product_name VARCHAR(50) NOT NULL, category_id INT NOT NULL, price DECIMAL NOT
NULL, status VARCHAR(50) NOT NULL, creation_date DATE NOT NULL);
+CREATE TABLE sql_federation_ds_0.t_product_extend(extend_id INT PRIMARY KEY,
product_id INT NOT NULL, type_int INT NOT NULL, type_smallint SMALLINT NOT
NULL, type_decimal DECIMAL NOT NULL, type_float FLOAT NOT NULL, type_double
DOUBLE NOT NULL, type_bit BIT(64) NOT NULL, type_tinyint TINYINT NOT NULL,
type_mediumint mediumint NOT NULL, type_bigint BIGINT NOT NULL, type_date DATE
NOT NULL, type_time TIME NOT NULL, type_datetime DATETIME NOT NULL,
type_timestamp TIMESTAMP NOT NULL, type_ye [...]
CREATE TABLE sql_federation_ds_0.t_product_category(category_id INT PRIMARY
KEY, category_name VARCHAR(50) NOT NULL, parent_id INT NOT NULL, level INT NOT
NULL, creation_date DATE NOT NULL);
CREATE TABLE sql_federation_ds_0.t_country (country_id INT PRIMARY KEY,
country_name VARCHAR(50), continent_name VARCHAR(50), creation_date DATE NOT
NULL);
CREATE INDEX order_index_t_order_0 ON sql_federation_ds_0.t_order_0 (order_id);
diff --git
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/dataset.xml
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/dataset.xml
index 36612c50686..f419f30e68d 100644
---
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/dataset.xml
+++
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/dataset.xml
@@ -56,6 +56,44 @@
<column name="status" type="varchar" />
<column name="creation_date" type="datetime" />
</metadata>
+ <metadata data-nodes="sql_federation.t_product_extend">
+ <column name="extend_id" type="int" />
+ <column name="product_id" type="int" />
+ <column name="type_int" type="int" />
+ <column name="type_smallint" type="smallint" />
+ <column name="type_decimal" type="decimal" />
+ <column name="type_float" type="float" />
+ <column name="type_double" type="double" />
+ <column name="type_bit" type="bit" />
+ <column name="type_tinyint" type="tinyint" />
+ <column name="type_mediumint" type="mediumint" />
+ <column name="type_bigint" type="bigint" />
+ <column name="type_date" type="Date" />
+ <column name="type_time" type="time" />
+ <column name="type_datetime" type="datetime" />
+ <column name="type_timestamp" type="timestamp" />
+ <column name="type_year" type="year" />
+ <column name="type_char" type="char" />
+ <column name="type_text" type="text" />
+ <column name="type_varchar" type="varchar" />
+ <column name="type_longtext" type="longtext" />
+ <column name="type_longblob" type="longblob" />
+ <column name="type_mediumtext" type="mediumtext" />
+ <column name="type_mediumblob" type="mediumblob" />
+ <column name="type_binary" type="binary" />
+ <column name="type_varbinary" type="varbinary" />
+ <column name="type_blob" type="blob" />
+ <column name="type_enum" type="enum#season" />
+ <column name="type_set" type="set#season" />
+ <column name="type_json" type="json" />
+ <column name="type_unsigned_int" type="int unsigned" />
+ <column name="type_unsigned_bigint" type="bigint unsigned" />
+ <column name="type_unsigned_tinyint" type="tinyint unsigned" />
+ <column name="type_unsigned_smallint" type="smallint unsigned" />
+ <column name="type_unsigned_float" type="float unsigned" />
+ <column name="type_unsigned_double" type="double unsigned" />
+ <column name="type_unsigned_decimal" type="decimal unsigned" />
+ </metadata>
<metadata data-nodes="sql_federation.t_product_detail">
<column name="detail_id" type="numeric" />
<column name="product_id" type="numeric" />
@@ -435,6 +473,26 @@
<row data-node="sql_federation.t_product" values="18, intel cpu, 10, 1600,
on sale, 2017-08-08" />
<row data-node="sql_federation.t_product" values="19, hp computer, 10,
4600, on sale, 2017-08-08" />
<row data-node="sql_federation.t_product" values="20, tesla model 3, 14,
324600, on sale, 2017-08-08" />
+ <row data-node="sql_federation.t_product_extend" values="1, 1, 1, 1, 1.01,
1.01, 1.01, a, 1, 1000, 100000001, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, A, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, A, A, Blob
content, spring, spring, {"key": "value"}, 1, 1, 1, 1,
1.01, 1.01, 1.01" />
+ <row data-node="sql_federation.t_product_extend" values="2, 2, 2, 2, 2.01,
2.01, 2.01, b, 2, 2000, 100000002, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, B, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, B, B, Blob
content, summer, summer, {"key": "value"}, 2, 2, 2, 2,
2.01, 2.01, 2.01" />
+ <row data-node="sql_federation.t_product_extend" values="3, 3, 3, 3, 3.01,
3.01, 3.01, c, 3, 3000, 100000003, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, C, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, C, C, Blob
content, autumn, autumn, {"key": "value"}, 3, 3, 3, 3,
3.01, 3.01, 3.01" />
+ <row data-node="sql_federation.t_product_extend" values="4, 4, 4, 4, 4.01,
4.01, 4.01, d, 4, 4000, 100000004, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, D, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, D, D, Blob
content, winter, winter, {"key": "value"}, 4, 4, 4, 4,
4.01, 4.01, 4.01" />
+ <row data-node="sql_federation.t_product_extend" values="5, 5, 5, 5, 5.01,
5.01, 5.01, e, 5, 5000, 100000005, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, E, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, E, E, Blob
content, spring, spring, {"key": "value"}, 5, 5, 5, 5,
5.01, 5.01, 5.01" />
+ <row data-node="sql_federation.t_product_extend" values="6, 6, 6, 6, 6.01,
6.01, 6.01, f, 6, 6000, 100000006, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, F, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, F, F, Blob
content, summer, summer, {"key": "value"}, 6, 6, 6, 6,
6.01, 6.01, 6.01" />
+ <row data-node="sql_federation.t_product_extend" values="7, 7, 7, 7, 7.01,
7.01, 7.01, g, 7, 7000, 100000007, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, G, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, G, G, Blob
content, autumn, autumn, {"key": "value"}, 7, 7, 7, 7,
7.01, 7.01, 7.01" />
+ <row data-node="sql_federation.t_product_extend" values="8, 8, 8, 8, 8.01,
8.01, 8.01, h, 8, 8000, 100000008, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, H, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, H, H, Blob
content, winter, winter, {"key": "value"}, 8, 8, 8, 8,
8.01, 8.01, 8.01" />
+ <row data-node="sql_federation.t_product_extend" values="9, 9, 9, 9, 9.01,
9.01, 9.01, i, 9, 9000, 100000009, 2024-04-28, 23:59:59, 2024-04-28, 2024-04-28
00:00:00.0, 2024, I, Lorem ipsum dolor sit amet, Varchar, Long text content,
Long blob content, Medium text content, Medium blob content, I, I, Blob
content, spring, spring, {"key": "value"}, 9, 9, 9, 9,
9.01, 9.01, 9.01" />
+ <row data-node="sql_federation.t_product_extend" values="10, 10, 10, 10,
10.01, 10.01, 10.01, j, 10, 10000, 100000010, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, J, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, J, J,
Blob content, summer, summer, {"key": "value"}, 10, 10, 10,
10, 10.01, 10.01, 10.01" />
+ <row data-node="sql_federation.t_product_extend" values="11, 11, 11, 11,
11.01, 11.01, 11.01, k, 11, 11000, 100000011, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, K, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, K, K,
Blob content, autumn, autumn, {"key": "value"}, 11, 11, 11,
11, 11.01, 11.01, 11.01" />
+ <row data-node="sql_federation.t_product_extend" values="12, 12, 12, 12,
12.01, 12.01, 12.01, l, 12, 12000, 100000012, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, L, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, L, L,
Blob content, winter, winter, {"key": "value"}, 12, 12, 12,
12, 12.01, 12.01, 12.01" />
+ <row data-node="sql_federation.t_product_extend" values="13, 13, 13, 13,
13.01, 13.01, 13.01, m, 13, 13000, 100000013, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, M, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, M, M,
Blob content, spring, spring, {"key": "value"}, 13, 13, 13,
13, 13.01, 13.01, 13.01" />
+ <row data-node="sql_federation.t_product_extend" values="14, 14, 14, 14,
14.01, 14.01, 14.01, n, 14, 14000, 100000014, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, N, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, N, N,
Blob content, summer, summer, {"key": "value"}, 14, 14, 14,
14, 14.01, 14.01, 14.01" />
+ <row data-node="sql_federation.t_product_extend" values="15, 15, 15, 15,
15.01, 15.01, 15.01, o, 15, 15000, 100000015, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, O, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, O, O,
Blob content, autumn, autumn, {"key": "value"}, 15, 15, 15,
15, 15.01, 15.01, 15.01" />
+ <row data-node="sql_federation.t_product_extend" values="16, 16, 16, 16,
16.01, 16.01, 16.01, p, 16, 16000, 100000016, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, P, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, P, P,
Blob content, winter, winter, {"key": "value"}, 16, 16, 16,
16, 16.01, 16.01, 16.01" />
+ <row data-node="sql_federation.t_product_extend" values="17, 17, 17, 17,
17.01, 17.01, 17.01, q, 17, 17000, 100000017, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, Q, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, Q, Q,
Blob content, spring, spring, {"key": "value"}, 17, 17, 17,
17, 17.01, 17.01, 17.01" />
+ <row data-node="sql_federation.t_product_extend" values="18, 18, 18, 18,
18.01, 18.01, 18.01, r, 18, 18000, 100000018, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, R, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, R, R,
Blob content, summer, summer, {"key": "value"}, 18, 18, 18,
18, 18.01, 18.01, 18.01" />
+ <row data-node="sql_federation.t_product_extend" values="19, 19, 19, 19,
19.01, 19.01, 19.01, s, 19, 19000, 100000019, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, S, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, S, S,
Blob content, autumn, autumn, {"key": "value"}, 19, 19, 19,
19, 19.01, 19.01, 19.01" />
+ <row data-node="sql_federation.t_product_extend" values="20, 20, 20, 20,
20.01, 20.01, 20.01, t, 20, 20000, 100000020, 2024-04-28, 23:59:59, 2024-04-28,
2024-04-28 00:00:00.0, 2024, T, Lorem ipsum dolor sit amet, Varchar, Long text
content, Long blob content, Medium text content, Medium blob content, T, T,
Blob content, winter, winter, {"key": "value"}, 20, 20, 20,
20, 20.01, 20.01, 20.01" />
<row data-node="sql_federation.t_product_detail" values="1, 1, qq coins,
2017-08-08" />
<row data-node="sql_federation.t_product_detail" values="2, 2, haier
washing machine, 2017-08-08" />
<row data-node="sql_federation.t_product_detail" values="3, 3, huawei
mobile phones, 2017-08-08" />
diff --git
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/init-sql/mysql/01-expected-init.sql
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/init-sql/mysql/01-expected-init.sql
index 6066d47f74a..379171e4705 100644
---
a/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/init-sql/mysql/01-expected-init.sql
+++
b/test/e2e/sql/src/test/resources/env/scenario/db_tbl_sql_federation/data/expected/init-sql/mysql/01-expected-init.sql
@@ -26,6 +26,7 @@ CREATE TABLE sql_federation.t_order_item (item_id INT PRIMARY
KEY, order_id INT
CREATE TABLE sql_federation.t_user (user_id INT PRIMARY KEY, user_name
VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(50) NOT
NULL, telephone VARCHAR(50) NOT NULL, creation_date DATE NOT NULL);
CREATE TABLE sql_federation.t_merchant (merchant_id INT PRIMARY KEY,
country_id INT NOT NULL, merchant_name VARCHAR(50) NOT NULL, business_code
VARCHAR(50) NOT NULL, telephone VARCHAR(50) NOT NULL, creation_date DATE NOT
NULL);
CREATE TABLE sql_federation.t_product (product_id INT PRIMARY KEY,
product_name VARCHAR(50) NOT NULL, category_id INT NOT NULL, price DECIMAL NOT
NULL, status VARCHAR(50) NOT NULL, creation_date DATE NOT NULL);
+CREATE TABLE sql_federation.t_product_extend(extend_id INT PRIMARY KEY,
product_id INT NOT NULL, type_int INT NOT NULL, type_smallint SMALLINT NOT
NULL, type_decimal DECIMAL NOT NULL, type_float FLOAT NOT NULL, type_double
DOUBLE NOT NULL, type_bit BIT(64) NOT NULL, type_tinyint TINYINT NOT NULL,
type_mediumint mediumint NOT NULL, type_bigint BIGINT NOT NULL, type_date DATE
NOT NULL, type_time TIME NOT NULL, type_datetime DATETIME NOT NULL,
type_timestamp TIMESTAMP NOT NULL, type_year YE [...]
CREATE TABLE sql_federation.t_product_detail (detail_id INT PRIMARY KEY,
product_id INT NOT NULL, description VARCHAR(50) NOT NULL, creation_date DATE
NOT NULL);
CREATE TABLE sql_federation.t_product_category( category_id INT PRIMARY KEY,
category_name VARCHAR(50) NOT NULL, parent_id INT NOT NULL, level INT NOT NULL,
creation_date DATE NOT NULL);
CREATE TABLE sql_federation.t_country (country_id INT PRIMARY KEY,
country_name VARCHAR(50), continent_name VARCHAR(50), creation_date DATE NOT
NULL);