In sort_inner_and_outer, we create mergejoin join paths by explicitly sorting both relations on each possible ordering of the available mergejoin clauses. However, if there are no available mergejoin clauses, we can skip this process entirely. It seems that this is a relatively common scenario. Checking the regression tests I noticed that there are a lot of cases where we would arrive here with an empty mergeclause_list.
FWIW, during the run of the core regression tests, I found that we enter sort_inner_and_outer with an empty mergeclause_list a total of 11064 times. Out of these occurrences, there are 293 instances where the join type is JOIN_UNIQUE_OUTER, indicating the need to create a UniquePath for the outer path. Similarly, there are also 293 instances where the join type is JOIN_UNIQUE_INNER, indicating the need to create a UniquePath for the inner path.