Re: New Procedurs With Version# In Name

From: Galen Boyer <galen_boyer_at_yahoo.com>
Date: Fri, 12 Mar 2010 20:15:10 -0500
Message-ID: <ud3z9rpi9.fsf_at_www.yahoo.com>



Shakespeare <whatsin_at_xs4all.nl> writes:

> Op 11-3-2010 6:17, Mladen Gogala schreef:
>> On Wed, 10 Mar 2010 21:07:50 -0800, jeffchirco_at_gmail.com wrote:
>>
>>> So when my developers need to make a change to a procedure, instead of
>>> just recompiling the procedure they want to create a new procedure named
>>> like sp_procedure2 and then use the new procedure in their application.
>>
>> Have your developers ever heard of something called "versioning system"?
>> There are several of those which are widely used. The names you will most
>> frequently encounter are git, svn and CVS. Those things can really help
>> with versions, branches and revisions. There are also commercial products
>> which do the same thing, but with a better GUI. Personally, I think that
>> GUI is for wimps, especially when it comes to versioning systems. One
>> should learn the CVS syntax by heart and know how to diff, how to see the
>> revision log, check in a new version, merge 2 branches etc.
>>
>>
>>
>
> And I thought SourceSafe was a versioning system....
> Versioning systems won't help if both versions of the procedure must
> be kept in the software

How is this so? This screams multiple branches of the codebase which is exactly why versioning control is so needed to accomplish this.

> , indeed because other programs may need the old version when they can
> not handle changes made to the original procedure. I agree that
> versioning within the code is not the best way, but sometimes it can
> not be avoided. But the new procedure should not be considered a new
> version, but a complete new procedure, and like Álvaro states, be
> given a new name.

I disagree. Multiple schemas allow the same named objects. Make the schema name have the branch name and this would work. The issue is that there is a shared schema of tables. What do you do when the same named table has a different structure for the different branches? Hm... Adding new columns is now a subtype table. Removal of columns is a view that hides the column. Changing names of columns is views.

> If both procedures share a lot of code, the duplicate part should be
> taken out and be programmed as a separate procedure and be called by
> both procedures.

Well, this is exactly what they seemingly are scared to do. Touch the code.

-- 
Galen Boyer

--- news://freenews.netfront.net/ - complaints: news_at_netfront.net ---
Received on Fri Mar 12 2010 - 19:15:10 CST

Original text of this message