This is an automated email from the ASF dual-hosted git repository. panxiaolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 297764b37d [Chore](build) fix some compile fail on gnu20 && remove some unused compatibility codes (#18467) 297764b37d is described below commit 297764b37d33f4870d5198b6783f4e8d4332fe23 Author: Pxl <pxl...@qq.com> AuthorDate: Mon Apr 10 18:05:52 2023 +0800 [Chore](build) fix some compile fail on gnu20 && remove some unused compatibility codes (#18467) --- be/src/geo/geo_types.cpp | 35 ++-------------------- be/src/geo/geo_types.h | 6 ++-- .../rowset/segment_v2/inverted_index_writer.cpp | 8 ++--- be/src/util/brpc_client_cache.h | 21 ++----------- be/src/vec/exec/format/table/iceberg_reader.cpp | 8 +---- be/test/olap/itoken_extractor_test.cpp | 28 ++++++++++++----- 6 files changed, 34 insertions(+), 72 deletions(-) diff --git a/be/src/geo/geo_types.cpp b/be/src/geo/geo_types.cpp index 8949e33855..5d2ec76c5a 100644 --- a/be/src/geo/geo_types.cpp +++ b/be/src/geo/geo_types.cpp @@ -148,37 +148,6 @@ static GeoParseStatus to_s2polyline(const GeoCoordinateList& coords, return GEO_PARSE_OK; } -// remove those compatibility codes when we finish upgrade s2geo. -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" -#elif defined(__GNUC__) || defined(__GNUG__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif -template <typename T, bool (T::*)(const T*) const = &T::Contains> -constexpr bool is_pointer_argument() { - return true; -} - -constexpr bool is_pointer_argument(...) { - return false; -} - -template <typename T> -bool adapt_contains(const T* lhs, const T* rhs) { - if constexpr (is_pointer_argument<T>()) { - return lhs->Contains(rhs); - } else { - return lhs->Contains(*rhs); - } -} -#if defined(__clang__) -#pragma clang diagnostic pop -#elif defined(__GNUC__) || defined(__GNUG__) -#pragma GCC diagnostic pop -#endif - static GeoParseStatus to_s2polygon(const GeoCoordinateListList& coords_list, std::unique_ptr<S2Polygon>* polygon) { std::vector<std::unique_ptr<S2Loop>> loops(coords_list.list.size()); @@ -187,7 +156,7 @@ static GeoParseStatus to_s2polygon(const GeoCoordinateListList& coords_list, if (res != GEO_PARSE_OK) { return res; } - if (i != 0 && !adapt_contains(loops[0].get(), loops[i].get())) { + if (i != 0 && !(loops[0]->Contains(*loops[i]))) { return GEO_PARSE_POLYGON_NOT_HOLE; } } @@ -439,7 +408,7 @@ bool GeoPolygon::contains(const GeoShape* rhs) const { } case GEO_SHAPE_POLYGON: { const GeoPolygon* other = (const GeoPolygon*)rhs; - return adapt_contains(_polygon.get(), other->polygon()); + return _polygon->Contains(*other->polygon()); } default: return false; diff --git a/be/src/geo/geo_types.h b/be/src/geo/geo_types.h index bb7e65fbdd..a7e43f92c5 100644 --- a/be/src/geo/geo_types.h +++ b/be/src/geo/geo_types.h @@ -30,14 +30,16 @@ class S2Cap; template <typename T> class Vector3; -typedef Vector3<double> Vector3_d; + +using Vector3_d = Vector3<double>; + using S2Point = Vector3_d; namespace doris { class GeoShape { public: - virtual ~GeoShape() {} + virtual ~GeoShape() = default; virtual GeoShapeType type() const = 0; diff --git a/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp b/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp index 466dd5867a..77a95bb505 100644 --- a/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp +++ b/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp @@ -170,12 +170,12 @@ public: _index_writer->setUseCompoundFile(false); _doc->clear(); - int field_config = - lucene::document::Field::STORE_NO | lucene::document::Field::INDEX_NONORMS; + int field_config = int(lucene::document::Field::STORE_NO) | + int(lucene::document::Field::INDEX_NONORMS); if (_parser_type == InvertedIndexParserType::PARSER_NONE) { - field_config |= lucene::document::Field::INDEX_UNTOKENIZED; + field_config |= int(lucene::document::Field::INDEX_UNTOKENIZED); } else { - field_config |= lucene::document::Field::INDEX_TOKENIZED; + field_config |= int(lucene::document::Field::INDEX_TOKENIZED); } _field = _CLNEW lucene::document::Field(_field_name.c_str(), field_config); _doc->add(*_field); diff --git a/be/src/util/brpc_client_cache.h b/be/src/util/brpc_client_cache.h index fbe9ce56c1..364f11e6ea 100644 --- a/be/src/util/brpc_client_cache.h +++ b/be/src/util/brpc_client_cache.h @@ -66,14 +66,7 @@ public: std::shared_ptr<T> get_client(const std::string& host_port) { std::shared_ptr<T> stub_ptr; - auto get_value = [&stub_ptr](const auto& v) { - // remove those compatibility codes when we finish upgrade phmap. - if constexpr (std::is_same_v<const typename StubMap<T>::mapped_type&, decltype(v)>) { - stub_ptr = v; - } else { - stub_ptr = v.second; - } - }; + auto get_value = [&stub_ptr](const auto& v) { stub_ptr = v.second; }; if (LIKELY(_stub_map.if_contains(host_port, get_value))) { return stub_ptr; } @@ -81,17 +74,7 @@ public: // new one stub and insert into map auto stub = get_new_client_no_cache(host_port); _stub_map.try_emplace_l( - host_port, - [&stub](const auto& v) { - // remove those compatibility codes when we finish upgrade phmap. - if constexpr (std::is_same_v<const typename StubMap<T>::mapped_type&, - decltype(v)>) { - stub = v; - } else { - stub = v.second; - } - }, - stub); + host_port, [&stub](const auto& v) { stub = v.second; }, stub); return stub; } diff --git a/be/src/vec/exec/format/table/iceberg_reader.cpp b/be/src/vec/exec/format/table/iceberg_reader.cpp index d925720931..c21630b6c9 100644 --- a/be/src/vec/exec/format/table/iceberg_reader.cpp +++ b/be/src/vec/exec/format/table/iceberg_reader.cpp @@ -293,13 +293,7 @@ Status IcebergTableReader::_position_delete( DeleteFile& delete_file_map = *((DeleteFile*)delete_file_cache); auto get_value = [&](const auto& v) { - DeleteRows* row_ids; - // remove those compatibility codes when we finish upgrade phmap. - if constexpr (std::is_same_v<const typename DeleteFile::mapped_type&, decltype(v)>) { - row_ids = v.get(); - } else { - row_ids = v.second.get(); - } + DeleteRows* row_ids = v.second.get(); if (row_ids->size() > 0) { delete_rows_array.emplace_back(row_ids); num_delete_rows += row_ids->size(); diff --git a/be/test/olap/itoken_extractor_test.cpp b/be/test/olap/itoken_extractor_test.cpp index d57682a1ee..00b45afede 100644 --- a/be/test/olap/itoken_extractor_test.cpp +++ b/be/test/olap/itoken_extractor_test.cpp @@ -60,19 +60,33 @@ void runNextInStringLike(const ITokenExtractor& extractor, std::string statement ASSERT_EQ(expect, actual); } +#if __cplusplus > 201703L +std::string from_u8string(const std::u8string& s) { + return std::string(s.begin(), s.end()); +} +#else +std::string from_u8string(const std::string& s) { + return std::string(s.begin(), s.end()); +} +#endif + TEST_F(TestITokenExtractor, ngram_extractor) { - std::string statement = u8"预计09发布i13手机。"; - std::vector<std::string> expect = {u8"预计", u8"计0", u8"09", u8"9发", u8"发布", u8"布i", - u8"i1", u8"13", u8"3手", u8"手机", u8"机。"}; + std::string statement = from_u8string(u8"预计09发布i13手机。"); + std::vector<std::string> expect = { + from_u8string(u8"预计"), from_u8string(u8"计0"), from_u8string(u8"09"), + from_u8string(u8"9发"), from_u8string(u8"发布"), from_u8string(u8"布i"), + from_u8string(u8"i1"), from_u8string(u8"13"), from_u8string(u8"3手"), + from_u8string(u8"手机"), from_u8string(u8"机。")}; NgramTokenExtractor ngram_extractor(2); runNextInString(ngram_extractor, statement, expect); } TEST_F(TestITokenExtractor, ngram_like_extractor) { NgramTokenExtractor ngram_extractor(2); - runNextInStringLike(ngram_extractor, u8"%手机%", {u8"手机"}); - runNextInStringLike(ngram_extractor, u8"%机%", {}); - runNextInStringLike(ngram_extractor, {u8"i_%手机%"}, {u8"手机"}); - runNextInStringLike(ngram_extractor, {u8"\\_手机%"}, {u8"_手", u8"手机"}); + runNextInStringLike(ngram_extractor, from_u8string(u8"%手机%"), {from_u8string(u8"手机")}); + runNextInStringLike(ngram_extractor, from_u8string(u8"%机%"), {}); + runNextInStringLike(ngram_extractor, {from_u8string(u8"i_%手机%")}, {from_u8string(u8"手机")}); + runNextInStringLike(ngram_extractor, {from_u8string(u8"\\_手机%")}, + {from_u8string(u8"_手"), from_u8string(u8"手机")}); } } // namespace doris --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org