For solving the equation "xy=x", we can do:
sage: x,y=var('x,y')
sage: solve([x*y==x],[x,y])
[x == 0]
But this is not the complete solution.
It suffices to add the trivial equation "0==0" for having the complete solution:
sage: solve([x*y==x,0==0],[x,y])
[[x == 0, y == r1], [x == r2, y == 1]]
Is it a bug ?