Skip to content

Actually using the new product_query (Part 1)#344

Open
beojan wants to merge 33 commits intoFramework-R-D:mainfrom
beojan:new-product-query
Open

Actually using the new product_query (Part 1)#344
beojan wants to merge 33 commits intoFramework-R-D:mainfrom
beojan:new-product-query

Conversation

@beojan
Copy link
Contributor

@beojan beojan commented Feb 19, 2026

Mostly switching to using identifier members, along with adding the ability to resolve products without a suffix.

@codecov
Copy link

codecov bot commented Feb 20, 2026

Codecov Report

❌ Patch coverage is 80.89172% with 30 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
phlex/core/input_arguments.hpp 42.85% 10 Missing and 2 partials ⚠️
phlex/model/algorithm_name.cpp 76.47% 6 Missing and 2 partials ⚠️
phlex/model/product_specification.cpp 81.25% 2 Missing and 1 partial ⚠️
phlex/core/message.cpp 0.00% 2 Missing ⚠️
phlex/core/edge_creation_policy.cpp 66.66% 0 Missing and 1 partial ⚠️
phlex/core/edge_creation_policy.hpp 0.00% 0 Missing and 1 partial ⚠️
phlex/core/product_query.cpp 85.71% 0 Missing and 1 partial ⚠️
phlex/core/product_query.hpp 0.00% 1 Missing ⚠️
phlex/model/product_store.cpp 83.33% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main     #344      +/-   ##
==========================================
+ Coverage   85.36%   86.64%   +1.28%     
==========================================
  Files         122      122              
  Lines        2433     2494      +61     
  Branches      389      394       +5     
==========================================
+ Hits         2077     2161      +84     
+ Misses        233      211      -22     
+ Partials      123      122       -1     
Flag Coverage Δ
unittests 86.64% <80.89%> (+1.28%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
form/form_module.cpp 89.13% <100.00%> (ø)
phlex/core/consumer.cpp 100.00% <100.00%> (ø)
phlex/core/declared_fold.hpp 95.16% <100.00%> (ø)
phlex/core/declared_provider.hpp 100.00% <100.00%> (ø)
phlex/core/declared_unfold.cpp 83.33% <ø> (ø)
phlex/core/declared_unfold.hpp 96.42% <ø> (ø)
phlex/core/detail/filter_impl.cpp 95.23% <100.00%> (ø)
phlex/core/detail/make_algorithm_name.cpp 100.00% <100.00%> (ø)
phlex/core/edge_maker.hpp 100.00% <ø> (ø)
phlex/core/index_router.cpp 91.81% <100.00%> (ø)
... and 23 more

... and 6 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f1dd203...3c48ce0. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@beojan beojan closed this Feb 26, 2026
@beojan beojan reopened this Feb 26, 2026
@beojan beojan changed the title Actually using the new product_query Actually using the new product_query (Part 1) Mar 2, 2026
@beojan beojan marked this pull request as ready for review March 2, 2026 17:16
@beojan
Copy link
Contributor Author

beojan commented Mar 2, 2026

@phlexbot format

@github-actions
Copy link
Contributor

github-actions bot commented Mar 2, 2026

No automatic header-guards fixes were necessary.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 2, 2026

No automatic markdownlint fixes were necessary.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 2, 2026

No automatic jsonnetfmt fixes were necessary.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 2, 2026

No automatic cmake-format fixes were necessary.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 2, 2026

Automatic clang-format fixes pushed (commit 3c48ce0).
⚠️ Note: Some issues may require manual review and fixing.

Copy link
Member

@knoepfel knoepfel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @beojan. See comments below.

Comment on lines +22 to +24
// TODO: Getting there
if (producer.node.plugin() == identifier(query.creator) ||
producer.node.algorithm() == identifier(query.creator)) {
Copy link
Member

@knoepfel knoepfel Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need the explicit casts to identifier? (Also suggest removing the TODO...or be more explicit about what's missing)


algorithm_name product_store::default_source()
{
using namespace literals;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can remove this using directive.

#include <vector>

using namespace phlex::experimental;
using namespace phlex::experimental::literals;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This using directive is not needed.


void cells_to_process(experimental::async_driver<data_cell_index_ptr>& d)
{
using namespace experimental::literals;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This using directive is not necessary.

private:
std::string content_;
std::uint64_t hash_;
std::uint64_t hash_{0};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is 0 the calculated hash of the empty string?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it isn't. This is only here so I can = default the default constructor without risking undefined behaviour. And the default constructor is only there so other classes that contain identifiers can be default constructed.

Comment on lines +27 to +28
// TODO: This needs to be replaced with a properly engineered solution
// return msg.store->get_handle<handle_arg_t>(query.spec());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does get_handle<...>(query.spec()) not work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants