Match between execution methods and abstract plans

There are some limits to join orders and join types, depending on the type of query. One example is outer joins, such as:

select * 
from t1 left join t2
on c11 = c21

Adaptive Server requires the outer member of the outer join to be the outer table during join processing. Therefore, this abstract plan is illegal:

(join
    (scan t2)
    (scan t1)
)

Attempting to use this plan results in an error message, the AP application fails, and the optimizer makes the best attempt to finish compiling the query.