Releases: mutable-org/mutable
Releases · mutable-org/mutable
v0.0.133
[ITest] Sema positive tests for create/drop index
v0.0.132
[Doc] Solve error when installing `psycopg2`
v0.0.131: [Catalog] Add the `TableFactory` Component.
This commit introduces the `TableFactory` as a component to the `Catalog`. It departs from the conventional practice of registering `TableFactory` instances in a `ComponentSet`. Instead, it establishes a single `TableFactory` object named `table_factory_`, which functions as the implicit default `TableFactory`. This default `table_factory_` is by default an undecorated `ConcreteTableFactory`. Additionally, the `Catalog` now maintains a `ComponentSet` called `table_factory_decorators_`, which contains callback functions, each corresponding to a concrete implementation of `TableFactoryDecorator`. These callback functions are designed for decorating a given `TableFactory` and are automatically generated upon registering a `TableFactoryDecorator` in the `Catalog`. Furthermore, the `table_factory_` is automatically decoration at runtime based on the properties specified in the newly introduced `--table-properties` CLI argument. All available properties can be listed with `--list-table-properties`.
v0.0.130: [IR] Add option to initialize upper bound in HSPE.
- Pass an `m::ai::SearchConfiguration` to `heuristic_search()` instead of initializing it within `heuristic_search()`. - Add a CLI option to configure whether to initialize the upper bound for cost-based pruning with some initial greedy search. - The `heuristic_search_helper()` will acknowledge this CLI option and use GOO to greedily initialize said upper bound. The upper bound is passed through a `m::ai::SearchConfiguration` object to `heuristic_search()`.
v0.0.129
[Benchmark] Annotate `print_command()` as abstractmethod
v0.0.128: [Util] Extend `ArgParser` to support lists.
Extend the `ArgParser` to support CLI arguments with lists of strings. For example, one can now implement an argument like ``` --colors "yellow,green,navy blue,pink" ``` The type of the argument must be `std::vector<std::string_view>`. To implement such a CLI argument in our shell, you can do ```cpp ADD(std::vector<std::string_view>, void *_, nullptr, nullptr, "--colors", "A comma-separated list of colors.", [&](std::vector<std::string_view> colors) { std::cerr << "received colors are:\n"; for (auto color : colors) std::cerr << " " << color << '\n'; }); ```
v0.0.127: [Util] Remove dependency in heuristic search.
Remove a superfluous dependency in heuristic search. The constraint `has_mark` was checking whether class `state_type` has method `mark()`. This required including `Subproblem`, an alias for `SmallBitset`. Further, this check breaks encapsulation, as it requires the heuristic search to understand what a mark actually is.
v0.0.126: [Catalog] Fix template instantiation of CEs.
Fix template instantiation of cardinality estimators by manually instantiating the templated method for both types of plan tables.
v0.0.125: [IR] Improve `get_aggregates()`.
We had an outstanding TODO in a stale branch, where we wanted to skip traversing the subtree of a `FnApplicationExpr` aggregation. Now that we have the respective exception `visit_skip_subtree` and the logic in the AST visitors, we can resolve this TODO and improve the performance of `get_aggregates()`. This change should not change the outcome of `get_aggregates()`. As aggregate functions take vectorial arguments and produce scalar results, they could have never occur nested, e.g. `MIN(MAX(x))` is invalid. Hence, not skipping subtree traversal was not an error before.
v0.0.124
[CI] Fix updating the `pr-target` branch on GitHub