Subject | Re: [Firebird-Architect] Metadata cache |
---|---|
Author | Alex Peshkov |
Post date | 2008-08-15T06:43:59Z |
On Thursday 14 August 2008 17:58, Adriano dos Santos Fernandes wrote:
Imagine that in the end of procedure someone changed:
ret1 = UDF_debet(bla-la-la1);
ret2 = UDF_kredit(bla-la-la2);
to:
ret2 = UDF_debet(bla-la-la1);
ret1 = UDF_kredit(bla-la-la2);
Type information is OK, no relation and field name at all. It's even possible
to redeclare UDFs!
I do not think we must take care about such cases - if format of messages is
OK, it's absolutely useless to try to care about something else. Or we must
always throw an error if some object is changed!
> Dmitry Yemanov escreveu:Adriano, I suppose you see yourself that in general case this is not possible.
> > Imagine some user selecting two fields (debit and credit) from a
> > procedure and someone else alters this procedure and changes the output
> > parameters order to the opposite one. The message format is still the
> > same, but the user application will start getting completely crazy
> > financial information. Should we care about such dumb situations?
>
> Yes, I think so. We can do it in DSQL verifying SQLDA members (type
> information, relation and field name) instead of doing it in engine
> format block.
Imagine that in the end of procedure someone changed:
ret1 = UDF_debet(bla-la-la1);
ret2 = UDF_kredit(bla-la-la2);
to:
ret2 = UDF_debet(bla-la-la1);
ret1 = UDF_kredit(bla-la-la2);
Type information is OK, no relation and field name at all. It's even possible
to redeclare UDFs!
I do not think we must take care about such cases - if format of messages is
OK, it's absolutely useless to try to care about something else. Or we must
always throw an error if some object is changed!