You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/06/30 01:21:55 UTC
[shardingsphere] branch master updated: add POLYGON metadata (#18665)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 f6c4d4c4856 add POLYGON metadata (#18665)
f6c4d4c4856 is described below
commit f6c4d4c4856516e56139abdbdf857631b53ad7be
Author: Yao He <lc...@gmail.com>
AuthorDate: Thu Jun 30 09:21:48 2022 +0800
add POLYGON metadata (#18665)
* add POLYGON metadata
* add POINT metadata
---
.../loader/dialect/MySQLSchemaMetaDataLoader.java | 8 +++++---
.../loader/dialect/MySQLSchemaMetaDataLoaderTest.java | 17 ++++++++++-------
2 files changed, 15 insertions(+), 10 deletions(-)
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 803eda7554a..fda6f27e3d2 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
@@ -125,9 +125,11 @@ public final class MySQLSchemaMetaDataLoader implements DialectSchemaMetaDataLoa
dataTypes.putIfAbsent("JSON", Types.LONGVARCHAR);
dataTypes.putIfAbsent("GEOMETRY", Types.BINARY);
dataTypes.putIfAbsent("YEAR", Types.DATE);
- dataTypes.putIfAbsent("MULTIPOINT", -2);
- dataTypes.putIfAbsent("MULTIPOLYGON", -2);
- dataTypes.putIfAbsent("MULTILINESTRING", -2);
+ dataTypes.putIfAbsent("POINT", Types.BINARY);
+ dataTypes.putIfAbsent("MULTIPOINT", Types.BINARY);
+ dataTypes.putIfAbsent("POLYGON", Types.BINARY);
+ dataTypes.putIfAbsent("MULTIPOLYGON", Types.BINARY);
+ dataTypes.putIfAbsent("MULTILINESTRING", Types.BINARY);
}
private ColumnMetaData loadColumnMetaData(final Map<String, Integer> dataTypeMap, final ResultSet resultSet) throws SQLException {
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 d9447e3c95d..fc602f10c33 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
@@ -88,12 +88,12 @@ public final class MySQLSchemaMetaDataLoaderTest {
private ResultSet mockTableMetaDataResultSet() throws SQLException {
ResultSet result = mock(ResultSet.class);
- when(result.next()).thenReturn(true, true, true, true, true, true, false);
+ when(result.next()).thenReturn(true, true, true, true, true, true, true, true, true, false);
when(result.getString("TABLE_NAME")).thenReturn("tbl");
- when(result.getString("COLUMN_NAME")).thenReturn("id", "name", "doc", "geo", "t_year", "mp");
- when(result.getString("DATA_TYPE")).thenReturn("int", "varchar", "json", "geometry", "year", "multipolygon");
- when(result.getString("COLUMN_KEY")).thenReturn("PRI", "", "", "", "", "");
- when(result.getString("EXTRA")).thenReturn("auto_increment", "", "", "", "", "");
+ 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("COLLATION_NAME")).thenReturn("utf8", "utf8_general_ci");
return result;
}
@@ -115,14 +115,17 @@ public final class MySQLSchemaMetaDataLoaderTest {
private void assertTableMetaDataMap(final Collection<SchemaMetaData> schemaMetaDataList) {
assertThat(schemaMetaDataList.size(), is(1));
TableMetaData actualTableMetaData = schemaMetaDataList.iterator().next().getTables().iterator().next();
- assertThat(actualTableMetaData.getColumns().size(), is(6));
+ assertThat(actualTableMetaData.getColumns().size(), is(9));
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("doc", -1, false, false, false)));
assertThat(columnsIterator.next(), is(new ColumnMetaData("geo", -2, false, false, false)));
assertThat(columnsIterator.next(), is(new ColumnMetaData("t_year", 91, false, false, false)));
- assertThat(columnsIterator.next(), is(new ColumnMetaData("mp", -2, false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("pg", -2, false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("mpg", -2, false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("pt", -2, false, false, false)));
+ assertThat(columnsIterator.next(), is(new ColumnMetaData("mpt", -2, false, false, false)));
assertThat(actualTableMetaData.getIndexes().size(), is(1));
Iterator<IndexMetaData> indexesIterator = actualTableMetaData.getIndexes().iterator();
assertThat(indexesIterator.next(), is(new IndexMetaData("id")));