Fixup on splitJoinQualExpr().
For LASJ join, the result is supposed to be empty if there is NULL in the inner side. To check for the NULLness, the join clauses are split into outer and inner argument values so that we can evaluate those subexpressions separately. This patch adds verification when doing extraction that the join clauses are in the format of 'foo = ANY bar' and that the equality operation is strict. This patch fixes issue #6389, in which the equality operator is implemented by a function. In this case, the length of arguments is one. So when it tries to extract the second argument, it refers to an invalid pointer and gets segfaulted. Reviewed-by: NEkta Khanna <ekhanna@pivotal.io> Reviewed-by: NHeikki Linnakangas <hlinnakangas@pivotal.io> Reviewed-by: NMelanie Plageman <mplageman@pivotal.io>
Showing
想要评论请 注册 或 登录