I’ve finally decided to take the plunge and start this up. I’ve been in hiding for the last year and three quarters or so, working on a SQL Server 2005 (was Yukon) course and a companion book. The book, entitled “A First Look at SQL Server 2005 for Developers” shipped on Monday. I have a single advance copy. Amazon doesn’t think it’s shipped yet though, has the book’s old name (with Yukon in it) and is missing an author (oh well).
Dan Sullivan and Niels Berglund are my co-authors. The book has been a long time in coming. The SQL Server folks were nice enough to let us release it (the material is based on beta 2) even though Beta 2 isn’t out yet. Modulo SQL Express, which was released yesterday on MSDN. So I have a (very) few spare cycles.
I’m going to write about adventures in Ascend program phase 2, and any technical insights and info I pick up along the way. I may not be writing much right away though, I’m on my way to Tokyo for a teaching gig tomorrow morning.
One Response to Out of hiding
I bought your book. Great stuff. A fair number of code errors in there though. I have been racking my brain about what to do with the SqlMethodAttribute and Properties. It seems implicit that a property must always have a SqlMethodAttribute defined by default with an IsMutator of true because they can be used in Update statements without having the SqlMethodAttribute defined.
This has never been expressly stated – in fact nowhere in the world has this statement been made! I haven’t seen a single example of using the SqlMethodAttribute against a property. So assuming i am correct – sn’t that just a bit innefficent to have IsMutator true on every property? Some properties might be calculated properties?
So i set about having a go. The SqlMethodAttribute can not be applied to the Procedure level. But if you move to the individual get and set methods you can set the SqlMethodAttribute against these. Lo and behold everything is great when IsMutator is true – which supports my case that a SqlMethodAttribute is somehow implied.
But guess what? SqlServer has no complaints updating a UserDefinedType when IsMutator false is specified against the set method of a Property. In fact the update goes through and sets your values to Null.