Subject RE: [Firebird-Architect] FB 2.0 Road Map
Author Samofatov, Nickolay
Hi, Dmitri!

> Thursday, September 9, 2004, 6:36:28 PM, you wrote:
>
> ABS> If (
> ABS> (Old.Quantity <> New.Quantity) or
> ABS> ((Old.Quantity is null) and (New.Quantity is not null)) or
> ABS> ((Old.Quantity is not null) and (New.Quantity is null))
> ABS> ) then
>
> Yaffil supports MS SQL-style == operator, i.e. yours code can
> be changed to
>
> if (Old.Quantity !== New.Quantity) then
>
> if I've not have mistaken.
>
> But, this is the question - will be == migrated from Yaffil
> to Firebird as other Yaffil features.

Last time I was talking to Dmitry Emanov he told me this Yaffil piece is
still a little bit flacky to be ported into Firebird safely at the
moment.

My opinion is that we should not go PostgreSQL way introducing 50+
custom operators made of all combinations of =, *, ~, ^, /, |, !, -, ?,
#, &, <, >, @ etc.

Oracle way of adding built-in functions seems like better idea to me.
Something like MODIFIED(A, B) returning TRUE if A differs from B
considering null as a special value seems to look better.
People can better read words instead of remembering 50 non-standard
symbol combinations. Note that many people come from C/C++ background
and may start mismatching = and == in expressions by accident. C/C++
would give a warning in such cases while Firebird won't.

> Dmitri Kouzmenko

Nickolay