RaduBerinde sql: infer constraints on equality columns in one-sided joins
Issue #20765 points out an interesting case:
  `SELECT * FROM l LEFT JOIN r USING(a) WHERE a=3`

In this case, `WHERE a=3` is internally `WHERE l.a=3`. We can push
down a corresponding constraint `r.a=3` because only those rows can
contribute to any final results.

In general, for LEFT JOINs we remap any constraints on left-side
equality columns and push them down to the right side. The case for
RIGHT JOINs is symmetric.

Fixes #20765.
Latest commit e88a82c Dec 19, 2017