-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Execution
Currently the `PrepareExecutionHelper` abstract class uses a `std::unique_ptr<ResultType>` to return the planning results. Considering the recent changes, it is now overly complex and forces sub-classes to employ this awkward pattern for every method:
auto result = releaseResult(); // init result. return result;
We should strive to simplify this class as much as possible. Here's a non-exhaustive list of ideas:
- Get rid of std::unique_ptr, as there's no need for any indirection here.
- Consider constructing building the result directly in the targeted method.
- Consider renaming this class to something more descriptive (ex: AbstractPlannerFactory?)
- Consider extracting `PrepareExecutionHelper...` classes to a separate file