From ab45b51c6a8eb501aa6e177954c81b9ce736cf51 Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 1 Jun 2023 03:42:14 +0000 Subject: [PATCH] [GIS] get_geo_type_by_name bugfix --- deps/oblib/src/lib/geo/ob_geo_utils.cpp | 2 ++ src/sql/resolver/ddl/ob_create_table_resolver.cpp | 10 +++++----- src/sql/resolver/ddl/ob_create_table_resolver.h | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/deps/oblib/src/lib/geo/ob_geo_utils.cpp b/deps/oblib/src/lib/geo/ob_geo_utils.cpp index 1a305dc162..52068f2cd5 100644 --- a/deps/oblib/src/lib/geo/ob_geo_utils.cpp +++ b/deps/oblib/src/lib/geo/ob_geo_utils.cpp @@ -136,6 +136,8 @@ ObGeoType ObGeoTypeUtil::get_geo_type_by_name(ObString &name) geo_type = ObGeoType::MULTIPOLYGON; } else if (0 == name.case_compare("geometrycollection")) { geo_type = ObGeoType::GEOMETRYCOLLECTION; + } else if (0 == name.case_compare("geometry")) { + geo_type = ObGeoType::GEOMETRY; } else { LOG_WARN_RET(OB_INVALID_ARGUMENT, "get type by name failed", K(geo_type)); } diff --git a/src/sql/resolver/ddl/ob_create_table_resolver.cpp b/src/sql/resolver/ddl/ob_create_table_resolver.cpp index 560028cd3c..b9364a6ab2 100644 --- a/src/sql/resolver/ddl/ob_create_table_resolver.cpp +++ b/src/sql/resolver/ddl/ob_create_table_resolver.cpp @@ -58,7 +58,7 @@ ObCreateTableResolver::ObCreateTableResolver(ObResolverParams ¶ms) is_oracle_temp_table_(false), index_arg_(), current_index_name_set_(), - cur_column_group_id_(0) + cur_udt_set_id_(0) { } @@ -71,9 +71,9 @@ uint64_t ObCreateTableResolver::gen_column_id() return ++cur_column_id_; } -uint64_t ObCreateTableResolver::gen_column_group_id() +uint64_t ObCreateTableResolver::gen_udt_set_id() { - return ++cur_column_group_id_; + return ++cur_udt_set_id_; } int64_t ObCreateTableResolver::get_primary_key_size() const @@ -1411,7 +1411,7 @@ int ObCreateTableResolver::resolve_table_elements(const ParseNode *node, } if (OB_SUCC(ret) && column.is_xmltype()) { - column.set_udt_set_id(gen_column_group_id()); + column.set_udt_set_id(gen_udt_set_id()); } if (OB_SUCC(ret)) { @@ -1839,7 +1839,7 @@ int ObCreateTableResolver::resolve_table_elements_from_select(const ParseNode &p column.set_meta_type(xml_meta); column.set_sub_data_type(T_OBJ_XML); // udt column is varbinary used for null bitmap - column.set_udt_set_id(gen_column_group_id()); + column.set_udt_set_id(gen_udt_set_id()); } else { ret = OB_ERR_INVALID_DATATYPE; LOG_WARN("invalid data type", K(ret), K(*expr)); diff --git a/src/sql/resolver/ddl/ob_create_table_resolver.h b/src/sql/resolver/ddl/ob_create_table_resolver.h index 5c8db4860f..f81f3461a4 100644 --- a/src/sql/resolver/ddl/ob_create_table_resolver.h +++ b/src/sql/resolver/ddl/ob_create_table_resolver.h @@ -67,7 +67,7 @@ private: DISALLOW_COPY_AND_ASSIGN(ObCreateTableResolver); // function members uint64_t gen_column_id(); - uint64_t gen_column_group_id(); + uint64_t gen_udt_set_id(); int64_t get_primary_key_size() const; int add_primary_key_part(const common::ObString &column_name, common::ObArray &stats, int64_t &pk_data_length); int add_hidden_tablet_seq_col(); @@ -149,7 +149,7 @@ private: common::ObSEArray gen_col_exprs_;//store generated column and dependent exprs common::ObSEArray constraint_exprs_;//store constraint exprs - uint64_t cur_column_group_id_; + uint64_t cur_udt_set_id_; }; } // end namespace sql