Alex,

Dne 15. 06. 20 v 16:20 Alex Peshkoff via Firebird-devel napsal(a):
On 2020-06-11 19:56, Pavel Cisar wrote:
Adriano,

Dne 11. 06. 20 v 16:38 Adriano dos Santos Fernandes napsal(a):
2. Strange things with iUtil in FB 4.

a) Why methods getDecFloat16, getDecFloat34 and getInt128 require
iStatus parameter? I expected that these methods should be "safe" like
iMaster.getUtilInterface() and thus should not require iStatus.

Methods that appear in non first version of an interface should have the
status parameter as even if never return an error, it may be missing on
a previous interface, which is an error. More below.

Hmm, guess that it would make sense to have mandatory iStatus as first parameter in each method (regardless it's use to report errors), in any method added after initial 3.0 release. So there is in fact an error in IDecFloat16/34 interfaces that should be fixed before final, as BCD methods does not have it.


Pay attention - not "each method added after FB3", but "each method that appear in non first version of an interface". I.e. DecFloat16/34 interfaces are OK.

I really don't understand the rationale behind these strange rules. What I see is pure inconsistency as there are methods that have iStatus although they don't need it for anything, and methods that doesn't have it because they don't need it for anything. Could anyone explain what splitting these by fact it's first version of an interface or upgraded one is good for? It should have really strong technical reason to have such confusing rule. For interface consumer, presence of iStatus was clear indication that method may fail, and absence that it never fails. It was true for FB 3.0. Now it's not true anymore and I'd like understand why.

best regards
Pavel



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to