Some more are: * Converting "select x from t to "select t._MAP['x'] from x (similar to your case, but no table alias is used) * "select x from t1, t2 is ambiguous if t1 and t2 both have a _MAP column * Need to resolve x[y] to either (Cast(x as MAP))[y] or (Cast(x as ARRAY))[y] based on whether y is a string or numeric * If y is ANY then (yuck) we would generate a call to an ITEM(ANY, ANY) operator