Welcome to Neudesic Blogs Sign in | Join | Help

Steve Muise - SQL Server stuff

From the CLR to Analysis Services - SQL 2005 is a whole new beast. I will be discussing my findings, learnings, experiences, and personal opinions on the new new SQL Platform. I will also be posting follow-up conversations, code samples, question discussions from the MSDN SQL Programmability webcasts I am doing on Fridays. Come join us on Friday http://www.microsoft.com/events/series/msdnsqlserver2005.mspx

<February 2006>
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011

Navigation

MSDN Webcast - SQL 2005

Syndication

Catalog Assembly -- Clarification --

I had an attendee send me a question, where he heard me say that you could have the same assembly cataloged twice using 2 different names. And in fact, I have in the demo code an example of an attempt to catalog the same assembly under the name of "MetricConverter" and the name "foo" - The fact is you can not catalog the same assembly twice using 2 different SQL names. You can't register the assembly, copy it and/or rename it and register it under a different name (though I couldn't imagine why anybody would want to do this)

You can register 2 assemblies (that happen to be a version of one another) that have 2 different names as 2 different names in the database. So for example, I took the MetricConverter code, compiled and catgaloged. Then opened the code added another method, changed the assembly name and re-compiled, then went back and cataloged the versioned assembly with a new name. I now had 2 versions of the same assembly with 2 different names.

But this of course, begs the question "why ..."

   - I could only imagine the pain and confusion that could be created by cataloging multiple versions of the same assembly.
I tend to think of assemblies as interface contracts, once they are published, they are golden until all dependencies are hunted down and destroyed (or simply modified). If in fact, I want to create a new version of a method, I would create a new signature (thus a new interface contract) and start migrating clients over. Or if I need to fix a bug in a method, then I want to know that all methods are calling the one version of code I have available with the interface contract being used - so when the bug is fixed all versions now are using the new version of code.

Can anybody come up with a good example of a reason to use multiple versions of the same assembly?

Published Monday, February 13, 2006 11:15 PM by Steve_Muise

Comments

No Comments

Anonymous comments are disabled
Powered by Community Server, by Telligent Systems