Hi, > Subject: Re: hive 3.1 mapjoin with complex predicate produce incorrect results ... > | 0 if(_col0 is null, 44, _col0) (type: int) | > | 1 _col0 (type: int) |
That rewrite is pretty neat, but I feel like the IF expression nesting is what is broken here. Can you run the same query with "set hive.vectorized.reuse.scratch.columns=false;" and see if this is a join expression column reuse problem. If that does work, can you send out a explain vectorization detail <query>; I'll eventually get back to my dev env in a week, but this looks like a low-level exec issue right now. Cheers, Gopal