Fix incorrect usage of non-strict OR joinclauses in appendrel indexscans.
By chance I happened to notice that bug #5076 was still broken in the 8.3 branch, though it worked everywhere else. The reason is that 8.3's version of adjust_appendrel_attrs_mutator neglected to adjust RestrictInfo.nullable_relids. This was an oversight in my patch of 2009-04-16, which I apparently corrected in the later branches on 2009-08-13 without realizing that it affected the 8.3 branch as well. By the time the bug report was filed, it was not reproducible in 8.4. I don't recall if I wrote it off as already fixed, or it just fell through the cracks; but anyway it's been a live bug in 8.3 for a year.
This commit is contained in:
parent
3e20490e86
commit
a2e26a6f88
@ -1207,6 +1207,9 @@ adjust_appendrel_attrs_mutator(Node *node, AppendRelInfo *context)
|
||||
newinfo->required_relids = adjust_relid_set(oldinfo->required_relids,
|
||||
context->parent_relid,
|
||||
context->child_relid);
|
||||
newinfo->nullable_relids = adjust_relid_set(oldinfo->nullable_relids,
|
||||
context->parent_relid,
|
||||
context->child_relid);
|
||||
newinfo->left_relids = adjust_relid_set(oldinfo->left_relids,
|
||||
context->parent_relid,
|
||||
context->child_relid);
|
||||
|
Loading…
x
Reference in New Issue
Block a user