updateReturning surprising behavior when assignments are empty
When using updateReturning as an optimized of update plus select, with a variable set of assignments, it's surprising that no rows are returned when the assignments are empty.
The behavior does make sense for use cases where you're only interested in the changes, so it seems like beam should have two functions. Perhaps updateReturningChanged and updateReturningMatched. The latter would perform a SELECT when the assignments are empty, because UPDATE table SET WHERE ... isn't valid syntax.
Agreed that this behavior is weird, especially because SQL doesn't allow updates with no assignments, so we have total freedom to make the behavior whatever we want in that case. If it weren't for compatibility, I think I'd like to just make updateReturning do the SELECT in that case.