Currently we already return selectivity = 1 in this case. This doesn't sound entirely correct. Self join can be observed in many cases, either user query, or subquery unnesting. We will see a distinct scan joined with the original scan on the right side of the dependent join. Ideally, it should directly give back the row count of the scan instead of giving selectivity = 1 (which is row count * row count).