Subject | Re: [Firebird-Architect] Metadata locking policy and caching |
---|---|
Author | Fabricio Araujo |
Post date | 2008-08-06T21:37:31Z |
Some tools works this way to handle this ( the syntax is
purposedly incomplete for simplicity sake):
proc B(parm2:integer)
begin
<code>
end;
proc A(parm1:char(20))
begin
<code>
<code>
proc B(2)
end;
When those tools encounter that scenario, they do the following script
(let's say it included a new parameter in B)
alter proc A(parm1:char(20))
begin
end;
alter proc B(parm2:integer)
begin
end;
alter proc B(parm2:integer; parm3: varchar(30))
begin
<code>
end;
alter proc A(parm1:char(20))
begin
<code>
<code>
proc B(2,'blablalbal')
end;
commit work;
Firstly, nullifying the dependences and in the sequence entering the correct
code.
Adriano dos Santos Fernandes escreveu:
purposedly incomplete for simplicity sake):
proc B(parm2:integer)
begin
<code>
end;
proc A(parm1:char(20))
begin
<code>
<code>
proc B(2)
end;
When those tools encounter that scenario, they do the following script
(let's say it included a new parameter in B)
alter proc A(parm1:char(20))
begin
end;
alter proc B(parm2:integer)
begin
end;
alter proc B(parm2:integer; parm3: varchar(30))
begin
<code>
end;
alter proc A(parm1:char(20))
begin
<code>
<code>
proc B(2,'blablalbal')
end;
commit work;
Firstly, nullifying the dependences and in the sequence entering the correct
code.
Adriano dos Santos Fernandes escreveu:
>
> Paul Hope escreveu:
> > I hang around on this group only half understanding most of what is
> > discussed - but this latest discussion is ringing alarm bells ...
> >
> > To us it is absolutely essential that the ability to update metadata
> on a
> > live database remains at least as felexible as it is now (FB1.5 SS).
> There
> > is no way we can ask users to shut down while we make minor updates.
> We've
> > been doing this without problem for the past 13 years.
> >
> Well, I consider shutdown the safest approach to do metadata changes
> *now*. :-)
>
> Are you aware that if Proc0 calls Proc1, Proc0 was already called be any
> connection, and you change Proc1, Proc0 will call the old version of
> Proc1?
>
> Did you use any tool that recompile (recreate) dependencies?
>
> Adriano
>
>