The names of algorithms differ in how you use them in abstract plans and how you use them in the set command. For example, a hash join is called h_join in abstract plans, but is called hash_join in the set command. Adaptive Server accepts both keywords in the extended abstract plan syntax. For example:
select ... plan "(h_join (t_scan r) (t_scan s))"
is equivalent to:
select ... plan "(hash_join (t_scan r) (t_scan s))"
and:
select ... plan "(use h_join on)"
and:
select ... plan "(use hash_join on)"
When a table abstract plan is present, it takes precedence:
select .. from r, s, t ... plan "(use hash_join off) (h_join (t_scan r) (t_scan s))"
The query uses the hash_join for r and s scans; but for the join with t it does not use hash_join as specified by the use abstract plan form, since it was not specified in the table abstract plan.