> normalization should be customizable. I'll make the counter-argument. If people can't agree what should be the "right" normalization, then it isn't normalization, it's optimization.
A good design doesn't need 100 ways to customize. It needs just a few powerful ones. We have rewrite rules, and we have simplifications performed by RelBuilder (most of which can be turned off in the RelBuilder config). I can see two solutions, each of which are better than making normalization more customizable: * If Hive doesn't want its ANDs re-ordered, introduce a new AND operator whose order is fixed. (Or use CASE: "x AND y AND z" can be rewritten to something like "CASE WHEN NOT x THEN FALSE WHEN NOT y THEN FALSE WHEN NOT z THEN FALSE ELSE TRUE END".) * Make normalization less agressive Julian On Tue, Mar 9, 2021 at 1:20 AM Vladimir Sitnikov <[email protected]> wrote: > > Stamatis>If downstream projects can pass their own normalizer in the > planner or > Stamatis>possibly in RelBuilder then I guess we can cover pretty much every > use > Stamatis>case. > > This is my understanding as well. > > Vladimir
