I think we only can push down LIMIT when the JOIN node is sorted to assure determinism. 

Pushing down the LIMIT to projection is not as efficient as pushing down it one more level, because we want to make the input size of projection as small as possible (which is also the output table size of its child node) rather then control the output size which mostly depends on the input size, and projection should always has one and only one child. 

I made a mistake here, the inlined LIMIT node belongs to JOIN not the SCAN. It stops the execution when the size of output table satisfied the limit. If there is no input from the outer table (scan node), we don't have change to check the LIMIT, and will just return an empty table.