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")));