See below - there's a special case in start/stop key processing in WhereOptimizer that says "stop processing" if an expression declares that it should be left in the filter. This essentially means that the expression is a partial match and thus we can't continue concatenating to it b/c of the uncertainty of the part of the key after the partial match. An example is WHERE col1 LIKE 'abc%d' AND col2 = 'foo'. We can push 'abc' into the start/stop of the scan, but we can't push the 'foo' part because we don't have a complete/total match on the key.