Alison, I feel for you here. I also have a bright son, and I am very tempted to put more work in front of him, because he enjoys doing it, and because I feel that I want to encourage his desire to learn.
BUT ... I am also aware that by moving him forward ahead of his class, that creates a problem for him, as well as for his teacher. If he is too far ahead, he will be bored by what is happening in class, and that is likely to lead to behaviour problems. He is also likely to be aliented from his peers at school, so over time playtimes can become a problem too, and you end up with a very bright child who tends to be a loner, with no close friends (actually I have to say 30 kids plus at a birthday party sounds like a nightmare. I'd much rather ds had 5 or 6 close friends).
You are obviously a very academic person, and tend to judge success in academic terms. Thats fine, but I think 7 is a bit young to go down that route.
We now exploit ds's brightness in other ways. We joined the National Trust, and take him to properties which then light his interest in History. Then he will happily read round the subject.
Similarly, play with a simple chemistry set. In other words, do educational things, but not in an academic way.
And please give him time to be bored. I think it's very important that kids learn to occupy themselves, and just chill out (as others have said). Otherwise his future wife will get sick of the "We have to be doing something" mentality.
Life isn't a competition. While it's good to have a bit of a competitive streak, it should be kept in it's place, and if your ds is getting soooo upset because he can't get the teachers method of doing sums, it sounds like he needs to reign back a bit, and ask for it to be explained again.