This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 18ad266248a Add visible field in ShardingSchemaColumn metadata (#19859)
18ad266248a is described below
commit 18ad266248a0e5e9452a4dfe65bcd8e74b0a689d
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Thu Aug 4 14:26:11 2022 +0800
Add visible field in ShardingSchemaColumn metadata (#19859)
* Add visible filed in ShardingSchemaColumn metadata
* Fix unit test
* Update MySQLSchemaMetaDataLoaderTest
---
.../metadata/EncryptSchemaMetaDataDecorator.java | 2 +-
.../EncryptSchemaMetaDataDecoratorTest.java | 6 ++---
.../metadata/ShardingSchemaMetaDataDecorator.java | 2 +-
.../merge/dql/ShardingDQLResultMergerTest.java | 6 ++---
.../dql/groupby/GroupByStreamMergedResultTest.java | 6 ++---
.../dql/orderby/OrderByStreamMergedResultTest.java | 4 ++--
.../ShardingSchemaMetaDataDecoratorTest.java | 8 +++----
.../engine/type/standard/AbstractSQLRouteTest.java | 18 +++++++--------
.../engine/GeneratedKeyContextEngineTest.java | 2 +-
.../binder/segment/table/TablesContextTest.java | 4 ++--
.../schema/builder/GenericSchemaBuilder.java | 2 +-
.../decorator/model/ShardingSphereColumn.java | 2 ++
.../schema/loader/common/ColumnMetaDataLoader.java | 10 +++++----
.../loader/dialect/H2SchemaMetaDataLoader.java | 2 +-
.../loader/dialect/MySQLSchemaMetaDataLoader.java | 6 +++--
.../dialect/OpenGaussSchemaMetaDataLoader.java | 2 +-
.../loader/dialect/OracleSchemaMetaDataLoader.java | 2 +-
.../dialect/PostgreSQLSchemaMetaDataLoader.java | 2 +-
.../dialect/SQLServerSchemaMetaDataLoader.java | 2 +-
.../schema/loader/model/ColumnMetaData.java | 2 ++
.../yaml/schema/pojo/YamlShardingSphereColumn.java | 2 ++
.../swapper/ShardingSphereTableYamlSwapper.java | 3 ++-
.../database/schema/ShardingSphereSchemaTest.java | 6 ++---
.../loader/dialect/H2SchemaMetaDataLoaderTest.java | 4 ++--
.../dialect/MySQLSchemaMetaDataLoaderTest.java | 20 ++++++++---------
.../dialect/OracleSchemaMetaDataLoaderTest.java | 24 ++++++++++----------
.../PostgreSQLSchemaMetaDataLoaderTest.java | 4 ++--
.../dialect/SQLServerSchemaMetaDataLoaderTest.java | 4 ++--
.../database/schema/model/TableMetaDataTest.java | 2 +-
.../sql/context/ExecutionContextBuilderTest.java | 26 +++++++++++-----------
.../advanced/AdvancedFederationExecutorTest.java | 10 ++++-----
.../optimizer/ShardingSphereOptimizerTest.java | 10 ++++-----
.../SingleTableSchemaMetaDataDecoratorTest.java | 12 +++++-----
.../mode/manager/ContextManagerTest.java | 2 +-
.../jdbc/JDBCDatabaseCommunicationEngineTest.java | 2 +-
.../ExportDatabaseConfigurationHandlerTest.java | 2 +-
.../queryable/ShowTableMetadataHandlerTest.java | 2 +-
.../ImportDatabaseConfigurationHandlerTest.java | 2 +-
.../query/impl/MySQLQueryHeaderBuilderTest.java | 2 +-
.../PostgreSQLComDescribeExecutorTest.java | 8 +++----
.../pipeline/core/util/PipelineContextUtil.java | 4 ++--
.../scenario/MixSQLRewriterParameterizedTest.java | 2 +-
.../ShardingSQLRewriterParameterizedTest.java | 2 +-
43 files changed, 128 insertions(+), 117 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecorator.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecorator.java
index 36df8591091..e3af525ebf1 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecorator.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecorator.java
@@ -78,7 +78,7 @@ public final class EncryptSchemaMetaDataDecorator implements
RuleBasedSchemaMeta
}
private ColumnMetaData createColumnMetaData(final String columnName, final
ColumnMetaData columnMetaData) {
- return new ColumnMetaData(columnName, columnMetaData.getDataType(),
columnMetaData.isPrimaryKey(), columnMetaData.isGenerated(),
columnMetaData.isCaseSensitive());
+ return new ColumnMetaData(columnName, columnMetaData.getDataType(),
columnMetaData.isPrimaryKey(), columnMetaData.isGenerated(),
columnMetaData.isCaseSensitive(), columnMetaData.isVisible());
}
@Override
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecoratorTest.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecoratorTest.java
index 1e420b32a18..f43fe1bce00 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecoratorTest.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataDecoratorTest.java
@@ -70,9 +70,9 @@ public final class EncryptSchemaMetaDataDecoratorTest {
}
private TableMetaData createTableMetaData() {
- Collection<ColumnMetaData> columns = Arrays.asList(new
ColumnMetaData("id", 1, true, true, true),
- new ColumnMetaData("pwd_cipher", 2, false, false, true),
- new ColumnMetaData("pwd_plain", 2, false, false, true));
+ Collection<ColumnMetaData> columns = Arrays.asList(new
ColumnMetaData("id", 1, true, true, true, true),
+ new ColumnMetaData("pwd_cipher", 2, false, false, true, true),
+ new ColumnMetaData("pwd_plain", 2, false, false, true, true));
return new TableMetaData(TABLE_NAME, columns, Collections.emptyList(),
Collections.emptyList());
}
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecorator.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecorator.java
index 92935f6028a..715d3bb9a96 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecorator.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecorator.java
@@ -107,7 +107,7 @@ public final class ShardingSchemaMetaDataDecorator
implements RuleBasedSchemaMet
Collection<ColumnMetaData> result = new LinkedList<>();
for (ColumnMetaData each : tableMetaData.getColumns()) {
boolean generated =
each.getName().equalsIgnoreCase(tableRule.getGenerateKeyColumn().orElse(null));
- result.add(new ColumnMetaData(each.getName(), each.getDataType(),
each.isPrimaryKey(), generated, each.isCaseSensitive()));
+ result.add(new ColumnMetaData(each.getName(), each.getDataType(),
each.isPrimaryKey(), generated, each.isCaseSensitive(), each.isVisible()));
}
return result;
}
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
index c604d69ae99..07c88e40898 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
@@ -501,9 +501,9 @@ public final class ShardingDQLResultMergerTest {
}
private ShardingSphereDatabase createDatabase() {
- ShardingSphereColumn column1 = new ShardingSphereColumn("col1", 0,
false, false, false);
- ShardingSphereColumn column2 = new ShardingSphereColumn("col2", 0,
false, false, false);
- ShardingSphereColumn column3 = new ShardingSphereColumn("col3", 0,
false, false, false);
+ ShardingSphereColumn column1 = new ShardingSphereColumn("col1", 0,
false, false, false, true);
+ ShardingSphereColumn column2 = new ShardingSphereColumn("col2", 0,
false, false, false, true);
+ ShardingSphereColumn column3 = new ShardingSphereColumn("col3", 0,
false, false, false, true);
ShardingSphereTable table = new ShardingSphereTable("tbl",
Arrays.asList(column1, column2, column3), Collections.emptyList(),
Collections.emptyList());
ShardingSphereSchema schema = new
ShardingSphereSchema(Collections.singletonMap("tbl", table));
return new ShardingSphereDatabase(DefaultDatabase.LOGIC_NAME,
DatabaseTypeFactory.getInstance("MySQL"), mock(ShardingSphereResource.class),
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java
index e48afa66b7d..e34f7e44a3b 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java
@@ -172,9 +172,9 @@ public final class GroupByStreamMergedResultTest {
}
private ShardingSphereDatabase createDatabase() {
- ShardingSphereColumn column1 = new ShardingSphereColumn("col1", 0,
false, false, false);
- ShardingSphereColumn column2 = new ShardingSphereColumn("col2", 0,
false, false, false);
- ShardingSphereColumn column3 = new ShardingSphereColumn("col3", 0,
false, false, false);
+ ShardingSphereColumn column1 = new ShardingSphereColumn("col1", 0,
false, false, false, true);
+ ShardingSphereColumn column2 = new ShardingSphereColumn("col2", 0,
false, false, false, true);
+ ShardingSphereColumn column3 = new ShardingSphereColumn("col3", 0,
false, false, false, true);
ShardingSphereTable table = new ShardingSphereTable("tbl",
Arrays.asList(column1, column2, column3), Collections.emptyList(),
Collections.emptyList());
ShardingSphereSchema schema = new
ShardingSphereSchema(Collections.singletonMap("tbl", table));
return new ShardingSphereDatabase(DefaultDatabase.LOGIC_NAME,
DatabaseTypeFactory.getInstance("MySQL"),
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java
index 3e9d51f4ea9..3402bc788a0 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java
@@ -195,8 +195,8 @@ public final class OrderByStreamMergedResultTest {
}
private ShardingSphereDatabase createDatabase() {
- ShardingSphereColumn column1 = new ShardingSphereColumn("col1", 0,
false, false, true);
- ShardingSphereColumn column2 = new ShardingSphereColumn("col2", 0,
false, false, false);
+ ShardingSphereColumn column1 = new ShardingSphereColumn("col1", 0,
false, false, true, true);
+ ShardingSphereColumn column2 = new ShardingSphereColumn("col2", 0,
false, false, false, true);
ShardingSphereTable table = new ShardingSphereTable("tbl",
Arrays.asList(column1, column2), Collections.emptyList(),
Collections.emptyList());
ShardingSphereSchema schema = new
ShardingSphereSchema(Collections.singletonMap("tbl", table));
return new ShardingSphereDatabase(DefaultDatabase.LOGIC_NAME,
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecoratorTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecoratorTest.java
index 9f023e592b1..0a5a3d72f73 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecoratorTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataDecoratorTest.java
@@ -66,10 +66,10 @@ public final class ShardingSchemaMetaDataDecoratorTest {
}
private TableMetaData createTableMetaData() {
- Collection<ColumnMetaData> columns = Arrays.asList(new
ColumnMetaData("id", 1, true, true, true),
- new ColumnMetaData("pwd_cipher", 2, false, false, true),
- new ColumnMetaData("pwd_plain", 2, false, false, true),
- new ColumnMetaData("product_id", 2, false, false, true));
+ Collection<ColumnMetaData> columns = Arrays.asList(new
ColumnMetaData("id", 1, true, true, true, true),
+ new ColumnMetaData("pwd_cipher", 2, false, false, true, true),
+ new ColumnMetaData("pwd_plain", 2, false, false, true, true),
+ new ColumnMetaData("product_id", 2, false, false, true, true));
return new TableMetaData(TABLE_NAME, columns, Collections.emptyList(),
Collections.emptyList());
}
}
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
index b1acf6c4dc7..c4ca764d9a1 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
@@ -71,16 +71,16 @@ public abstract class AbstractSQLRouteTest extends
AbstractRoutingEngineTest {
private Map<String, ShardingSphereSchema> buildSchemas() {
Map<String, ShardingSphereTable> tables = new HashMap<>(3, 1);
- tables.put("t_order", new ShardingSphereTable("t_order",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false),
- new ShardingSphereColumn("status", Types.INTEGER, false,
false, false)), Collections.emptyList(), Collections.emptyList()));
- tables.put("t_order_item", new ShardingSphereTable("t_order_item",
Arrays.asList(new ShardingSphereColumn("item_id", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("order_id", Types.INTEGER, false,
false, false),
- new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false),
- new ShardingSphereColumn("status", Types.VARCHAR, false,
false, false),
- new ShardingSphereColumn("c_date", Types.TIMESTAMP, false,
false, false)), Collections.emptyList(), Collections.emptyList()));
+ tables.put("t_order", new ShardingSphereTable("t_order",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false, true),
+ new ShardingSphereColumn("status", Types.INTEGER, false,
false, false, true)), Collections.emptyList(), Collections.emptyList()));
+ tables.put("t_order_item", new ShardingSphereTable("t_order_item",
Arrays.asList(new ShardingSphereColumn("item_id", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("order_id", Types.INTEGER, false,
false, false, true),
+ new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false, true),
+ new ShardingSphereColumn("status", Types.VARCHAR, false,
false, false, true),
+ new ShardingSphereColumn("c_date", Types.TIMESTAMP, false,
false, false, true)), Collections.emptyList(), Collections.emptyList()));
tables.put("t_other", new ShardingSphereTable("t_other",
Collections.singletonList(
- new ShardingSphereColumn("order_id", Types.INTEGER, true,
false, false)), Collections.emptyList(), Collections.emptyList()));
+ new ShardingSphereColumn("order_id", Types.INTEGER, true,
false, false, true)), Collections.emptyList(), Collections.emptyList()));
tables.put("t_category", new ShardingSphereTable("t_category",
Collections.emptyList(), Collections.emptyList(), Collections.emptyList()));
return Collections.singletonMap(DefaultDatabase.LOGIC_NAME, new
ShardingSphereSchema(tables));
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/insert/keygen/engine/GeneratedKeyContextEngineTest.java
b/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/insert/keygen/engine/GeneratedKeyContextEngineTest.java
index cc93200e8bb..05b0840c878 100644
---
a/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/insert/keygen/engine/GeneratedKeyContextEngineTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/insert/keygen/engine/GeneratedKeyContextEngineTest.java
@@ -59,7 +59,7 @@ public final class GeneratedKeyContextEngineTest {
@Before
public void setUp() {
ShardingSphereTable table = new ShardingSphereTable(
- "tbl", Collections.singletonList(new
ShardingSphereColumn("id", Types.INTEGER, true, true, false)),
Collections.emptyList(), Collections.emptyList());
+ "tbl", Collections.singletonList(new
ShardingSphereColumn("id", Types.INTEGER, true, true, false, true)),
Collections.emptyList(), Collections.emptyList());
schema = new ShardingSphereSchema(Collections.singletonMap("tbl",
table));
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/table/TablesContextTest.java
b/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/table/TablesContextTest.java
index c9f1b466df6..49afe6d18d0 100644
---
a/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/table/TablesContextTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/table/TablesContextTest.java
@@ -110,7 +110,7 @@ public final class TablesContextTest {
SimpleTableSegment tableSegment1 = createTableSegment("TABLE_1",
"TBL_1");
SimpleTableSegment tableSegment2 = createTableSegment("TABLE_2",
"TBL_2");
ShardingSphereTable table = new ShardingSphereTable("TABLE_1",
- Collections.singletonList(new ShardingSphereColumn("COL", 0,
false, false, true)), Collections.emptyList(), Collections.emptyList());
+ Collections.singletonList(new ShardingSphereColumn("COL", 0,
false, false, true, true)), Collections.emptyList(), Collections.emptyList());
ShardingSphereSchema schema = new
ShardingSphereSchema(Stream.of(table).collect(Collectors.toMap(ShardingSphereTable::getName,
value -> value)));
ColumnSegment columnSegment = createColumnSegment(null, "COL");
Map<String, String> actual = new
TablesContext(Arrays.asList(tableSegment1, tableSegment2),
@@ -168,7 +168,7 @@ public final class TablesContextTest {
SimpleTableSegment tableSegment1 = createTableSegment("TABLE_1",
"TBL_1");
SimpleTableSegment tableSegment2 = createTableSegment("TABLE_2",
"TBL_2");
ShardingSphereTable table = new ShardingSphereTable("TABLE_1",
Collections.singletonList(
- new ShardingSphereColumn("COL", 0, false, false, true)),
Collections.emptyList(), Collections.emptyList());
+ new ShardingSphereColumn("COL", 0, false, false, true, true)),
Collections.emptyList(), Collections.emptyList());
ShardingSphereSchema schema = new
ShardingSphereSchema(Stream.of(table).collect(Collectors.toMap(ShardingSphereTable::getName,
value -> value)));
ColumnProjection columnProjection = new ColumnProjection(null, "COL",
"CL");
Map<String, String> actual = new
TablesContext(Arrays.asList(tableSegment1, tableSegment2),
DatabaseTypeEngine.getDatabaseType("MySQL"))
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
index d8b6fb049a1..951a9741d0f 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
@@ -140,7 +140,7 @@ public final class GenericSchemaBuilder {
private static Collection<ShardingSphereColumn> convertToColumns(final
Collection<ColumnMetaData> columnMetaDataList) {
Collection<ShardingSphereColumn> result = new LinkedList<>();
for (ColumnMetaData each : columnMetaDataList) {
- result.add(new ShardingSphereColumn(each.getName(),
each.getDataType(), each.isPrimaryKey(), each.isGenerated(),
each.isCaseSensitive()));
+ result.add(new ShardingSphereColumn(each.getName(),
each.getDataType(), each.isPrimaryKey(), each.isGenerated(),
each.isCaseSensitive(), each.isVisible()));
}
return result;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/decorator/model/ShardingSphereColumn.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/decorator/model/ShardingSphereColumn.java
index f369edec575..e6db7d4c2fd 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/decorator/model/ShardingSphereColumn.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/decorator/model/ShardingSphereColumn.java
@@ -40,4 +40,6 @@ public final class ShardingSphereColumn {
private final boolean generated;
private final boolean caseSensitive;
+
+ private final boolean visible;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/common/ColumnMetaDataLoader.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/common/ColumnMetaDataLoader.java
index a6cc53bca89..d38610feb54 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/common/ColumnMetaDataLoader.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/common/ColumnMetaDataLoader.java
@@ -32,6 +32,7 @@ import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* Column meta data loader.
@@ -72,18 +73,19 @@ public final class ColumnMetaDataLoader {
}
}
}
- try (Statement statement = connection.createStatement(); ResultSet
resultSet = statement.executeQuery(generateEmptyResultSQL(tableNamePattern,
databaseType))) {
+ try (Statement statement = connection.createStatement(); ResultSet
resultSet = statement.executeQuery(generateEmptyResultSQL(tableNamePattern,
columnNames, databaseType))) {
for (int i = 0; i < columnNames.size(); i++) {
boolean generated = resultSet.getMetaData().isAutoIncrement(i
+ 1);
isCaseSensitives.add(resultSet.getMetaData().isCaseSensitive(resultSet.findColumn(columnNames.get(i))));
- result.add(new ColumnMetaData(columnNames.get(i),
columnTypes.get(i), isPrimaryKeys.get(i), generated, isCaseSensitives.get(i)));
+ result.add(new ColumnMetaData(columnNames.get(i),
columnTypes.get(i), isPrimaryKeys.get(i), generated, isCaseSensitives.get(i),
true));
}
}
return result;
}
- private static String generateEmptyResultSQL(final String table, final
DatabaseType databaseType) {
- return String.format("SELECT * FROM %s WHERE 1 != 1",
databaseType.getQuoteCharacter().wrap(table));
+ private static String generateEmptyResultSQL(final String table, final
List<String> columnNames, final DatabaseType databaseType) {
+ String wrappedColumnNames = columnNames.stream().map(each ->
databaseType.getQuoteCharacter().wrap(each)).collect(Collectors.joining(","));
+ return String.format("SELECT %s FROM %s WHERE 1 != 1",
wrappedColumnNames, databaseType.getQuoteCharacter().wrap(table));
}
private static Collection<String> loadPrimaryKeys(final Connection
connection, final String table) throws SQLException {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoader.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoader.java
index 205806fa5db..de53acf23ed 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoader.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoader.java
@@ -108,7 +108,7 @@ public final class H2SchemaMetaDataLoader implements
DialectSchemaMetaDataLoader
boolean primaryKey = primaryKeys.contains(columnName);
boolean generated = tableGenerated.getOrDefault(columnName,
Boolean.FALSE);
// H2 database case sensitive is always true
- return new ColumnMetaData(columnName, dataTypeMap.get(typeName),
primaryKey, generated, true);
+ return new ColumnMetaData(columnName, dataTypeMap.get(typeName),
primaryKey, generated, true, true);
}
private String getTableMetaDataSQL(final Collection<String> tables) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoader.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoader.java
index 6a65a2a2a02..2936436cd2d 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoader.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoader.java
@@ -124,10 +124,12 @@ public final class MySQLSchemaMetaDataLoader implements
DialectSchemaMetaDataLoa
String columnName = resultSet.getString("COLUMN_NAME");
String dataType = resultSet.getString("DATA_TYPE");
boolean primaryKey = "PRI".equals(resultSet.getString("COLUMN_KEY"));
- boolean generated =
"auto_increment".equals(resultSet.getString("EXTRA"));
+ String extra = resultSet.getString("EXTRA");
+ boolean generated = "auto_increment".equals(extra);
String collationName = resultSet.getString("COLLATION_NAME");
boolean caseSensitive = null != collationName &&
!collationName.endsWith("_ci");
- return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
primaryKey, generated, caseSensitive);
+ boolean visible = !"INVISIBLE".equals(extra);
+ return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
primaryKey, generated, caseSensitive, visible);
}
private String getTableMetaDataSQL(final Collection<String> tables) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OpenGaussSchemaMetaDataLoader.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OpenGaussSchemaMetaDataLoader.java
index fb00aabb9cc..a507e8b704c 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OpenGaussSchemaMetaDataLoader.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OpenGaussSchemaMetaDataLoader.java
@@ -130,7 +130,7 @@ public final class OpenGaussSchemaMetaDataLoader implements
DialectSchemaMetaDat
boolean generated = null != columnDefault &&
columnDefault.startsWith("nextval(");
// TODO user defined collation which deterministic is false
boolean caseSensitive = true;
- return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
isPrimaryKey, generated, caseSensitive);
+ return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
isPrimaryKey, generated, caseSensitive, true);
}
private String getColumnMetaDataSQL(final Collection<String> schemaNames,
final Collection<String> tables) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoader.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoader.java
index 17a6bc399f1..8d01838fec5 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoader.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoader.java
@@ -115,7 +115,7 @@ public final class OracleSchemaMetaDataLoader implements
DialectSchemaMetaDataLo
boolean generated = versionContainsIdentityColumn(databaseMetaData) &&
"YES".equals(resultSet.getString("IDENTITY_COLUMN"));
// TODO need to support caseSensitive when version < 12.2.
boolean caseSensitive = versionContainsCollation(databaseMetaData) &&
resultSet.getString("COLLATION").endsWith("_CS");
- return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
primaryKey, generated, caseSensitive);
+ return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
primaryKey, generated, caseSensitive, true);
}
private String getOriginalDataType(final String dataType) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoader.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoader.java
index 1b9150deb81..0fc335a03e2 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoader.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoader.java
@@ -138,7 +138,7 @@ public final class PostgreSQLSchemaMetaDataLoader
implements DialectSchemaMetaDa
boolean generated = null != columnDefault &&
columnDefault.startsWith("nextval(");
// TODO user defined collation which deterministic is false
boolean caseSensitive = true;
- return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
isPrimaryKey, generated, caseSensitive);
+ return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
isPrimaryKey, generated, caseSensitive, true);
}
private String getColumnMetaDataSQL(final Collection<String> schemaNames,
final Collection<String> tables) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoader.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoader.java
index e6d1e86a342..e82c5687144 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoader.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoader.java
@@ -99,7 +99,7 @@ public final class SQLServerSchemaMetaDataLoader implements
DialectSchemaMetaDat
boolean primaryKey = "1".equals(resultSet.getString("IS_PRIMARY_KEY"));
boolean generated = "1".equals(resultSet.getString("IS_IDENTITY"));
boolean caseSensitive = null != collationName &&
collationName.indexOf("_CS") > 0;
- return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
primaryKey, generated, caseSensitive);
+ return new ColumnMetaData(columnName, dataTypeMap.get(dataType),
primaryKey, generated, caseSensitive, true);
}
private String getTableMetaDataSQL(final Collection<String> tables) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/model/ColumnMetaData.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/model/ColumnMetaData.java
index 46d05da33cc..f25b887da5d 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/model/ColumnMetaData.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/model/ColumnMetaData.java
@@ -40,4 +40,6 @@ public final class ColumnMetaData {
private final boolean generated;
private final boolean caseSensitive;
+
+ private final boolean visible;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/pojo/YamlShardingSphereColumn.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/pojo/YamlShardingSphereColumn.java
index 619756662b4..626e51196b2 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/pojo/YamlShardingSphereColumn.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/pojo/YamlShardingSphereColumn.java
@@ -37,4 +37,6 @@ public final class YamlShardingSphereColumn implements
YamlConfiguration {
private boolean generated;
private boolean caseSensitive;
+
+ private boolean visible;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/swapper/ShardingSphereTableYamlSwapper.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/swapper/ShardingSphereTableYamlSwapper.java
index 7d6de773d8a..7c953e0a256 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/swapper/ShardingSphereTableYamlSwapper.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/schema/swapper/ShardingSphereTableYamlSwapper.java
@@ -74,7 +74,7 @@ public final class ShardingSphereTableYamlSwapper implements
YamlConfigurationSw
}
private ShardingSphereColumn swapColumn(final YamlShardingSphereColumn
column) {
- return new ShardingSphereColumn(column.getName(),
column.getDataType(), column.isPrimaryKey(), column.isGenerated(),
column.isCaseSensitive());
+ return new ShardingSphereColumn(column.getName(),
column.getDataType(), column.isPrimaryKey(), column.isGenerated(),
column.isCaseSensitive(), column.isVisible());
}
private Map<String, YamlShardingSphereConstraint>
swapYamlConstraints(final Map<String, ShardingSphereConstraint> constrains) {
@@ -109,6 +109,7 @@ public final class ShardingSphereTableYamlSwapper
implements YamlConfigurationSw
result.setGenerated(column.isGenerated());
result.setPrimaryKey(column.isPrimaryKey());
result.setDataType(column.getDataType());
+ result.setVisible(column.isVisible());
return result;
}
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/ShardingSphereSchemaTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/ShardingSphereSchemaTest.java
index de7a4605803..9b5356e300c 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/ShardingSphereSchemaTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/ShardingSphereSchemaTest.java
@@ -68,21 +68,21 @@ public final class ShardingSphereSchemaTest {
@Test
public void assertContainsColumn() {
ShardingSphereTable table = new ShardingSphereTable("tbl",
Collections.singletonList(
- new ShardingSphereColumn("col", 0, false, false, false)),
Collections.emptyList(), Collections.emptyList());
+ new ShardingSphereColumn("col", 0, false, false, false,
true)), Collections.emptyList(), Collections.emptyList());
assertTrue(new ShardingSphereSchema(Collections.singletonMap("tbl",
table)).containsColumn("tbl", "col"));
}
@Test
public void assertGetAllColumnNamesWhenContainsKey() {
ShardingSphereTable table = new ShardingSphereTable("tbl",
Collections.singletonList(
- new ShardingSphereColumn("col", 0, false, false, false)),
Collections.emptyList(), Collections.emptyList());
+ new ShardingSphereColumn("col", 0, false, false, false,
true)), Collections.emptyList(), Collections.emptyList());
assertThat(new ShardingSphereSchema(Collections.singletonMap("tbl",
table)).getAllColumnNames("tbl"), is(Collections.singletonList("col")));
}
@Test
public void assertGetAllColumnNamesWhenNotContainsKey() {
ShardingSphereTable table = new ShardingSphereTable("tbl",
Collections.singletonList(
- new ShardingSphereColumn("col", 0, false, false, false)),
Collections.emptyList(), Collections.emptyList());
+ new ShardingSphereColumn("col", 0, false, false, false,
true)), Collections.emptyList(), Collections.emptyList());
assertThat(new ShardingSphereSchema(Collections.singletonMap("tbl1",
table)).getAllColumnNames("tbl2"), is(Collections.<String>emptyList()));
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoaderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoaderTest.java
index 8c68becf058..cb9e532c730 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoaderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/H2SchemaMetaDataLoaderTest.java
@@ -156,8 +156,8 @@ public final class H2SchemaMetaDataLoaderTest {
TableMetaData actualTableMetaData =
schemaMetaDataList.iterator().next().getTables().iterator().next();
assertThat(actualTableMetaData.getColumns().size(), is(2));
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, false, true)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, false, true, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, true, true)));
assertThat(actualTableMetaData.getIndexes().size(), is(1));
Iterator<IndexMetaData> indexesIterator =
actualTableMetaData.getIndexes().iterator();
assertThat(indexesIterator.next(), is(new IndexMetaData("id")));
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoaderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoaderTest.java
index bfdea913e28..bf8bd776499 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoaderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/MySQLSchemaMetaDataLoaderTest.java
@@ -94,7 +94,7 @@ public final class MySQLSchemaMetaDataLoaderTest {
when(result.getString("COLUMN_NAME")).thenReturn("id", "name", "doc",
"geo", "t_year", "pg", "mpg", "pt", "mpt");
when(result.getString("DATA_TYPE")).thenReturn("int", "varchar",
"json", "geometry", "year", "polygon", "multipolygon", "point", "multipoint");
when(result.getString("COLUMN_KEY")).thenReturn("PRI", "", "", "", "",
"", "", "", "");
- when(result.getString("EXTRA")).thenReturn("auto_increment", "", "",
"", "", "", "", "", "");
+ when(result.getString("EXTRA")).thenReturn("auto_increment",
"INVISIBLE", "", "", "", "", "", "", "");
when(result.getString("COLLATION_NAME")).thenReturn("utf8",
"utf8_general_ci");
return result;
}
@@ -118,15 +118,15 @@ public final class MySQLSchemaMetaDataLoaderTest {
TableMetaData actualTableMetaData =
schemaMetaDataList.iterator().next().getTables().iterator().next();
assertThat(actualTableMetaData.getColumns().size(), is(9));
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id",
Types.INTEGER, true, true, true)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name",
Types.VARCHAR, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("doc",
Types.LONGVARCHAR, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("geo",
Types.BINARY, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("t_year",
Types.DATE, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("pg",
Types.BINARY, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("mpg",
Types.BINARY, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("pt",
Types.BINARY, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("mpt",
Types.BINARY, false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id",
Types.INTEGER, true, true, true, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name",
Types.VARCHAR, false, false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("doc",
Types.LONGVARCHAR, false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("geo",
Types.BINARY, false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("t_year",
Types.DATE, false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("pg",
Types.BINARY, false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("mpg",
Types.BINARY, false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("pt",
Types.BINARY, false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("mpt",
Types.BINARY, false, false, false, true)));
assertThat(actualTableMetaData.getIndexes().size(), is(1));
Iterator<IndexMetaData> indexesIterator =
actualTableMetaData.getIndexes().iterator();
assertThat(indexesIterator.next(), is(new IndexMetaData("id")));
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoaderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoaderTest.java
index bd4535ea797..d5c112758f1 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoaderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/OracleSchemaMetaDataLoaderTest.java
@@ -84,8 +84,8 @@ public final class OracleSchemaMetaDataLoaderTest {
assertTableMetaDataMap(actual);
TableMetaData actualTableMetaData =
actual.iterator().next().getTables().iterator().next();
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, true, true)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, true, true, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
}
@Test
@@ -103,8 +103,8 @@ public final class OracleSchemaMetaDataLoaderTest {
assertTableMetaDataMap(actual);
TableMetaData actualTableMetaData =
actual.iterator().next().getTables().iterator().next();
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, true, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, true, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
}
@Test
@@ -122,8 +122,8 @@ public final class OracleSchemaMetaDataLoaderTest {
assertTableMetaDataMap(actual);
TableMetaData actualTableMetaData =
actual.iterator().next().getTables().iterator().next();
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
}
@Test
@@ -141,8 +141,8 @@ public final class OracleSchemaMetaDataLoaderTest {
assertTableMetaDataMap(actual);
TableMetaData actualTableMetaData =
actual.iterator().next().getTables().iterator().next();
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, true, true)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, true, true, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
}
@Test
@@ -160,8 +160,8 @@ public final class OracleSchemaMetaDataLoaderTest {
assertTableMetaDataMap(actual);
TableMetaData actualTableMetaData =
actual.iterator().next().getTables().iterator().next();
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, true, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, true, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
}
@Test
@@ -179,8 +179,8 @@ public final class OracleSchemaMetaDataLoaderTest {
assertTableMetaDataMap(actual);
TableMetaData actualTableMetaData =
actual.iterator().next().getTables().iterator().next();
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
}
private DataSource mockDataSource() throws SQLException {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoaderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoaderTest.java
index 588a5277889..0e66e7f888c 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoaderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/PostgreSQLSchemaMetaDataLoaderTest.java
@@ -163,8 +163,8 @@ public final class PostgreSQLSchemaMetaDataLoaderTest {
TableMetaData actualTableMetaData =
schemaMetaDataList.iterator().next().getTables().iterator().next();
assertThat(actualTableMetaData.getColumns().size(), is(2));
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id",
Types.INTEGER, true, true, true)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name",
Types.VARCHAR, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id",
Types.INTEGER, true, true, true, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name",
Types.VARCHAR, false, false, true, true)));
assertThat(actualTableMetaData.getIndexes().size(), is(1));
Iterator<IndexMetaData> indexesIterator =
actualTableMetaData.getIndexes().iterator();
assertThat(indexesIterator.next(), is(new IndexMetaData("id")));
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoaderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoaderTest.java
index 3d60cc4c7b4..82dda8e3e3c 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoaderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/dialect/SQLServerSchemaMetaDataLoaderTest.java
@@ -128,8 +128,8 @@ public final class SQLServerSchemaMetaDataLoaderTest {
TableMetaData actualTableMetaData =
schemaMetaDataList.iterator().next().getTables().iterator().next();
assertThat(actualTableMetaData.getColumns().size(), is(2));
Iterator<ColumnMetaData> columnsIterator =
actualTableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, true, true)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
false, true, true, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
assertThat(actualTableMetaData.getIndexes().size(), is(1));
Iterator<IndexMetaData> indexesIterator =
actualTableMetaData.getIndexes().iterator();
assertThat(indexesIterator.next(), is(new IndexMetaData("id")));
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/model/TableMetaDataTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/model/TableMetaDataTest.java
index 47ff5a8a701..cbcac5bd3dc 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/model/TableMetaDataTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/model/TableMetaDataTest.java
@@ -36,7 +36,7 @@ public final class TableMetaDataTest {
@Before
public void setUp() {
- tableMetaData = new TableMetaData(null, Collections.singletonList(new
ColumnMetaData("test", Types.INTEGER, true, false, true)),
Collections.emptyList(), Collections.emptyList());
+ tableMetaData = new TableMetaData(null, Collections.singletonList(new
ColumnMetaData("test", Types.INTEGER, true, false, true, true)),
Collections.emptyList(), Collections.emptyList());
}
@Test
diff --git
a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
index eaede335b64..1926fb3ef66 100644
---
a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
@@ -103,26 +103,26 @@ public final class ExecutionContextBuilderTest {
private Map<String, ShardingSphereSchema> buildDatabaseWithoutPrimaryKey()
{
Map<String, ShardingSphereTable> tables = new HashMap<>(3, 1);
- tables.put("logicName1", new ShardingSphereTable("logicName1",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false),
- new ShardingSphereColumn("status", Types.INTEGER, false,
false, false)), Collections.emptySet(), Collections.emptyList()));
+ tables.put("logicName1", new ShardingSphereTable("logicName1",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false, true),
+ new ShardingSphereColumn("status", Types.INTEGER, false,
false, false, true)), Collections.emptySet(), Collections.emptyList()));
tables.put("t_other", new ShardingSphereTable("t_other",
Collections.singletonList(
- new ShardingSphereColumn("order_id", Types.INTEGER, true,
false, false)), Collections.emptySet(), Collections.emptyList()));
+ new ShardingSphereColumn("order_id", Types.INTEGER, true,
false, false, true)), Collections.emptySet(), Collections.emptyList()));
return Collections.singletonMap("name", new
ShardingSphereSchema(tables));
}
private Map<String, ShardingSphereSchema> buildDatabase() {
Map<String, ShardingSphereTable> tables = new HashMap<>(3, 1);
- tables.put("logicName1", new ShardingSphereTable("logicName1",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false),
- new ShardingSphereColumn("status", Types.INTEGER, false,
false, false)), Collections.emptySet(), Collections.emptyList()));
- tables.put("logicName2", new ShardingSphereTable("logicName2",
Arrays.asList(new ShardingSphereColumn("item_id", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("order_id", Types.INTEGER, false,
false, false),
- new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false),
- new ShardingSphereColumn("status", Types.VARCHAR, false,
false, false),
- new ShardingSphereColumn("c_date", Types.TIMESTAMP, false,
false, false)), Collections.emptySet(), Collections.emptyList()));
+ tables.put("logicName1", new ShardingSphereTable("logicName1",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false, true),
+ new ShardingSphereColumn("status", Types.INTEGER, false,
false, false, true)), Collections.emptySet(), Collections.emptyList()));
+ tables.put("logicName2", new ShardingSphereTable("logicName2",
Arrays.asList(new ShardingSphereColumn("item_id", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("order_id", Types.INTEGER, false,
false, false, true),
+ new ShardingSphereColumn("user_id", Types.INTEGER, false,
false, false, true),
+ new ShardingSphereColumn("status", Types.VARCHAR, false,
false, false, true),
+ new ShardingSphereColumn("c_date", Types.TIMESTAMP, false,
false, false, true)), Collections.emptySet(), Collections.emptyList()));
tables.put("t_other", new ShardingSphereTable("t_other",
Collections.singletonList(
- new ShardingSphereColumn("order_id", Types.INTEGER, true,
false, false)), Collections.emptySet(), Collections.emptyList()));
+ new ShardingSphereColumn("order_id", Types.INTEGER, true,
false, false, true)), Collections.emptySet(), Collections.emptyList()));
return Collections.singletonMap("name", new
ShardingSphereSchema(tables));
}
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/test/java/org/apache/shardingsphere/infra/federation/executor/advanced/AdvancedFederationExecutorTest.java
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/test/java/org/apache/shardingsphere/infra/federation/executor/advanced/AdvancedFederationExecutorTest.java
index ee3f2a2c530..16491c862a5 100644
---
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/test/java/org/apache/shardingsphere/infra/federation/executor/advanced/AdvancedFederationExecutorTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/test/java/org/apache/shardingsphere/infra/federation/executor/advanced/AdvancedFederationExecutorTest.java
@@ -76,15 +76,15 @@ public class AdvancedFederationExecutorTest {
}
private ShardingSphereTable createOrderTableMetaData() {
- ShardingSphereColumn orderIdColumn = new
ShardingSphereColumn("order_id", Types.VARCHAR, true, false, false);
- ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, false, false, false);
- ShardingSphereColumn statusColumn = new ShardingSphereColumn("status",
Types.VARCHAR, false, false, false);
+ ShardingSphereColumn orderIdColumn = new
ShardingSphereColumn("order_id", Types.VARCHAR, true, false, false, true);
+ ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, false, false, false, true);
+ ShardingSphereColumn statusColumn = new ShardingSphereColumn("status",
Types.VARCHAR, false, false, false, true);
return new ShardingSphereTable("t_order_federate",
Arrays.asList(orderIdColumn, userIdColumn, statusColumn),
Collections.emptyList(), Collections.emptyList());
}
private ShardingSphereTable createUserInfoTableMetaData() {
- ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, true, false, false);
- ShardingSphereColumn informationColumn = new
ShardingSphereColumn("information", Types.VARCHAR, false, false, false);
+ ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, true, false, false, true);
+ ShardingSphereColumn informationColumn = new
ShardingSphereColumn("information", Types.VARCHAR, false, false, false, true);
return new ShardingSphereTable("t_user_info",
Arrays.asList(userIdColumn, informationColumn), Collections.emptyList(),
Collections.emptyList());
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
index 5ada76319ff..11621c5981c 100644
---
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
@@ -113,15 +113,15 @@ public final class ShardingSphereOptimizerTest {
}
private ShardingSphereTable createOrderTableMetaData() {
- ShardingSphereColumn orderIdColumn = new
ShardingSphereColumn("order_id", Types.VARCHAR, true, false, false);
- ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, false, false, false);
- ShardingSphereColumn statusColumn = new ShardingSphereColumn("status",
Types.VARCHAR, false, false, false);
+ ShardingSphereColumn orderIdColumn = new
ShardingSphereColumn("order_id", Types.VARCHAR, true, false, false, true);
+ ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, false, false, false, true);
+ ShardingSphereColumn statusColumn = new ShardingSphereColumn("status",
Types.VARCHAR, false, false, false, true);
return new ShardingSphereTable("t_order_federate",
Arrays.asList(orderIdColumn, userIdColumn, statusColumn),
Collections.emptyList(), Collections.emptyList());
}
private ShardingSphereTable createUserInfoTableMetaData() {
- ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, true, false, false);
- ShardingSphereColumn informationColumn = new
ShardingSphereColumn("information", Types.VARCHAR, false, false, false);
+ ShardingSphereColumn userIdColumn = new
ShardingSphereColumn("user_id", Types.VARCHAR, true, false, false, true);
+ ShardingSphereColumn informationColumn = new
ShardingSphereColumn("information", Types.VARCHAR, false, false, false, true);
return new ShardingSphereTable("t_user_info",
Arrays.asList(userIdColumn, informationColumn), Collections.emptyList(),
Collections.emptyList());
}
diff --git
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataDecoratorTest.java
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataDecoratorTest.java
index e95e226647e..3d80be727fe 100644
---
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataDecoratorTest.java
+++
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataDecoratorTest.java
@@ -50,9 +50,9 @@ public final class SingleTableSchemaMetaDataDecoratorTest {
Map<String, SchemaMetaData> schemaMetaDataMap =
mockSchemaMetaDataMap();
TableMetaData tableMetaData = builder.decorate(schemaMetaDataMap,
singleTableRule,
mock(GenericSchemaBuilderMaterials.class)).get("sharding_db").getTables().iterator().next();
Iterator<ColumnMetaData> columnsIterator =
tableMetaData.getColumns().iterator();
- assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("doc", -1,
false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("id", 4,
true, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("name", 12,
false, false, false, true)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("doc", -1,
false, false, false, true)));
assertThat(tableMetaData.getIndexes().size(), is(2));
Iterator<IndexMetaData> indexesIterator =
tableMetaData.getIndexes().iterator();
assertThat(indexesIterator.next(), is(new IndexMetaData("id")));
@@ -60,9 +60,9 @@ public final class SingleTableSchemaMetaDataDecoratorTest {
}
private Map<String, SchemaMetaData> mockSchemaMetaDataMap() {
- Collection<ColumnMetaData> columns = Arrays.asList(new
ColumnMetaData("id", 4, true, false, false),
- new ColumnMetaData("name", 12, false, false, false),
- new ColumnMetaData("doc", -1, false, false, false));
+ Collection<ColumnMetaData> columns = Arrays.asList(new
ColumnMetaData("id", 4, true, false, false, true),
+ new ColumnMetaData("name", 12, false, false, false, true),
+ new ColumnMetaData("doc", -1, false, false, false, true));
Collection<IndexMetaData> indexMetaDataList = Arrays.asList(new
IndexMetaData("id_" + TABLE_NAME), new IndexMetaData("idx_name_" + TABLE_NAME));
Collection<TableMetaData> tableMetaDataList = new LinkedList<>();
tableMetaDataList.add(new TableMetaData(TABLE_NAME, columns,
indexMetaDataList, Collections.emptyList()));
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index dfc5f581650..58bbd9a3ba5 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -155,7 +155,7 @@ public final class ContextManagerTest {
ShardingSphereSchema toBeAlteredSchema = createToBeAlteredSchema();
when(metaDataContexts.getMetaData().getDatabase("foo_db").getSchemas()).thenReturn(Collections.singletonMap("foo_schema",
toBeAlteredSchema));
when(metaDataContexts.getMetaData().getDatabase("foo_db").getSchema("foo_schema")).thenReturn(toBeAlteredSchema);
- ShardingSphereColumn toBeChangedColumn = new
ShardingSphereColumn("foo_col", Types.VARCHAR, false, false, false);
+ ShardingSphereColumn toBeChangedColumn = new
ShardingSphereColumn("foo_col", Types.VARCHAR, false, false, false, true);
ShardingSphereTable toBeChangedTable = new
ShardingSphereTable("foo_tbl", Collections.singleton(toBeChangedColumn),
Collections.emptyList(), Collections.emptyList());
contextManager.alterSchema("foo_db", "foo_schema", toBeChangedTable);
ShardingSphereTable table =
contextManager.getMetaDataContexts().getMetaData().getDatabase("foo_db").getSchema("foo_schema").getTables().get("foo_tbl");
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngineTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngineTest.java
index 35c5d57c704..30b5739cccd 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngineTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngineTest.java
@@ -200,7 +200,7 @@ public final class JDBCDatabaseCommunicationEngineTest
extends ProxyContextResto
private ShardingSphereDatabase createDatabaseMetaData() {
ShardingSphereDatabase result = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
- ShardingSphereColumn column = new ShardingSphereColumn("order_id",
Types.INTEGER, true, false, false);
+ ShardingSphereColumn column = new ShardingSphereColumn("order_id",
Types.INTEGER, true, false, false, true);
when(result.getSchema(DefaultDatabase.LOGIC_NAME).get("t_logic_order")).thenReturn(
new ShardingSphereTable("t_logic_order",
Collections.singletonList(column), Collections.singletonList(new
ShardingSphereIndex("order_id")), Collections.emptyList()));
when(result.getRuleMetaData().getRules()).thenReturn(Collections.singletonList(mock(ShardingRule.class)));
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationHandlerTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationHandlerTest.java
index b53230f8aff..9da05567c22 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationHandlerTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationHandlerTest.java
@@ -137,7 +137,7 @@ public final class ExportDatabaseConfigurationHandlerTest
extends ProxyContextRe
}
private Map<String, ShardingSphereTable> createTables() {
- Collection<ShardingSphereColumn> columns = Collections.singleton(new
ShardingSphereColumn("order_id", 0, false, false, false));
+ Collection<ShardingSphereColumn> columns = Collections.singleton(new
ShardingSphereColumn("order_id", 0, false, false, false, true));
Collection<ShardingSphereIndex> indexes = Collections.singleton(new
ShardingSphereIndex("primary"));
return Collections.singletonMap("t_order", new
ShardingSphereTable("t_order", columns, indexes, Collections.emptyList()));
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetadataHandlerTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetadataHandlerTest.java
index bb1f693efad..5ff9665d1cb 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetadataHandlerTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetadataHandlerTest.java
@@ -78,7 +78,7 @@ public final class ShowTableMetadataHandlerTest extends
ProxyContextRestorer {
private Map<String, ShardingSphereTable> createTableMap() {
Map<String, ShardingSphereTable> result = new HashMap<>();
- Collection<ShardingSphereColumn> columns =
Collections.singletonList(new ShardingSphereColumn("order_id", 0, false, false,
false));
+ Collection<ShardingSphereColumn> columns =
Collections.singletonList(new ShardingSphereColumn("order_id", 0, false, false,
false, true));
Collection<ShardingSphereIndex> indexes =
Collections.singletonList(new ShardingSphereIndex("primary"));
result.put("t_order", new ShardingSphereTable("t_order", columns,
indexes, Collections.emptyList()));
return result;
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java
index 376c04fdd71..60a0da73029 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java
@@ -152,7 +152,7 @@ public final class ImportDatabaseConfigurationHandlerTest
extends ProxyContextRe
}
private Map<String, ShardingSphereTable> createTableMap() {
- Collection<ShardingSphereColumn> columns = Collections.singleton(new
ShardingSphereColumn("order_id", 0, false, false, false));
+ Collection<ShardingSphereColumn> columns = Collections.singleton(new
ShardingSphereColumn("order_id", 0, false, false, false, true));
Collection<ShardingSphereIndex> indexes = Collections.singleton(new
ShardingSphereIndex("primary"));
return Collections.singletonMap("t_order", new
ShardingSphereTable("t_order", columns, indexes, Collections.emptyList()));
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/MySQLQueryHeaderBuilderTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/MySQLQueryHeaderBuilderTest.java
index 3ab870f59b0..4a85070f181 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/MySQLQueryHeaderBuilderTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/MySQLQueryHeaderBuilderTest.java
@@ -99,7 +99,7 @@ public final class MySQLQueryHeaderBuilderTest {
private ShardingSphereDatabase createDatabase() {
ShardingSphereDatabase result = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
- ShardingSphereColumn column = new ShardingSphereColumn("order_id",
Types.INTEGER, true, false, false);
+ ShardingSphereColumn column = new ShardingSphereColumn("order_id",
Types.INTEGER, true, false, false, true);
ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
when(schema.get("t_logic_order")).thenReturn(
new ShardingSphereTable("t_logic_order",
Collections.singleton(column), Collections.singleton(new
ShardingSphereIndex("order_id")), Collections.emptyList()));
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
index 96f79e82c41..62ff39f22e4 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
@@ -120,10 +120,10 @@ public final class PostgreSQLComDescribeExecutorTest
extends ProxyContextRestore
private void prepareTableMetaData() {
Collection<ShardingSphereColumn> columnMetaData = Arrays.asList(
- new ShardingSphereColumn("id", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("k", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("c", Types.CHAR, true, false, false),
- new ShardingSphereColumn("pad", Types.CHAR, true, false,
false));
+ new ShardingSphereColumn("id", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("k", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("c", Types.CHAR, true, false, false,
true),
+ new ShardingSphereColumn("pad", Types.CHAR, true, false,
false, true));
ShardingSphereTable table = new ShardingSphereTable(TABLE_NAME,
columnMetaData, Collections.emptyList(), Collections.emptyList());
when(contextManager.getMetaDataContexts().getMetaData().getDatabase(DATABASE_NAME).getSchema("public").get(TABLE_NAME)).thenReturn(table);
when(contextManager.getMetaDataContexts().getMetaData().getDatabase(DATABASE_NAME).getResource().getDatabaseType()).thenReturn(new
PostgreSQLDatabaseType());
diff --git
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineContextUtil.java
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineContextUtil.java
index 570c5497b51..79b8e6c587c 100644
---
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineContextUtil.java
+++
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineContextUtil.java
@@ -115,8 +115,8 @@ public final class PipelineContextUtil {
private static MetaDataContexts renewMetaDataContexts(final
MetaDataContexts old, final MetaDataPersistService persistService) {
Map<String, ShardingSphereTable> tables = new HashMap<>(3, 1);
- tables.put("t_order", new ShardingSphereTable("t_order",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false),
- new ShardingSphereColumn("user_id", Types.VARCHAR, false,
false, false)), Collections.emptyList(), Collections.emptyList()));
+ tables.put("t_order", new ShardingSphereTable("t_order",
Arrays.asList(new ShardingSphereColumn("order_id", Types.INTEGER, true, false,
false, true),
+ new ShardingSphereColumn("user_id", Types.VARCHAR, false,
false, false, true)), Collections.emptyList(), Collections.emptyList()));
old.getMetaData().getDatabase(DefaultDatabase.LOGIC_NAME).getSchema(DefaultDatabase.LOGIC_NAME).putAll(tables);
return new MetaDataContexts(persistService, old.getMetaData());
}
diff --git
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/MixSQLRewriterParameterizedTest.java
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/MixSQLRewriterParameterizedTest.java
index 6422bdf7b02..1f2f7fb772d 100644
---
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/MixSQLRewriterParameterizedTest.java
+++
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/MixSQLRewriterParameterizedTest.java
@@ -94,7 +94,7 @@ public final class MixSQLRewriterParameterizedTest extends
AbstractSQLRewriterPa
private Map<String, ShardingSphereColumn> createColumns() {
Map<String, ShardingSphereColumn> result = new LinkedHashMap<>(4, 1);
- result.put("account_id", new ShardingSphereColumn("account_id",
Types.INTEGER, true, true, false));
+ result.put("account_id", new ShardingSphereColumn("account_id",
Types.INTEGER, true, true, false, true));
result.put("password", mock(ShardingSphereColumn.class));
result.put("amount", mock(ShardingSphereColumn.class));
result.put("status", mock(ShardingSphereColumn.class));
diff --git
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/ShardingSQLRewriterParameterizedTest.java
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/ShardingSQLRewriterParameterizedTest.java
index c10c22f25d4..e382355218a 100644
---
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/ShardingSQLRewriterParameterizedTest.java
+++
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/scenario/ShardingSQLRewriterParameterizedTest.java
@@ -97,7 +97,7 @@ public final class ShardingSQLRewriterParameterizedTest
extends AbstractSQLRewri
private Map<String, ShardingSphereColumn> createColumnMetaDataMap() {
Map<String, ShardingSphereColumn> result = new LinkedHashMap<>(3, 1);
- result.put("account_id", new ShardingSphereColumn("account_id",
Types.INTEGER, true, true, false));
+ result.put("account_id", new ShardingSphereColumn("account_id",
Types.INTEGER, true, true, false, true));
result.put("amount", mock(ShardingSphereColumn.class));
result.put("status", mock(ShardingSphereColumn.class));
return result;