Re: New Procedurs With Version# In Name

From: Álvaro G. Vicario <alvaro.NOSPAMTHANX_at_demogracia.com.invalid>
Date: Thu, 11 Mar 2010 10:09:10 +0100
Message-ID: <hnabvo$a83$1_at_news.eternal-september.org>



El 11/03/2010 6:17, Mladen Gogala escribió/wrote:
> 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.

Version control cannot really help in the problem he described: I don't think they want to push changes to the live server and then revert those changes one month later when they learn they broke some third-party out there. (Of course, version control is a basic tool for development anyway.)

As for the OP, I see two possibilities:

  1. The procedure is modified in order to fix a bug or make an optimization
  2. The procedure is modified to alter its functionality

In the first case, the appropriate tool is unit testing. The procedure should have a bunch of test cases so they can detect if a change of enhanment breaks backward compatibility.

In the second case, it should be carefully considered if it's possible to add new functionality while keeping backwards compatibility. If it's not possible, it's likely that the procedure should not replace the old one; but it should not have a name like sp_customer_list_v2 but something on the line of sp_customer_list_for_mailing.

-- 
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://borrame.com
-- Mi web de humor satinado: http://www.demogracia.com
--
Received on Thu Mar 11 2010 - 03:09:10 CST

Original text of this message