From 0f1efe4ad4dc076e7c3601c302c6cb3855a09f98 Mon Sep 17 00:00:00 2001 From: sitaowang1998 Date: Thu, 5 Jun 2025 14:38:21 -0400 Subject: [PATCH 1/7] Bump ystdlib version --- taskfiles/deps/main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index 82e8dd2c26..7e2e4abb18 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -341,9 +341,9 @@ tasks: - task: "yscope-dev-utils:remote:download-and-extract-tar" vars: CHECKSUM_FILE: "{{.G_DEPS_CORE_CHECKSUMS_DIR}}/{{.LIB_NAME}}.md5" - FILE_SHA256: "d47c703c0d1c5e755c1bfb984b68c85967683a09dadbe23772d9eb69f822d040" + FILE_SHA256: "36fa0e9d96b7307ca92482343d6ba1091c5576370676e6d423cce32c20e34a3d" OUTPUT_DIR: "{{.YSTDLIB_OUTPUT_DIR}}" - URL: "https://github.com/y-scope/ystdlib-cpp/archive/2ac1757.tar.gz" + URL: "https://github.com/y-scope/ystdlib-cpp/archive/d80cf86.tar.gz" - >- echo "set( CLP_YSTDLIB_SOURCE_DIRECTORY \"{{.YSTDLIB_OUTPUT_DIR}}\" From 91a3a9e5850ddfa22f088d9ea1e07dfa38b9502a Mon Sep 17 00:00:00 2001 From: sitaowang1998 Date: Thu, 5 Jun 2025 15:34:52 -0400 Subject: [PATCH 2/7] Remove outcome install --- taskfiles/deps/main.yaml | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index 7e2e4abb18..769d2d956f 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -62,7 +62,6 @@ tasks: - task: "fmt" - task: "log-surgeon" - task: "nlohmann_json" - - task: "outcome" - task: "simdjson" - task: "spdlog" - task: "sqlite3" @@ -191,40 +190,6 @@ tasks: # by some developers' firewalls. The contents of the former are a superset of the latter. TARBALL_URL: "https://github.com/nlohmann/json/archive/refs/tags/v3.11.3.tar.gz" - outcome: - internal: true - vars: - LIB_NAME: "outcome" - - # Paths - INSTALL_INCLUDE_DIR: "{{.G_DEPS_CORE_DIR}}/{{.LIB_NAME}}-install/include" - INSTALL_SYMLINK: "{{.INSTALL_INCLUDE_DIR}}/{{.LIB_NAME}}" - SRC_DIR: "{{.G_DEPS_CORE_DIR}}/{{.LIB_NAME}}-src" - run: "once" - deps: - - task: "utils:init" - cmds: - - task: "yscope-dev-utils:remote:download-and-extract-tar" - vars: - CHECKSUM_FILE: "{{.G_DEPS_CORE_CHECKSUMS_DIR}}/{{.LIB_NAME}}.md5" - FILE_SHA256: "14e15bda4e7c26ee42b0329d7ff746235f67bda084305c9d61297e9a521deb18" - INCLUDE_PATTERNS: - - "*/single-header" - OUTPUT_DIR: "{{.SRC_DIR}}" - - # NOTE: We use the GitHub-generated source tarball for this version rather than the - # release tarball, since the latter is served from githubusercontent.com which is blocked - # by some developers' firewalls. The source files we use are identical between the two - # tarballs. - URL: "https://github.com/ned14/outcome/archive/refs/tags/v2.2.12.tar.gz" - - "mkdir -p '{{.INSTALL_INCLUDE_DIR}}'" - - "rm -f '{{.INSTALL_SYMLINK}}'" - - "ln -s '{{.SRC_DIR}}/single-header' '{{.INSTALL_SYMLINK}}'" - - >- - echo "set( - CLP_OUTCOME_INCLUDE_DIRECTORY \"{{.INSTALL_INCLUDE_DIR}}\" - )" > "{{.G_DEPS_CORE_CMAKE_SETTINGS_DIR}}/{{.LIB_NAME}}.cmake" - simdjson: internal: true run: "once" From e863f598c11548562926e1141e95d24471c1951f Mon Sep 17 00:00:00 2001 From: sitaowang1998 Date: Thu, 5 Jun 2025 15:35:25 -0400 Subject: [PATCH 3/7] Use ystdlib::error_handling::Result instead of outcome_v2::std_result --- .../core/src/clp/ffi/KeyValuePairLogEvent.cpp | 18 +-- .../core/src/clp/ffi/KeyValuePairLogEvent.hpp | 10 +- .../src/clp/ffi/ir_stream/Deserializer.hpp | 36 ++--- .../core/src/clp/ffi/ir_stream/Serializer.cpp | 8 +- .../core/src/clp/ffi/ir_stream/Serializer.hpp | 4 +- .../ir_unit_deserialization_methods.cpp | 16 +-- .../ir_unit_deserialization_methods.hpp | 8 +- .../NewProjectedSchemaTreeNodeCallbackReq.hpp | 4 +- .../clp/ffi/ir_stream/search/QueryHandler.hpp | 10 +- .../ffi/ir_stream/search/QueryHandlerImpl.cpp | 128 +++++++++--------- .../ffi/ir_stream/search/QueryHandlerImpl.hpp | 56 ++++---- .../search/test/test_QueryHandlerImpl.cpp | 6 +- .../clp/ffi/ir_stream/search/test/utils.cpp | 6 +- .../clp/ffi/ir_stream/search/test/utils.hpp | 4 +- .../src/clp/ffi/ir_stream/search/utils.cpp | 8 +- .../src/clp/ffi/ir_stream/search/utils.hpp | 4 +- .../core/src/clp/ffi/ir_stream/utils.hpp | 8 +- .../core/src/clp/ir/LogEventDeserializer.cpp | 14 +- .../core/src/clp/ir/LogEventDeserializer.hpp | 6 +- .../regex_utils/regex_translation_utils.cpp | 6 +- .../regex_utils/regex_translation_utils.hpp | 6 +- components/core/src/clp_s/kv_ir_search.cpp | 37 +++-- components/core/src/clp_s/kv_ir_search.hpp | 4 +- .../core/src/glt/ir/LogEventDeserializer.cpp | 14 +- .../core/src/glt/ir/LogEventDeserializer.hpp | 6 +- 25 files changed, 222 insertions(+), 205 deletions(-) diff --git a/components/core/src/clp/ffi/KeyValuePairLogEvent.cpp b/components/core/src/clp/ffi/KeyValuePairLogEvent.cpp index 009d22bdad..bde593a0b7 100644 --- a/components/core/src/clp/ffi/KeyValuePairLogEvent.cpp +++ b/components/core/src/clp/ffi/KeyValuePairLogEvent.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include "../ir/EncodedTextAst.hpp" #include "../time_types.hpp" @@ -166,7 +166,7 @@ class JsonSerializationIterator { [[nodiscard]] auto get_schema_subtree_bitmap( KeyValuePairLogEvent::NodeIdValuePairs const& node_id_value_pairs, SchemaTree const& schema_tree -) -> OUTCOME_V2_NAMESPACE::std_result>; +) -> ystdlib::error_handling::Result>; /** * Inserts the given key-value pair into the JSON object (map). @@ -203,7 +203,7 @@ class JsonSerializationIterator { SchemaTree const& schema_tree, KeyValuePairLogEvent::NodeIdValuePairs const& node_id_value_pairs, vector const& schema_subtree_bitmap -) -> OUTCOME_V2_NAMESPACE::std_result; +) -> ystdlib::error_handling::Result; /** * @param node A non-root schema tree node. @@ -334,7 +334,7 @@ auto is_leaf_node( auto get_schema_subtree_bitmap( KeyValuePairLogEvent::NodeIdValuePairs const& node_id_value_pairs, SchemaTree const& schema_tree -) -> OUTCOME_V2_NAMESPACE::std_result> { +) -> ystdlib::error_handling::Result> { vector schema_subtree_bitmap(schema_tree.get_size(), false); for (auto const& [node_id, val] : node_id_value_pairs) { if (node_id >= schema_subtree_bitmap.size()) { @@ -431,7 +431,7 @@ auto serialize_node_id_value_pairs_to_json( SchemaTree const& schema_tree, KeyValuePairLogEvent::NodeIdValuePairs const& node_id_value_pairs, vector const& schema_subtree_bitmap -) -> OUTCOME_V2_NAMESPACE::std_result { +) -> ystdlib::error_handling::Result { if (node_id_value_pairs.empty()) { return nlohmann::json::object(); } @@ -531,7 +531,7 @@ auto KeyValuePairLogEvent::create( NodeIdValuePairs auto_gen_node_id_value_pairs, NodeIdValuePairs user_gen_node_id_value_pairs, UtcOffset utc_offset -) -> OUTCOME_V2_NAMESPACE::std_result { +) -> ystdlib::error_handling::Result { if (nullptr == auto_gen_keys_schema_tree || nullptr == user_gen_keys_schema_tree) { return std::errc::invalid_argument; } @@ -564,17 +564,17 @@ auto KeyValuePairLogEvent::create( } auto KeyValuePairLogEvent::get_auto_gen_keys_schema_subtree_bitmap() const - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { return get_schema_subtree_bitmap(m_auto_gen_node_id_value_pairs, *m_auto_gen_keys_schema_tree); } auto KeyValuePairLogEvent::get_user_gen_keys_schema_subtree_bitmap() const - -> outcome_v2::std_result> { + -> ystdlib::error_handling::Result> { return get_schema_subtree_bitmap(m_user_gen_node_id_value_pairs, *m_user_gen_keys_schema_tree); } auto KeyValuePairLogEvent::serialize_to_json() const - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { auto const auto_gen_keys_schema_subtree_bitmap_result{ get_auto_gen_keys_schema_subtree_bitmap() }; diff --git a/components/core/src/clp/ffi/KeyValuePairLogEvent.hpp b/components/core/src/clp/ffi/KeyValuePairLogEvent.hpp index de5b6b71f1..41bfcc2991 100644 --- a/components/core/src/clp/ffi/KeyValuePairLogEvent.hpp +++ b/components/core/src/clp/ffi/KeyValuePairLogEvent.hpp @@ -8,7 +8,7 @@ #include #include -#include +#include #include "../time_types.hpp" #include "SchemaTree.hpp" @@ -48,7 +48,7 @@ class KeyValuePairLogEvent { NodeIdValuePairs auto_gen_node_id_value_pairs, NodeIdValuePairs user_gen_node_id_value_pairs, UtcOffset utc_offset - ) -> OUTCOME_V2_NAMESPACE::std_result; + ) -> ystdlib::error_handling::Result; // Disable copy constructor and assignment operator KeyValuePairLogEvent(KeyValuePairLogEvent const&) = delete; @@ -86,7 +86,7 @@ class KeyValuePairLogEvent { * - Forwards `get_schema_subtree_bitmap`'s return values. */ [[nodiscard]] auto get_auto_gen_keys_schema_subtree_bitmap() const - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; /** * @return A result containing a bitmap where every bit corresponds to the ID of a node in the @@ -96,7 +96,7 @@ class KeyValuePairLogEvent { * - Forwards `get_schema_subtree_bitmap`'s return values. */ [[nodiscard]] auto get_user_gen_keys_schema_subtree_bitmap() const - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; [[nodiscard]] auto get_utc_offset() const -> UtcOffset { return m_utc_offset; } @@ -111,7 +111,7 @@ class KeyValuePairLogEvent { * - Forwards `serialize_node_id_value_pairs_to_json`'s return values on failure. */ [[nodiscard]] auto serialize_to_json() const - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; private: // Constructor diff --git a/components/core/src/clp/ffi/ir_stream/Deserializer.hpp b/components/core/src/clp/ffi/ir_stream/Deserializer.hpp index 9fd0ba8db3..57739066f5 100644 --- a/components/core/src/clp/ffi/ir_stream/Deserializer.hpp +++ b/components/core/src/clp/ffi/ir_stream/Deserializer.hpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include "../../ReaderInterface.hpp" #include "../../time_types.hpp" @@ -56,7 +56,7 @@ class Deserializer { * - Forwards `create_generic`'s return values. */ [[nodiscard]] static auto create(ReaderInterface& reader, IrUnitHandlerType ir_unit_handler) - -> OUTCOME_V2_NAMESPACE::std_result + -> ystdlib::error_handling::Result requires std::is_same_v { return create_generic(reader, std::move(ir_unit_handler), {}); @@ -75,7 +75,7 @@ class Deserializer { [[nodiscard]] static auto create(ReaderInterface& reader, IrUnitHandlerType ir_unit_handler, - QueryHandlerType query_handler) -> OUTCOME_V2_NAMESPACE::std_result + QueryHandlerType query_handler) -> ystdlib::error_handling::Result requires search::IsNonEmptyQueryHandler::value { return create_generic(reader, std::move(ir_unit_handler), std::move(query_handler)); @@ -138,7 +138,7 @@ class Deserializer { * unit handling failure. */ [[nodiscard]] auto deserialize_next_ir_unit(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result; + -> ystdlib::error_handling::Result; /** * @return Whether the stream has completed. A stream is considered completed if an @@ -176,7 +176,7 @@ class Deserializer { ReaderInterface& reader, IrUnitHandlerType ir_unit_handler, QueryHandlerType query_handler - ) -> OUTCOME_V2_NAMESPACE::std_result; + ) -> ystdlib::error_handling::Result; // Constructor Deserializer( @@ -206,7 +206,7 @@ class Deserializer { */ template [[nodiscard]] auto make_deserializer(ReaderInterface& reader, IrUnitHandler ir_unit_handler) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; /** * Wrapper for `Deserializer`'s factory function to enable automatic type deduction. @@ -220,14 +220,14 @@ template OUTCOME_V2_NAMESPACE::std_result>; +) -> ystdlib::error_handling::Result>; template auto Deserializer::create_generic( ReaderInterface& reader, IrUnitHandlerType ir_unit_handler, QueryHandlerType query_handler -) -> OUTCOME_V2_NAMESPACE::std_result { +) -> ystdlib::error_handling::Result { bool is_four_byte_encoded{}; if (auto const err{get_encoding_type(reader, is_four_byte_encoded)}; IRErrorCode::IRErrorCode_Success != err) @@ -278,7 +278,7 @@ auto Deserializer::create_generic( template auto Deserializer::deserialize_next_ir_unit( ReaderInterface& reader -) -> OUTCOME_V2_NAMESPACE::std_result { +) -> ystdlib::error_handling::Result { if (is_stream_completed()) { return std::errc::operation_not_permitted; } @@ -296,7 +296,7 @@ auto Deserializer::deserialize_next_ir_unit( auto const ir_unit_type{optional_ir_unit_type.value()}; switch (ir_unit_type) { case IrUnitType::LogEvent: { - auto log_event{OUTCOME_TRYX(deserialize_ir_unit_kv_pair_log_event( + auto log_event{YSTDLIB_ERROR_HANDLING_TRYX(deserialize_ir_unit_kv_pair_log_event( reader, tag, m_auto_gen_keys_schema_tree, @@ -306,7 +306,9 @@ auto Deserializer::deserialize_next_ir_unit( if constexpr (search::IsNonEmptyQueryHandler::value) { if (search::AstEvaluationResult::True - != OUTCOME_TRYX(m_query_handler.evaluate_kv_pair_log_event(log_event))) + != YSTDLIB_ERROR_HANDLING_TRYX( + m_query_handler.evaluate_kv_pair_log_event(log_event) + )) { break; } @@ -322,7 +324,7 @@ auto Deserializer::deserialize_next_ir_unit( case IrUnitType::SchemaTreeNodeInsertion: { std::string key_name; - auto const [is_auto_generated, node_locator]{OUTCOME_TRYX( + auto const [is_auto_generated, node_locator]{YSTDLIB_ERROR_HANDLING_TRYX( deserialize_ir_unit_schema_tree_node_insertion(reader, tag, key_name) )}; auto& schema_tree_to_insert{ @@ -336,7 +338,7 @@ auto Deserializer::deserialize_next_ir_unit( auto const node_id{schema_tree_to_insert->insert_node(node_locator)}; if constexpr (search::IsNonEmptyQueryHandler::value) { - OUTCOME_TRYV(m_query_handler.update_partially_resolved_columns( + YSTDLIB_ERROR_HANDLING_TRYV(m_query_handler.update_partially_resolved_columns( is_auto_generated, node_locator, node_id @@ -356,7 +358,9 @@ auto Deserializer::deserialize_next_ir_unit( } case IrUnitType::UtcOffsetChange: { - auto const new_utc_offset{OUTCOME_TRYX(deserialize_ir_unit_utc_offset_change(reader))}; + auto const new_utc_offset{ + YSTDLIB_ERROR_HANDLING_TRYX(deserialize_ir_unit_utc_offset_change(reader)) + }; if (auto const err{ m_ir_unit_handler.handle_utc_offset_change(m_utc_offset, new_utc_offset) }; @@ -388,7 +392,7 @@ auto Deserializer::deserialize_next_ir_unit( template [[nodiscard]] auto make_deserializer(ReaderInterface& reader, IrUnitHandlerType ir_unit_handler) - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { return Deserializer::create(reader, std::move(ir_unit_handler)); } @@ -397,7 +401,7 @@ template OUTCOME_V2_NAMESPACE::std_result> { +) -> ystdlib::error_handling::Result> { return Deserializer::create( reader, std::move(ir_unit_handler), diff --git a/components/core/src/clp/ffi/ir_stream/Serializer.cpp b/components/core/src/clp/ffi/ir_stream/Serializer.cpp index 0928b7485f..6f0daae71d 100644 --- a/components/core/src/clp/ffi/ir_stream/Serializer.cpp +++ b/components/core/src/clp/ffi/ir_stream/Serializer.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include "../../ir/types.hpp" #include "../../time_types.hpp" @@ -524,7 +524,7 @@ template < template auto Serializer::create( std::optional optional_user_defined_metadata -) -> OUTCOME_V2_NAMESPACE::std_result> { +) -> ystdlib::error_handling::Result> { static_assert( std::is_same_v || std::is_same_v @@ -796,10 +796,10 @@ auto Serializer::serialize_schema_tree_node( // file template auto Serializer::create( std::optional optional_user_defined_metadata -) -> OUTCOME_V2_NAMESPACE::std_result>; +) -> ystdlib::error_handling::Result>; template auto Serializer::create( std::optional optional_user_defined_metadata -) -> OUTCOME_V2_NAMESPACE::std_result>; +) -> ystdlib::error_handling::Result>; template auto Serializer::change_utc_offset(UtcOffset utc_offset) -> void; diff --git a/components/core/src/clp/ffi/ir_stream/Serializer.hpp b/components/core/src/clp/ffi/ir_stream/Serializer.hpp index 6ee93280e5..f3be1afdb9 100644 --- a/components/core/src/clp/ffi/ir_stream/Serializer.hpp +++ b/components/core/src/clp/ffi/ir_stream/Serializer.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include "../../time_types.hpp" #include "../SchemaTree.hpp" @@ -49,7 +49,7 @@ class Serializer { */ [[nodiscard]] static auto create( std::optional optional_user_defined_metadata = std::nullopt - ) -> OUTCOME_V2_NAMESPACE::std_result>; + ) -> ystdlib::error_handling::Result>; // Disable copy constructor/assignment operator Serializer(Serializer const&) = delete; diff --git a/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.cpp b/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.cpp index 6fc6a4e54d..219268a058 100644 --- a/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.cpp +++ b/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include "../../ErrorCode.hpp" #include "../../ir/EncodedTextAst.hpp" @@ -53,7 +53,7 @@ using Schema = std::vector; * @return Forwards `deserialize_and_decode_schema_tree_node_id`'s return values. */ [[nodiscard]] auto deserialize_schema_tree_node_parent_id(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; /** * Deserializes the key name of a schema tree node. @@ -112,7 +112,7 @@ deserialize_string(ReaderInterface& reader, encoded_tag_t tag, std::string& dese [[nodiscard]] auto deserialize_auto_gen_node_id_value_pairs_and_user_gen_schema( ReaderInterface& reader, encoded_tag_t& tag -) -> OUTCOME_V2_NAMESPACE::std_result>; +) -> ystdlib::error_handling::Result>; /** * Deserializes the next value and pushes the result into `node_id_value_pairs`. @@ -209,7 +209,7 @@ auto schema_tree_node_tag_to_type(encoded_tag_t tag) -> std::optional OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { encoded_tag_t tag{}; if (auto const err{deserialize_tag(reader, tag)}; IRErrorCode::IRErrorCode_Success != err) { return ir_error_code_to_errc(err); @@ -301,7 +301,7 @@ auto deserialize_string(ReaderInterface& reader, encoded_tag_t tag, std::string& auto deserialize_auto_gen_node_id_value_pairs_and_user_gen_schema( ReaderInterface& reader, encoded_tag_t& tag -) -> OUTCOME_V2_NAMESPACE::std_result> { +) -> ystdlib::error_handling::Result> { KeyValuePairLogEvent::NodeIdValuePairs auto_gen_node_id_value_pairs; Schema user_gen_schema; @@ -567,7 +567,7 @@ auto deserialize_ir_unit_schema_tree_node_insertion( ReaderInterface& reader, encoded_tag_t tag, std::string& key_name -) -> OUTCOME_V2_NAMESPACE::std_result> { +) -> ystdlib::error_handling::Result> { auto const type{schema_tree_node_tag_to_type(tag)}; if (false == type.has_value()) { return ir_error_code_to_errc(IRErrorCode::IRErrorCode_Corrupted_IR); @@ -588,7 +588,7 @@ auto deserialize_ir_unit_schema_tree_node_insertion( } auto deserialize_ir_unit_utc_offset_change(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result { + -> ystdlib::error_handling::Result { UtcOffset utc_offset{0}; if (auto const err{deserialize_utc_offset_change(reader, utc_offset)}; IRErrorCode::IRErrorCode_Success != err) @@ -604,7 +604,7 @@ auto deserialize_ir_unit_kv_pair_log_event( std::shared_ptr auto_gen_keys_schema_tree, std::shared_ptr user_gen_keys_schema_tree, UtcOffset utc_offset -) -> OUTCOME_V2_NAMESPACE::std_result { +) -> ystdlib::error_handling::Result { auto auto_gen_node_id_value_pairs_and_user_gen_schema_result{ deserialize_auto_gen_node_id_value_pairs_and_user_gen_schema(reader, tag) }; diff --git a/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.hpp b/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.hpp index cbd1563a78..92fe973595 100644 --- a/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.hpp +++ b/components/core/src/clp/ffi/ir_stream/ir_unit_deserialization_methods.hpp @@ -6,7 +6,7 @@ #include #include -#include +#include #include "../../ReaderInterface.hpp" #include "../../time_types.hpp" @@ -43,7 +43,7 @@ namespace clp::ffi::ir_stream { ReaderInterface& reader, encoded_tag_t tag, std::string& key_name -) -> OUTCOME_V2_NAMESPACE::std_result>; +) -> ystdlib::error_handling::Result>; /** * Deserializes a UTC offset change IR unit. @@ -53,7 +53,7 @@ namespace clp::ffi::ir_stream { * - Forwards `clp::ffi::ir_stream::deserialize_utc_offset_change`'s return values. */ [[nodiscard]] auto deserialize_ir_unit_utc_offset_change(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result; + -> ystdlib::error_handling::Result; /** * Deserializes a key-value pair log event IR unit. @@ -79,7 +79,7 @@ namespace clp::ffi::ir_stream { std::shared_ptr auto_gen_keys_schema_tree, std::shared_ptr user_gen_keys_schema_tree, UtcOffset utc_offset -) -> OUTCOME_V2_NAMESPACE::std_result; +) -> ystdlib::error_handling::Result; } // namespace clp::ffi::ir_stream #endif // CLP_FFI_IR_STREAM_IR_UNIT_DESERIALIZATION_METHODS_HPP diff --git a/components/core/src/clp/ffi/ir_stream/search/NewProjectedSchemaTreeNodeCallbackReq.hpp b/components/core/src/clp/ffi/ir_stream/search/NewProjectedSchemaTreeNodeCallbackReq.hpp index 4c114def3a..08ef588ab9 100644 --- a/components/core/src/clp/ffi/ir_stream/search/NewProjectedSchemaTreeNodeCallbackReq.hpp +++ b/components/core/src/clp/ffi/ir_stream/search/NewProjectedSchemaTreeNodeCallbackReq.hpp @@ -4,7 +4,7 @@ #include #include -#include +#include #include "../../SchemaTree.hpp" @@ -23,7 +23,7 @@ namespace clp::ffi::ir_stream::search { */ template concept NewProjectedSchemaTreeNodeCallbackReq = std::is_invocable_r_v< - outcome_v2::std_result, + ystdlib::error_handling::Result, NewProjectedSchemaTreeNodeCallbackType, bool, SchemaTree::Node::id_t, diff --git a/components/core/src/clp/ffi/ir_stream/search/QueryHandler.hpp b/components/core/src/clp/ffi/ir_stream/search/QueryHandler.hpp index 78f51a4fc3..39cc8ef620 100644 --- a/components/core/src/clp/ffi/ir_stream/search/QueryHandler.hpp +++ b/components/core/src/clp/ffi/ir_stream/search/QueryHandler.hpp @@ -6,7 +6,7 @@ #include #include -#include +#include #include "../../../../clp_s/search/ast/Expression.hpp" #include "../../../../clp_s/search/ast/Literal.hpp" @@ -43,10 +43,10 @@ class QueryHandler { std::vector> const& projections, bool case_sensitive_match - ) -> outcome_v2::std_result { + ) -> ystdlib::error_handling::Result { return QueryHandler{ new_projected_schema_tree_node_callback, - OUTCOME_TRYX( + YSTDLIB_ERROR_HANDLING_TRYX( QueryHandlerImpl::create( std::move(query), projections, @@ -80,7 +80,7 @@ class QueryHandler { bool is_auto_generated, SchemaTree::NodeLocator const& node_locator, SchemaTree::Node::id_t node_id - ) -> outcome_v2::std_result { + ) -> ystdlib::error_handling::Result { return m_query_handler_impl.update_partially_resolved_columns( is_auto_generated, node_locator, @@ -97,7 +97,7 @@ class QueryHandler { * - Forwards `QueryHandlerImpl::evaluate_kv_pair_log_event`'s return values. */ [[nodiscard]] auto evaluate_kv_pair_log_event(KeyValuePairLogEvent const& log_event) - -> outcome_v2::std_result { + -> ystdlib::error_handling::Result { return m_query_handler_impl.evaluate_kv_pair_log_event(log_event); } diff --git a/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.cpp b/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.cpp index 4e323a5c05..db8cf3c61f 100644 --- a/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.cpp +++ b/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include "../../../../clp_s/archive_constants.hpp" #include "../../../../clp_s/search/ast/AndExpr.hpp" @@ -49,7 +49,7 @@ using clp_s::search::ast::literal_type_bitmask_t; * - ErrorCodeEnum::QueryTransformationPassFailed if any of the transformation pass failed. */ [[nodiscard]] auto preprocess_query(std::shared_ptr query) - -> outcome_v2::std_result>; + -> ystdlib::error_handling::Result>; /** * Creates column descriptors and column-to-original-key map from the given projections. @@ -67,7 +67,7 @@ using clp_s::search::ast::literal_type_bitmask_t; [[nodiscard]] auto create_projected_columns_and_projection_map( std::vector> const& projections ) - -> outcome_v2::std_result ystdlib::error_handling::Result>, QueryHandlerImpl::ProjectionMap>>; @@ -88,7 +88,7 @@ using clp_s::search::ast::literal_type_bitmask_t; std::shared_ptr const& query, QueryHandlerImpl::ProjectionMap const& projected_column_to_original_key ) - -> outcome_v2::std_result ystdlib::error_handling::Result>; @@ -105,7 +105,7 @@ using clp_s::search::ast::literal_type_bitmask_t; std::shared_ptr const& root, QueryHandlerImpl::PartialResolutionMap& auto_gen_namespace_partial_resolutions, QueryHandlerImpl::PartialResolutionMap& user_gen_namespace_partial_resolutions -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; /** * @param key_namespace @@ -133,7 +133,7 @@ using clp_s::search::ast::literal_type_bitmask_t; std::optional const& value, SchemaTree const& schema_tree, bool case_sensitive_match -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; /** * Evaluates a wildcard filter expression. @@ -150,10 +150,10 @@ using clp_s::search::ast::literal_type_bitmask_t; KeyValuePairLogEvent::NodeIdValuePairs const& node_id_value_pairs, SchemaTree const& schema_tree, bool case_sensitive_match -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; auto preprocess_query(std::shared_ptr query) - -> outcome_v2::std_result> { + -> ystdlib::error_handling::Result> { if (nullptr == query) { return query; } @@ -184,7 +184,7 @@ auto preprocess_query(std::shared_ptr query) auto create_projected_columns_and_projection_map( std::vector> const& projections ) - -> outcome_v2::std_result ystdlib::error_handling::Result>, QueryHandlerImpl::ProjectionMap>> { std::unordered_set unique_projected_columns; @@ -234,7 +234,7 @@ auto create_initial_partial_resolutions( std::shared_ptr const& query, QueryHandlerImpl::ProjectionMap const& projected_column_to_original_key ) - -> outcome_v2::std_result ystdlib::error_handling::Result> { QueryHandlerImpl::PartialResolutionMap auto_gen_namespace_partial_resolutions; @@ -253,12 +253,12 @@ auto create_initial_partial_resolutions( SchemaTree::cRootId, std::vector{} ); - it->second.emplace_back( - OUTCOME_TRYX(QueryHandlerImpl::ColumnDescriptorTokenIterator::create(col)) - ); + it->second.emplace_back(YSTDLIB_ERROR_HANDLING_TRYX( + QueryHandlerImpl::ColumnDescriptorTokenIterator::create(col) + )); } - OUTCOME_TRYV(initialize_partial_resolution_from_search_ast( + YSTDLIB_ERROR_HANDLING_TRYV(initialize_partial_resolution_from_search_ast( query, auto_gen_namespace_partial_resolutions, user_gen_namespace_partial_resolutions @@ -272,9 +272,9 @@ auto initialize_partial_resolution_from_search_ast( std::shared_ptr const& root, QueryHandlerImpl::PartialResolutionMap& auto_gen_namespace_partial_resolutions, QueryHandlerImpl::PartialResolutionMap& user_gen_namespace_partial_resolutions -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { if (nullptr == root) { - return outcome_v2::success(); + return ystdlib::error_handling::success(); } std::vector ast_dfs_stack; @@ -320,17 +320,17 @@ auto initialize_partial_resolution_from_search_ast( std::vector{} ); - auto const begin_token_it{ - OUTCOME_TRYX(QueryHandlerImpl::ColumnDescriptorTokenIterator::create(col)) - }; + auto const begin_token_it{YSTDLIB_ERROR_HANDLING_TRYX( + QueryHandlerImpl::ColumnDescriptorTokenIterator::create(col) + )}; it->second.emplace_back(begin_token_it); if (false == begin_token_it.is_last() && begin_token_it.is_wildcard()) { // To handle the case where the prefix wildcard matches nothing - it->second.emplace_back(OUTCOME_TRYX(begin_token_it.next())); + it->second.emplace_back(YSTDLIB_ERROR_HANDLING_TRYX(begin_token_it.next())); } } - return outcome_v2::success(); + return ystdlib::error_handling::success(); } auto is_auto_generated(std::string_view key_namespace) -> std::optional { @@ -349,7 +349,7 @@ auto evaluate_filter_against_node_id_value_pair( std::optional const& value, SchemaTree const& schema_tree, bool case_sensitive_match -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { try { auto const node_type{schema_tree.get_node(node_id).get_type()}; auto const literal_type{schema_tree_node_type_value_pair_to_literal_type(node_type, value)}; @@ -381,16 +381,18 @@ auto evaluate_wildcard_filter( KeyValuePairLogEvent::NodeIdValuePairs const& node_id_value_pairs, SchemaTree const& schema_tree, bool case_sensitive_match -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { ast_evaluation_result_bitmask_t evaluation_results{}; for (auto const& [node_id, value] : node_id_value_pairs) { - auto const evaluation_result{OUTCOME_TRYX(evaluate_filter_against_node_id_value_pair( - filter_expr, - node_id, - value, - schema_tree, - case_sensitive_match - ))}; + auto const evaluation_result{ + YSTDLIB_ERROR_HANDLING_TRYX(evaluate_filter_against_node_id_value_pair( + filter_expr, + node_id, + value, + schema_tree, + case_sensitive_match + )) + }; if (AstEvaluationResult::True == evaluation_result) { return AstEvaluationResult::True; } @@ -407,12 +409,12 @@ auto QueryHandlerImpl::create( std::shared_ptr query, std::vector> const& projections, bool case_sensitive_match -) -> outcome_v2::std_result { - query = OUTCOME_TRYX(preprocess_query(query)); +) -> ystdlib::error_handling::Result { + query = YSTDLIB_ERROR_HANDLING_TRYX(preprocess_query(query)); auto [projected_columns, projected_column_to_original_key] - = OUTCOME_TRYX(create_projected_columns_and_projection_map(projections)); + = YSTDLIB_ERROR_HANDLING_TRYX(create_projected_columns_and_projection_map(projections)); auto [auto_gen_namespace_partial_resolutions, user_gen_namespace_partial_resolutions] - = OUTCOME_TRYX( + = YSTDLIB_ERROR_HANDLING_TRYX( create_initial_partial_resolutions(query, projected_column_to_original_key) ); @@ -427,7 +429,7 @@ auto QueryHandlerImpl::create( } auto QueryHandlerImpl::evaluate_kv_pair_log_event(KeyValuePairLogEvent const& log_event) - -> outcome_v2::std_result { + -> ystdlib::error_handling::Result { if (nullptr == m_query) { return AstEvaluationResult::True; } @@ -438,9 +440,11 @@ auto QueryHandlerImpl::evaluate_kv_pair_log_event(KeyValuePairLogEvent const& lo std::optional optional_evaluation_result; m_ast_dfs_stack.clear(); - push_to_ast_dfs_stack(OUTCOME_TRYX(AstExprIterator::create(m_query.get()))); + push_to_ast_dfs_stack(YSTDLIB_ERROR_HANDLING_TRYX(AstExprIterator::create(m_query.get()))); while (false == m_ast_dfs_stack.empty()) { - OUTCOME_TRYV(advance_ast_dfs_evaluation(log_event, optional_evaluation_result)); + YSTDLIB_ERROR_HANDLING_TRYV( + advance_ast_dfs_evaluation(log_event, optional_evaluation_result) + ); } if (false == optional_evaluation_result.has_value()) { @@ -451,7 +455,7 @@ auto QueryHandlerImpl::evaluate_kv_pair_log_event(KeyValuePairLogEvent const& lo } auto QueryHandlerImpl::AstExprIterator::create(clp_s::search::ast::Value* expr) - -> outcome_v2::std_result { + -> ystdlib::error_handling::Result { if (auto* and_expr{dynamic_cast(expr)}; nullptr != and_expr) { return AstExprIterator{ ExprVariant{and_expr}, @@ -485,7 +489,7 @@ auto QueryHandlerImpl::AstExprIterator::create(clp_s::search::ast::Value* expr) } auto QueryHandlerImpl::AstExprIterator::next_op() - -> std::optional> { + -> std::optional> { if (m_op_end_it == m_op_next_it) { return std::nullopt; } @@ -498,11 +502,11 @@ auto QueryHandlerImpl::AstExprIterator::next_op() auto QueryHandlerImpl::evaluate_filter_expr( clp_s::search::ast::FilterExpr* filter_expr, KeyValuePairLogEvent const& log_event -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { auto* col{filter_expr->get_column().get()}; if (col->is_pure_wildcard()) { - auto const auto_gen_evaluation_result{OUTCOME_TRYX(evaluate_wildcard_filter( + auto const auto_gen_evaluation_result{YSTDLIB_ERROR_HANDLING_TRYX(evaluate_wildcard_filter( filter_expr, log_event.get_auto_gen_node_id_value_pairs(), log_event.get_auto_gen_keys_schema_tree(), @@ -512,7 +516,7 @@ auto QueryHandlerImpl::evaluate_filter_expr( return AstEvaluationResult::True; } - auto const user_gen_evaluation_result{OUTCOME_TRYX(evaluate_wildcard_filter( + auto const user_gen_evaluation_result{YSTDLIB_ERROR_HANDLING_TRYX(evaluate_wildcard_filter( filter_expr, log_event.get_user_gen_node_id_value_pairs(), log_event.get_user_gen_keys_schema_tree(), @@ -553,13 +557,15 @@ auto QueryHandlerImpl::evaluate_filter_expr( if (false == node_id_value_pairs.contains(matchable_node_id)) { continue; } - auto const evaluation_result{OUTCOME_TRYX(evaluate_filter_against_node_id_value_pair( - filter_expr, - matchable_node_id, - node_id_value_pairs.at(matchable_node_id), - schema_tree, - m_case_sensitive_match - ))}; + auto const evaluation_result{ + YSTDLIB_ERROR_HANDLING_TRYX(evaluate_filter_against_node_id_value_pair( + filter_expr, + matchable_node_id, + node_id_value_pairs.at(matchable_node_id), + schema_tree, + m_case_sensitive_match + )) + }; if (AstEvaluationResult::True == evaluation_result) { return AstEvaluationResult::True; } @@ -593,14 +599,14 @@ auto QueryHandlerImpl::pop_from_ast_dfs_stack_and_update_evaluation_results( auto QueryHandlerImpl::advance_ast_dfs_evaluation( KeyValuePairLogEvent const& log_event, std::optional& query_evaluation_result -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { auto& [expr_it, evaluation_results] = m_ast_dfs_stack.back(); if (auto* filter_expr{expr_it.as_filter_expr()}; nullptr != filter_expr) { pop_from_ast_dfs_stack_and_update_evaluation_results( - OUTCOME_TRYX(evaluate_filter_expr(filter_expr, log_event)), + YSTDLIB_ERROR_HANDLING_TRYX(evaluate_filter_expr(filter_expr, log_event)), query_evaluation_result ); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } if (auto const* and_expr{expr_it.as_and_expr()}; nullptr != and_expr) { @@ -610,25 +616,25 @@ auto QueryHandlerImpl::advance_ast_dfs_evaluation( AstEvaluationResult::Pruned, query_evaluation_result ); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } if (0 != (evaluation_results & AstEvaluationResult::False)) { pop_from_ast_dfs_stack_and_update_evaluation_results( AstEvaluationResult::False, query_evaluation_result ); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } auto const optional_next_op_it{expr_it.next_op()}; if (optional_next_op_it.has_value()) { - push_to_ast_dfs_stack(OUTCOME_TRYX(optional_next_op_it.value())); + push_to_ast_dfs_stack(YSTDLIB_ERROR_HANDLING_TRYX(optional_next_op_it.value())); } else { pop_from_ast_dfs_stack_and_update_evaluation_results( AstEvaluationResult::True, query_evaluation_result ); } - return outcome_v2::success(); + return ystdlib::error_handling::success(); } // Handle `OrExpr` evaluation @@ -641,19 +647,19 @@ auto QueryHandlerImpl::advance_ast_dfs_evaluation( AstEvaluationResult::True, query_evaluation_result ); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } auto const optional_next_op_it{expr_it.next_op()}; if (optional_next_op_it.has_value()) { - push_to_ast_dfs_stack(OUTCOME_TRYX(optional_next_op_it.value())); - return outcome_v2::success(); + push_to_ast_dfs_stack(YSTDLIB_ERROR_HANDLING_TRYX(optional_next_op_it.value())); + return ystdlib::error_handling::success(); } if (0 != (evaluation_results & AstEvaluationResult::False)) { pop_from_ast_dfs_stack_and_update_evaluation_results( AstEvaluationResult::False, query_evaluation_result ); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } // All pruned @@ -661,6 +667,6 @@ auto QueryHandlerImpl::advance_ast_dfs_evaluation( AstEvaluationResult::Pruned, query_evaluation_result ); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } } // namespace clp::ffi::ir_stream::search diff --git a/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.hpp b/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.hpp index cfc5d25d07..25c868df05 100644 --- a/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.hpp +++ b/components/core/src/clp/ffi/ir_stream/search/QueryHandlerImpl.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include "../../../../clp_s/search/ast/AndExpr.hpp" #include "../../../../clp_s/search/ast/ColumnDescriptor.hpp" @@ -50,7 +50,7 @@ class QueryHandlerImpl { * tokens. */ [[nodiscard]] static auto create(clp_s::search::ast::ColumnDescriptor* column_descriptor) - -> outcome_v2::std_result { + -> ystdlib::error_handling::Result { auto const token_begin_it{column_descriptor->descriptor_begin()}; if (column_descriptor->descriptor_end() == token_begin_it) { return ErrorCode{ErrorCodeEnum::ColumnDescriptorTokenIteratorOutOfBounds}; @@ -72,7 +72,8 @@ class QueryHandlerImpl { * - ErrorCodeEnum::ColumnDescriptorTokenIteratorOutOfBounds if the current token is already * the last one. */ - [[nodiscard]] auto next() const -> outcome_v2::std_result { + [[nodiscard]] auto next() const + -> ystdlib::error_handling::Result { if (is_last()) { return ErrorCode{ErrorCodeEnum::ColumnDescriptorTokenIteratorOutOfBounds}; } @@ -137,7 +138,7 @@ class QueryHandlerImpl { std::vector> const& projections, bool case_sensitive_match - ) -> outcome_v2::std_result; + ) -> ystdlib::error_handling::Result; // Delete copy constructor and assignment operator QueryHandlerImpl(QueryHandlerImpl const&) = delete; @@ -161,7 +162,7 @@ class QueryHandlerImpl { * - Forwards `advance_ast_dfs_evaluation`'s return values. */ [[nodiscard]] auto evaluate_kv_pair_log_event(KeyValuePairLogEvent const& log_event) - -> outcome_v2::std_result; + -> ystdlib::error_handling::Result; /** * Implementation of `QueryHandler::update_partially_resolved_columns` with new projected @@ -182,7 +183,7 @@ class QueryHandlerImpl { SchemaTree::NodeLocator const& node_locator, SchemaTree::Node::id_t node_id, NewProjectedSchemaTreeNodeCallbackType new_projected_schema_tree_node_callback - ) -> outcome_v2::std_result; + ) -> ystdlib::error_handling::Result; [[nodiscard]] auto get_resolved_column_to_schema_tree_node_ids() const -> std::unordered_map< clp_s::search::ast::ColumnDescriptor*, @@ -209,7 +210,7 @@ class QueryHandlerImpl { * - clp_s::search::ast::OrExpr */ [[nodiscard]] static auto create(clp_s::search::ast::Value* expr) - -> outcome_v2::std_result; + -> ystdlib::error_handling::Result; // Methods /** @@ -221,7 +222,8 @@ class QueryHandlerImpl { * - Forwards `create`'s return values. * @return std::nullopt if there are no more child operators to visit. */ - [[nodiscard]] auto next_op() -> std::optional>; + [[nodiscard]] auto next_op() + -> std::optional>; /** * @return The underlying expression as `clp_s::search::ast::AndExpr` if the underlying type @@ -327,7 +329,7 @@ class QueryHandlerImpl { SchemaTree::NodeLocator const& node_locator, ColumnDescriptorTokenIterator const& token_it, NewProjectedSchemaTreeNodeCallbackType new_projected_schema_tree_node_callback - ) -> outcome_v2::std_result; + ) -> ystdlib::error_handling::Result; /** * Evaluates the filter expression against the given kv-pair log event. @@ -343,7 +345,7 @@ class QueryHandlerImpl { [[nodiscard]] auto evaluate_filter_expr( clp_s::search::ast::FilterExpr* filter_expr, KeyValuePairLogEvent const& log_event - ) -> outcome_v2::std_result; + ) -> ystdlib::error_handling::Result; auto push_to_ast_dfs_stack(AstExprIterator ast_expr_it) -> void { m_ast_dfs_stack.emplace_back(ast_expr_it, ast_evaluation_result_bitmask_t{}); @@ -374,7 +376,7 @@ class QueryHandlerImpl { [[nodiscard]] auto advance_ast_dfs_evaluation( KeyValuePairLogEvent const& log_event, std::optional& query_evaluation_result - ) -> outcome_v2::std_result; + ) -> ystdlib::error_handling::Result; // Variables std::shared_ptr m_query; @@ -397,20 +399,20 @@ auto QueryHandlerImpl::update_partially_resolved_columns( SchemaTree::NodeLocator const& node_locator, SchemaTree::Node::id_t node_id, NewProjectedSchemaTreeNodeCallbackType new_projected_schema_tree_node_callback -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { auto const parent_node_id{node_locator.get_parent_id()}; auto& partial_resolutions_to_update{ is_auto_generated ? m_auto_gen_namespace_partial_resolutions : m_user_gen_namespace_partial_resolutions }; if (false == partial_resolutions_to_update.contains(parent_node_id)) { - return outcome_v2::success(); + return ystdlib::error_handling::success(); } std::vector> new_partial_resolutions; for (auto const& token_it : partial_resolutions_to_update.at(parent_node_id)) { - OUTCOME_TRYV(handle_column_resolution_on_new_schema_tree_node( + YSTDLIB_ERROR_HANDLING_TRYV(handle_column_resolution_on_new_schema_tree_node( is_auto_generated, node_id, node_locator, @@ -432,7 +434,10 @@ auto QueryHandlerImpl::update_partially_resolved_columns( // match. new_partial_resolutions.emplace_back(node_id, token_it); if (false == token_it.is_last()) { - new_partial_resolutions.emplace_back(node_id, OUTCOME_TRYX(token_it.next())); + new_partial_resolutions.emplace_back( + node_id, + YSTDLIB_ERROR_HANDLING_TRYX(token_it.next()) + ); } continue; } @@ -443,11 +448,14 @@ auto QueryHandlerImpl::update_partially_resolved_columns( continue; } - auto const next_token_it{OUTCOME_TRYX(token_it.next())}; + auto const next_token_it{YSTDLIB_ERROR_HANDLING_TRYX(token_it.next())}; new_partial_resolutions.emplace_back(node_id, next_token_it); if (false == next_token_it.is_last() && next_token_it.is_wildcard()) { // Handle the case where the wildcard matches nothing - new_partial_resolutions.emplace_back(node_id, OUTCOME_TRYX(next_token_it.next())); + new_partial_resolutions.emplace_back( + node_id, + YSTDLIB_ERROR_HANDLING_TRYX(next_token_it.next()) + ); } } @@ -459,7 +467,7 @@ auto QueryHandlerImpl::update_partially_resolved_columns( it->second.emplace_back(token_it); } - return outcome_v2::success(); + return ystdlib::error_handling::success(); } template @@ -469,9 +477,9 @@ auto QueryHandlerImpl::handle_column_resolution_on_new_schema_tree_node( SchemaTree::NodeLocator const& node_locator, QueryHandlerImpl::ColumnDescriptorTokenIterator const& token_it, NewProjectedSchemaTreeNodeCallbackType new_projected_schema_tree_node_callback -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { if ((false == token_it.is_last() - && false == OUTCOME_TRYX(token_it.next()).is_trailing_wildcard()) + && false == YSTDLIB_ERROR_HANDLING_TRYX(token_it.next()).is_trailing_wildcard()) || false == token_it.match_schema_tree_node_type(node_locator.get_type()) || (false == token_it.is_wildcard() && token_it.get_token() != node_locator.get_key_name())) { @@ -480,17 +488,17 @@ auto QueryHandlerImpl::handle_column_resolution_on_new_schema_tree_node( // - doesn't match the new node's type // - is neither a wildcard nor equal to the new node's key // There should be no resolution. - return outcome_v2::success(); + return ystdlib::error_handling::success(); } auto* col{token_it.get_column_descriptor()}; if (m_projected_column_to_original_key.contains(col)) { - OUTCOME_TRYV(new_projected_schema_tree_node_callback( + YSTDLIB_ERROR_HANDLING_TRYV(new_projected_schema_tree_node_callback( is_auto_generated, node_id, m_projected_column_to_original_key.at(col) )); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } auto [it, inserted] = m_resolved_column_to_schema_tree_node_ids.try_emplace( @@ -498,7 +506,7 @@ auto QueryHandlerImpl::handle_column_resolution_on_new_schema_tree_node( std::unordered_set{} ); it->second.emplace(node_id); - return outcome_v2::success(); + return ystdlib::error_handling::success(); } } // namespace clp::ffi::ir_stream::search diff --git a/components/core/src/clp/ffi/ir_stream/search/test/test_QueryHandlerImpl.cpp b/components/core/src/clp/ffi/ir_stream/search/test/test_QueryHandlerImpl.cpp index e001ddd1b3..732bcb936c 100644 --- a/components/core/src/clp/ffi/ir_stream/search/test/test_QueryHandlerImpl.cpp +++ b/components/core/src/clp/ffi/ir_stream/search/test/test_QueryHandlerImpl.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "../../../../../clp_s/archive_constants.hpp" #include "../../../../../clp_s/search/ast/Expression.hpp" @@ -529,7 +529,7 @@ TEST_CASE("query_handler_handle_projection", "[ffi][ir_stream][search][QueryHand auto new_projected_schema_tree_node_callback = [&](bool is_auto_gen, SchemaTree::Node::id_t node_id, - std::string_view key) -> outcome_v2::std_result { + std::string_view key) -> ystdlib::error_handling::Result { REQUIRE((is_auto_generated == is_auto_gen)); auto [column_it, column_inserted] = actual_resolved_projections.try_emplace( std::string{key}, @@ -537,7 +537,7 @@ TEST_CASE("query_handler_handle_projection", "[ffi][ir_stream][search][QueryHand ); auto [node_id_it, node_id_inserted] = column_it->second.emplace(node_id); REQUIRE(node_id_inserted); - return outcome_v2::success(); + return ystdlib::error_handling::success(); }; for (auto const& locator : locators) { REQUIRE_FALSE(query_handler_impl diff --git a/components/core/src/clp/ffi/ir_stream/search/test/utils.cpp b/components/core/src/clp/ffi/ir_stream/search/test/utils.cpp index 7cac925131..bd8be0e6ed 100644 --- a/components/core/src/clp/ffi/ir_stream/search/test/utils.cpp +++ b/components/core/src/clp/ffi/ir_stream/search/test/utils.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include "../../../../../clp_s/search/ast/Literal.hpp" #include "../../../SchemaTree.hpp" @@ -68,8 +68,8 @@ auto trivial_new_projected_schema_tree_node_callback( [[maybe_unused]] bool is_auto_generated, [[maybe_unused]] SchemaTree::Node::id_t node_id, [[maybe_unused]] std::string_view projected_key_path -) -> outcome_v2::std_result { - return outcome_v2::success(); +) -> ystdlib::error_handling::Result { + return ystdlib::error_handling::success(); } auto get_schema_tree_column_queries(std::shared_ptr const& schema_tree) diff --git a/components/core/src/clp/ffi/ir_stream/search/test/utils.hpp b/components/core/src/clp/ffi/ir_stream/search/test/utils.hpp index a29bb40f35..913f0d1b99 100644 --- a/components/core/src/clp/ffi/ir_stream/search/test/utils.hpp +++ b/components/core/src/clp/ffi/ir_stream/search/test/utils.hpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include "../../../../../clp_s/search/ast/Literal.hpp" #include "../../../../ir/EncodedTextAst.hpp" @@ -81,7 +81,7 @@ class ColumnQueryPossibleMatches { bool is_auto_generated, SchemaTree::Node::id_t node_id, std::string_view projected_key_path -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; /** * Gets all possible column queries to every single node in the schema-tree with a bitmask diff --git a/components/core/src/clp/ffi/ir_stream/search/utils.cpp b/components/core/src/clp/ffi/ir_stream/search/utils.cpp index 20a780c41e..95e5756cd3 100644 --- a/components/core/src/clp/ffi/ir_stream/search/utils.cpp +++ b/components/core/src/clp/ffi/ir_stream/search/utils.cpp @@ -6,8 +6,8 @@ #include #include -#include #include +#include #include "../../../../clp_s/search/ast/FilterExpr.hpp" #include "../../../../clp_s/search/ast/FilterOperation.hpp" @@ -128,7 +128,7 @@ requires std::same_as || std::same_as const& operand, Value const& value, bool case_sensitive_match -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; template requires std::same_as || std::same_as @@ -253,7 +253,7 @@ auto evaluate_clp_string_filter_op( std::shared_ptr const& operand, Value const& value, bool case_sensitive_match -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { std::string filter_operand; if (false == operand->as_clp_string(filter_operand, op)) { return false; @@ -339,7 +339,7 @@ auto evaluate_filter_against_literal_type_value_pair( LiteralType literal_type, std::optional const& value, bool case_sensitive_match -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { auto const op{filter->get_operation()}; if (FilterOperation::EXISTS == op) { return true; diff --git a/components/core/src/clp/ffi/ir_stream/search/utils.hpp b/components/core/src/clp/ffi/ir_stream/search/utils.hpp index e2ee2394c8..5901f4f6d0 100644 --- a/components/core/src/clp/ffi/ir_stream/search/utils.hpp +++ b/components/core/src/clp/ffi/ir_stream/search/utils.hpp @@ -3,7 +3,7 @@ #include -#include +#include #include "../../../../clp_s/search/ast/FilterExpr.hpp" #include "../../../../clp_s/search/ast/Literal.hpp" @@ -50,7 +50,7 @@ namespace clp::ffi::ir_stream::search { clp_s::search::ast::LiteralType literal_type, std::optional const& value, bool case_sensitive_match -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; } // namespace clp::ffi::ir_stream::search #endif // CLP_FFI_IR_STREAM_SEARCH_UTILS_HPP diff --git a/components/core/src/clp/ffi/ir_stream/utils.hpp b/components/core/src/clp/ffi/ir_stream/utils.hpp index ad20110d47..0587becc5a 100644 --- a/components/core/src/clp/ffi/ir_stream/utils.hpp +++ b/components/core/src/clp/ffi/ir_stream/utils.hpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include "../../ErrorCode.hpp" #include "../../ir/types.hpp" @@ -124,7 +124,7 @@ template < [[nodiscard]] auto deserialize_and_decode_schema_tree_node_id( encoded_tag_t length_indicator_tag, ReaderInterface& reader -) -> OUTCOME_V2_NAMESPACE::std_result>; +) -> ystdlib::error_handling::Result>; /** * @param ir_error_code @@ -240,10 +240,10 @@ template < auto deserialize_and_decode_schema_tree_node_id( encoded_tag_t length_indicator_tag, ReaderInterface& reader -) -> OUTCOME_V2_NAMESPACE::std_result> { +) -> ystdlib::error_handling::Result> { auto size_dependent_deserialize_and_decode_schema_tree_node_id = [&reader]() - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { encoded_node_id_t encoded_node_id{}; if (false == deserialize_int(reader, encoded_node_id)) { return std::errc::result_out_of_range; diff --git a/components/core/src/clp/ir/LogEventDeserializer.cpp b/components/core/src/clp/ir/LogEventDeserializer.cpp index 6320dc26b5..42f229eb6e 100644 --- a/components/core/src/clp/ir/LogEventDeserializer.cpp +++ b/components/core/src/clp/ir/LogEventDeserializer.cpp @@ -3,8 +3,8 @@ #include #include -#include #include +#include #include "../ffi/ir_stream/decoding_methods.hpp" #include "../ffi/ir_stream/protocol_constants.hpp" @@ -14,7 +14,7 @@ namespace clp::ir { template auto LogEventDeserializer::create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { ffi::ir_stream::encoded_tag_t metadata_type{0}; std::vector metadata; auto ir_error_code = ffi::ir_stream::deserialize_preamble(reader, metadata_type, metadata); @@ -70,7 +70,7 @@ auto LogEventDeserializer::create(ReaderInterface& reader) template auto LogEventDeserializer::deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { // Process any packets before the log event ffi::ir_stream::encoded_tag_t tag{}; while (true) { @@ -135,11 +135,11 @@ auto LogEventDeserializer::deserialize_log_event() // Explicitly declare template specializations so that we can define the template methods in this // file template auto LogEventDeserializer::create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; template auto LogEventDeserializer::create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; template auto LogEventDeserializer::deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; template auto LogEventDeserializer::deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; } // namespace clp::ir diff --git a/components/core/src/clp/ir/LogEventDeserializer.hpp b/components/core/src/clp/ir/LogEventDeserializer.hpp index 0edcdbf8fa..1d0d9651fe 100644 --- a/components/core/src/clp/ir/LogEventDeserializer.hpp +++ b/components/core/src/clp/ir/LogEventDeserializer.hpp @@ -3,7 +3,7 @@ #include -#include +#include #include "../ReaderInterface.hpp" #include "../time_types.hpp" @@ -35,7 +35,7 @@ class LogEventDeserializer { * or uses an unsupported version */ static auto create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; // Delete copy constructor and assignment LogEventDeserializer(LogEventDeserializer const&) = delete; @@ -62,7 +62,7 @@ class LogEventDeserializer { * - std::errc::protocol_error if the IR stream is corrupted */ [[nodiscard]] auto deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; private: // Constructors diff --git a/components/core/src/clp/regex_utils/regex_translation_utils.cpp b/components/core/src/clp/regex_utils/regex_translation_utils.cpp index d3f2882313..fdbe4d92ff 100644 --- a/components/core/src/clp/regex_utils/regex_translation_utils.cpp +++ b/components/core/src/clp/regex_utils/regex_translation_utils.cpp @@ -5,8 +5,8 @@ #include #include -#include #include +#include #include "constants.hpp" #include "ErrorCode.hpp" @@ -359,7 +359,7 @@ auto is_same_char_opposite_case(char ch0, char ch1) -> bool { } } // namespace -auto regex_to_wildcard(string_view regex_str) -> OUTCOME_V2_NAMESPACE::std_result { +auto regex_to_wildcard(string_view regex_str) -> ystdlib::error_handling::Result { return regex_to_wildcard( regex_str, {/*case_insensitive_wildcard=*/false, /*add_prefix_suffix_wildcards=*/false} @@ -367,7 +367,7 @@ auto regex_to_wildcard(string_view regex_str) -> OUTCOME_V2_NAMESPACE::std_resul } auto regex_to_wildcard(string_view regex_str, RegexToWildcardTranslatorConfig const& config) - -> OUTCOME_V2_NAMESPACE::std_result { + -> ystdlib::error_handling::Result { if (regex_str.empty()) { return string{}; } diff --git a/components/core/src/clp/regex_utils/regex_translation_utils.hpp b/components/core/src/clp/regex_utils/regex_translation_utils.hpp index 0489c68e49..3096bd74f7 100644 --- a/components/core/src/clp/regex_utils/regex_translation_utils.hpp +++ b/components/core/src/clp/regex_utils/regex_translation_utils.hpp @@ -4,7 +4,7 @@ #include #include -#include +#include #include "regex_utils/RegexToWildcardTranslatorConfig.hpp" @@ -17,7 +17,7 @@ namespace clp::regex_utils { * @return The translated wildcard string. */ [[nodiscard]] auto regex_to_wildcard(std::string_view regex_str) - -> OUTCOME_V2_NAMESPACE::std_result; + -> ystdlib::error_handling::Result; /** * Translate a given regex string to wildcard with a custom configuration. @@ -27,7 +27,7 @@ namespace clp::regex_utils { */ [[nodiscard]] auto regex_to_wildcard(std::string_view regex_str, RegexToWildcardTranslatorConfig const& config) - -> OUTCOME_V2_NAMESPACE::std_result; + -> ystdlib::error_handling::Result; } // namespace clp::regex_utils #endif // CLP_REGEX_UTILS_REGEX_UTILS_HPP diff --git a/components/core/src/clp_s/kv_ir_search.cpp b/components/core/src/clp_s/kv_ir_search.cpp index cd5d61b96f..7fed2fdc45 100644 --- a/components/core/src/clp_s/kv_ir_search.cpp +++ b/components/core/src/clp_s/kv_ir_search.cpp @@ -10,9 +10,9 @@ #include #include -#include #include #include +#include #include "../clp/ErrorCode.hpp" #include "../clp/ffi/ir_stream/Deserializer.hpp" @@ -60,7 +60,7 @@ class IrUnitHandler { */ [[nodiscard]] static auto create(CommandLineArguments const& command_line_arguments, int reducer_socket_fd) - -> outcome_v2::std_result; + -> ystdlib::error_handling::Result; // Delete copy constructor and assignment operator IrUnitHandler(IrUnitHandler const&) = delete; @@ -120,12 +120,12 @@ class IrUnitHandler { CommandLineArguments const& command_line_arguments, std::shared_ptr query, int reducer_socket_fd -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; auto IrUnitHandler::create( CommandLineArguments const& command_line_arguments, [[maybe_unused]] int reducer_socket_fd -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { switch (command_line_arguments.get_output_handler_type()) { case CommandLineArguments::OutputHandlerType::Stdout: break; @@ -191,20 +191,19 @@ auto deserialize_and_search_kv_ir_stream( CommandLineArguments const& command_line_arguments, std::shared_ptr query, int reducer_socket_fd -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { auto trivial_new_projected_schema_tree_node_callback - = []( - [[maybe_unused]] bool is_auto_generated, - [[maybe_unused]] SchemaTree::Node::id_t node_id, - [[maybe_unused]] std::string_view projected_key_path - ) -> outcome_v2::std_result { return outcome_v2::success(); }; + = []([[maybe_unused]] bool is_auto_generated, + [[maybe_unused]] SchemaTree::Node::id_t node_id, + [[maybe_unused]] std::string_view projected_key_path) + -> ystdlib::error_handling::Result { return ystdlib::error_handling::success(); }; using QueryHandlerType = clp::ffi::ir_stream::search::QueryHandler< decltype(trivial_new_projected_schema_tree_node_callback)>; - auto ir_unit_handler{ - OUTCOME_TRYX(IrUnitHandler::create(command_line_arguments, reducer_socket_fd)) - }; - auto query_handler{OUTCOME_TRYX( + auto ir_unit_handler{YSTDLIB_ERROR_HANDLING_TRYX( + IrUnitHandler::create(command_line_arguments, reducer_socket_fd) + )}; + auto query_handler{YSTDLIB_ERROR_HANDLING_TRYX( QueryHandlerType::create( trivial_new_projected_schema_tree_node_callback, std::move(query), @@ -223,10 +222,10 @@ auto deserialize_and_search_kv_ir_stream( auto& deserializer{deserializer_result.value()}; while (IrUnitType::EndOfStream - != OUTCOME_TRYX(deserializer.deserialize_next_ir_unit(stream_reader))) + != YSTDLIB_ERROR_HANDLING_TRYX(deserializer.deserialize_next_ir_unit(stream_reader))) {} - return outcome_v2::success(); + return ystdlib::error_handling::success(); } } // namespace @@ -235,7 +234,7 @@ auto search_kv_ir_stream( CommandLineArguments const& command_line_arguments, std::shared_ptr query, int reducer_socket_fd -) -> outcome_v2::std_result { +) -> ystdlib::error_handling::Result { if (false == command_line_arguments.get_projection_columns().empty()) { SPDLOG_ERROR("kv-ir search: Projection support is not implemented."); return KvIrSearchError{KvIrSearchErrorEnum::ProjectionSupportNotImplemented}; @@ -268,7 +267,7 @@ auto search_kv_ir_stream( clp::streaming_compression::zstd::Decompressor decompressor; constexpr size_t cReaderBufferSize{64L * 1024L}; // 64 KB decompressor.open(*raw_reader, cReaderBufferSize); - OUTCOME_TRYV(deserialize_and_search_kv_ir_stream( + YSTDLIB_ERROR_HANDLING_TRYV(deserialize_and_search_kv_ir_stream( decompressor, command_line_arguments, std::move(query), @@ -293,7 +292,7 @@ auto search_kv_ir_stream( return KvIrSearchError{KvIrSearchErrorEnum::ClpLegacyError}; } - return outcome_v2::success(); + return ystdlib::error_handling::success(); } } // namespace clp_s diff --git a/components/core/src/clp_s/kv_ir_search.hpp b/components/core/src/clp_s/kv_ir_search.hpp index f5519bf370..4d5d9e98a7 100644 --- a/components/core/src/clp_s/kv_ir_search.hpp +++ b/components/core/src/clp_s/kv_ir_search.hpp @@ -4,8 +4,8 @@ #include #include -#include #include +#include #include "CommandLineArguments.hpp" #include "InputConfig.hpp" @@ -42,7 +42,7 @@ using KvIrSearchError = ystdlib::error_handling::ErrorCode; CommandLineArguments const& command_line_arguments, std::shared_ptr query, int reducer_socket_fd -) -> outcome_v2::std_result; +) -> ystdlib::error_handling::Result; } // namespace clp_s YSTDLIB_ERROR_HANDLING_MARK_AS_ERROR_CODE_ENUM(clp_s::KvIrSearchErrorEnum); diff --git a/components/core/src/glt/ir/LogEventDeserializer.cpp b/components/core/src/glt/ir/LogEventDeserializer.cpp index 7ffc806696..0353123fdb 100644 --- a/components/core/src/glt/ir/LogEventDeserializer.cpp +++ b/components/core/src/glt/ir/LogEventDeserializer.cpp @@ -3,8 +3,8 @@ #include #include -#include #include +#include #include "../ffi/ir_stream/decoding_methods.hpp" #include "types.hpp" @@ -12,7 +12,7 @@ namespace glt::ir { template auto LogEventDeserializer::create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { ffi::ir_stream::encoded_tag_t metadata_type{0}; std::vector metadata; auto ir_error_code = ffi::ir_stream::deserialize_preamble(reader, metadata_type, metadata); @@ -68,7 +68,7 @@ auto LogEventDeserializer::create(ReaderInterface& reader) template auto LogEventDeserializer::deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result> { + -> ystdlib::error_handling::Result> { epoch_time_ms_t timestamp_or_timestamp_delta{}; std::string logtype; std::vector dict_vars; @@ -107,11 +107,11 @@ auto LogEventDeserializer::deserialize_log_event() // Explicitly declare template specializations so that we can define the template methods in this // file template auto LogEventDeserializer::create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; template auto LogEventDeserializer::create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; template auto LogEventDeserializer::deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; template auto LogEventDeserializer::deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; } // namespace glt::ir diff --git a/components/core/src/glt/ir/LogEventDeserializer.hpp b/components/core/src/glt/ir/LogEventDeserializer.hpp index ba19646c6d..d75007aa11 100644 --- a/components/core/src/glt/ir/LogEventDeserializer.hpp +++ b/components/core/src/glt/ir/LogEventDeserializer.hpp @@ -3,7 +3,7 @@ #include -#include +#include #include "../ReaderInterface.hpp" #include "../TimestampPattern.hpp" @@ -34,7 +34,7 @@ class LogEventDeserializer { * or uses an unsupported version */ static auto create(ReaderInterface& reader) - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; // Delete copy constructor and assignment LogEventDeserializer(LogEventDeserializer const&) = delete; @@ -59,7 +59,7 @@ class LogEventDeserializer { * - std::errc::result_out_of_range if the IR stream is corrupted */ [[nodiscard]] auto deserialize_log_event() - -> OUTCOME_V2_NAMESPACE::std_result>; + -> ystdlib::error_handling::Result>; private: // Constructors From 2497ebfb0e20fc716dfdc4ee23240afde53bb605 Mon Sep 17 00:00:00 2001 From: sitaowang1998 Date: Thu, 5 Jun 2025 16:00:59 -0400 Subject: [PATCH 4/7] Fix build --- components/core/src/glt/glt/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/components/core/src/glt/glt/CMakeLists.txt b/components/core/src/glt/glt/CMakeLists.txt index 15062e6676..ec546c7ad1 100644 --- a/components/core/src/glt/glt/CMakeLists.txt +++ b/components/core/src/glt/glt/CMakeLists.txt @@ -191,6 +191,7 @@ target_link_libraries(glt ${STD_FS_LIBS} clp::string_utils yaml-cpp + ystdlib::error_handling ZStd::ZStd ) # Put the built executable at the root of the build directory From 2053e288c5f340fe103df3f5e01ede05238493d2 Mon Sep 17 00:00:00 2001 From: sitaowang1998 Date: Thu, 5 Jun 2025 16:09:05 -0400 Subject: [PATCH 5/7] Remove outcome include library from cmake --- components/core/CMakeLists.txt | 1 - components/core/src/clp/clg/CMakeLists.txt | 1 - components/core/src/clp/clo/CMakeLists.txt | 1 - components/core/src/clp/clp/CMakeLists.txt | 1 - components/core/src/clp/regex_utils/CMakeLists.txt | 5 ----- components/core/src/clp_s/CMakeLists.txt | 9 --------- components/core/src/glt/glt/CMakeLists.txt | 1 - 7 files changed, 19 deletions(-) diff --git a/components/core/CMakeLists.txt b/components/core/CMakeLists.txt index a7e80d4d6d..6032839143 100644 --- a/components/core/CMakeLists.txt +++ b/components/core/CMakeLists.txt @@ -676,7 +676,6 @@ add_executable(unitTest ) target_include_directories(unitTest PRIVATE - ${CLP_OUTCOME_INCLUDE_DIRECTORY} ${CLP_SQLITE3_INCLUDE_DIRECTORY} ) target_link_libraries(unitTest diff --git a/components/core/src/clp/clg/CMakeLists.txt b/components/core/src/clp/clg/CMakeLists.txt index c8a06ec94d..b74dec4873 100644 --- a/components/core/src/clp/clg/CMakeLists.txt +++ b/components/core/src/clp/clg/CMakeLists.txt @@ -127,7 +127,6 @@ add_executable(clg ${CLG_SOURCES}) target_compile_features(clg PRIVATE cxx_std_20) target_include_directories(clg PRIVATE - "${CLP_OUTCOME_INCLUDE_DIRECTORY}" "${CLP_SQLITE3_INCLUDE_DIRECTORY}" ) target_link_libraries(clg diff --git a/components/core/src/clp/clo/CMakeLists.txt b/components/core/src/clp/clo/CMakeLists.txt index a122b7ea01..46f9d68375 100644 --- a/components/core/src/clp/clo/CMakeLists.txt +++ b/components/core/src/clp/clo/CMakeLists.txt @@ -155,7 +155,6 @@ add_executable(clo ${CLO_SOURCES} ${REDUCER_SOURCES}) target_compile_features(clo PRIVATE cxx_std_20) target_include_directories(clo PRIVATE - "${CLP_OUTCOME_INCLUDE_DIRECTORY}" "${CLP_SQLITE3_INCLUDE_DIRECTORY}" ) target_link_libraries(clo diff --git a/components/core/src/clp/clp/CMakeLists.txt b/components/core/src/clp/clp/CMakeLists.txt index d990ea1a74..124af5a34d 100644 --- a/components/core/src/clp/clp/CMakeLists.txt +++ b/components/core/src/clp/clp/CMakeLists.txt @@ -169,7 +169,6 @@ add_executable(clp ${CLP_SOURCES}) target_compile_features(clp PRIVATE cxx_std_20) target_include_directories(clp PRIVATE - "${CLP_OUTCOME_INCLUDE_DIRECTORY}" "${CLP_SQLITE3_INCLUDE_DIRECTORY}" ) target_link_libraries(clp diff --git a/components/core/src/clp/regex_utils/CMakeLists.txt b/components/core/src/clp/regex_utils/CMakeLists.txt index a359702833..bffe6103b4 100644 --- a/components/core/src/clp/regex_utils/CMakeLists.txt +++ b/components/core/src/clp/regex_utils/CMakeLists.txt @@ -12,11 +12,6 @@ add_library( ${REGEX_UTILS_HEADER_LIST} ) add_library(clp::regex_utils ALIAS regex_utils) -target_include_directories(regex_utils - PUBLIC - ../ - "${CLP_OUTCOME_INCLUDE_DIRECTORY}" -) target_link_libraries(regex_utils PUBLIC ystdlib::error_handling diff --git a/components/core/src/clp_s/CMakeLists.txt b/components/core/src/clp_s/CMakeLists.txt index f295700b48..24147c81e2 100644 --- a/components/core/src/clp_s/CMakeLists.txt +++ b/components/core/src/clp_s/CMakeLists.txt @@ -87,11 +87,6 @@ add_library( ) add_library(clp_s::clp_dependencies ALIAS clp_s_clp_dependencies) target_compile_features(clp_s_clp_dependencies PRIVATE cxx_std_20) -target_include_directories( - clp_s_clp_dependencies - PUBLIC - "${CLP_OUTCOME_INCLUDE_DIRECTORY}" -) target_link_libraries( clp_s_clp_dependencies PUBLIC @@ -376,10 +371,6 @@ add_executable( ${CLP_S_EXE_SOURCES} ) target_compile_features(clp-s PRIVATE cxx_std_20) -target_include_directories(clp-s - PRIVATE - "${CLP_OUTCOME_INCLUDE_DIRECTORY}" -) target_link_libraries( clp-s PRIVATE diff --git a/components/core/src/glt/glt/CMakeLists.txt b/components/core/src/glt/glt/CMakeLists.txt index ec546c7ad1..e64ea60fac 100644 --- a/components/core/src/glt/glt/CMakeLists.txt +++ b/components/core/src/glt/glt/CMakeLists.txt @@ -175,7 +175,6 @@ add_executable(glt ${GLT_SOURCES}) target_compile_features(glt PRIVATE cxx_std_20) target_include_directories(glt PRIVATE - "${CLP_OUTCOME_INCLUDE_DIRECTORY}" "${CLP_SQLITE3_INCLUDE_DIRECTORY}" ) target_link_libraries(glt From e36cfd31dd6d970ab3c4f3b813c9195763ce7980 Mon Sep 17 00:00:00 2001 From: sitaowang1998 Date: Fri, 6 Jun 2025 17:04:57 -0400 Subject: [PATCH 6/7] Add ystdlib::error_handling dependency in cmake --- components/core/src/clp/clg/CMakeLists.txt | 1 + components/core/src/clp/clo/CMakeLists.txt | 1 + components/core/src/clp/clp/CMakeLists.txt | 1 + 3 files changed, 3 insertions(+) diff --git a/components/core/src/clp/clg/CMakeLists.txt b/components/core/src/clp/clg/CMakeLists.txt index b74dec4873..78524a93fe 100644 --- a/components/core/src/clp/clg/CMakeLists.txt +++ b/components/core/src/clp/clg/CMakeLists.txt @@ -143,6 +143,7 @@ target_link_libraries(clg clp::string_utils yaml-cpp ystdlib::containers + ystdlib::error_handling ZStd::ZStd ) # Put the built executable at the root of the build directory diff --git a/components/core/src/clp/clo/CMakeLists.txt b/components/core/src/clp/clo/CMakeLists.txt index 46f9d68375..79f8752858 100644 --- a/components/core/src/clp/clo/CMakeLists.txt +++ b/components/core/src/clp/clo/CMakeLists.txt @@ -171,6 +171,7 @@ target_link_libraries(clo ${STD_FS_LIBS} clp::string_utils ystdlib::containers + ystdlib::error_handling ZStd::ZStd ) # Put the built executable at the root of the build directory diff --git a/components/core/src/clp/clp/CMakeLists.txt b/components/core/src/clp/clp/CMakeLists.txt index 124af5a34d..d863aef750 100644 --- a/components/core/src/clp/clp/CMakeLists.txt +++ b/components/core/src/clp/clp/CMakeLists.txt @@ -185,6 +185,7 @@ target_link_libraries(clp ${STD_FS_LIBS} clp::string_utils yaml-cpp + ystdlib::error_handling ystdlib::containers ZStd::ZStd ) From 61a9c386270846d59c0de4119b83c579a51b9f22 Mon Sep 17 00:00:00 2001 From: sitaowang1998 Date: Sat, 7 Jun 2025 20:01:04 -0400 Subject: [PATCH 7/7] Fix regex_utils missing headers --- components/core/src/clp/regex_utils/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/core/src/clp/regex_utils/CMakeLists.txt b/components/core/src/clp/regex_utils/CMakeLists.txt index bffe6103b4..1f74c255e6 100644 --- a/components/core/src/clp/regex_utils/CMakeLists.txt +++ b/components/core/src/clp/regex_utils/CMakeLists.txt @@ -12,6 +12,10 @@ add_library( ${REGEX_UTILS_HEADER_LIST} ) add_library(clp::regex_utils ALIAS regex_utils) +target_include_directories(regex_utils + PUBLIC + ../ +) target_link_libraries(regex_utils PUBLIC ystdlib::error_handling