hyrise icon indicating copy to clipboard operation
hyrise copied to clipboard

[DYOD] Only use valid UCCs in optimization and limit cacheability of plans optimized using UCCs

Open j-hellenberg opened this issue 1 year ago • 1 comments

Make sure to only use UCCs in optimization that are guaranteed_to_be_valid.

Also, we want to ensure that Hyrise only caches logical and physical query plans that cannot become invalid, because executing an invalid query plan might produce incorrect results. Query plans could become invalid if they have been optimized using UCCs that are not permanent, e.g., incidental UCCs discovered by the UccDiscoveryPlugin. The same can happen if a Functional Dependency (FD) was used that was derived from a non-permanent UCC. We ensure correct caching by having each optimization rule return whether the resulting Logical Query Plan can be cached.

Note that this PR currently targets our first PR branch, in order to not include the changes from there again here :) Please review the other PR before this one. We will change the PR to target master before merging.

j-hellenberg avatar Aug 02 '23 16:08 j-hellenberg

Put this on hold until end of August. We plan to incorporate this feature, but there is currently no capacity for it. Will work on it when back from the internship.

dey4ss avatar Apr 30 '24 17:04 dey4ss