It's probably the length of the sort key that pushes the result spool row length over the limit. UNION ALL works because it doesn't require a sort to remove duplicates.
↧