> 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
<sitnikov.vladi...@gmail.com> 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

Reply via email to