Subject Re: [firebird-support] Re: Left Join vs Not Exists
Author Ann W. Harrison
> Ann Harrison wrote:
>>Sure. Firebird doesn't implement the minus set operator.

Actually, there is no minus set operator in standard SQL. That's an
Oracle extension. There is an EXCEPT [ALL | DISTINCT] set operator
which is equivalent.

plinehan wrote:
> That strikes me as a gross flaw in FB (I assume IB is
> the same). Maybe one for the wish list - I was always
> impressed by the fact that IB/FB were standards
> driven. Why has it not been done?

The SQL standard is huge. Enormous. Vast. Gargantuan. Even bigger
than that. It includes whole constructs we've never even considered.
INTERSECT and EXCEPT are (arguably) cleaner ways to express conditions
that can currently be expressed with EXISTS. Since the rules
surrounding INTERSECT and EXCEPT are the same as UNION, we would
implement the same (utterly anal) requirements about data type matching
and spend the rest of eternity explaining why every term has to be cast.

I'd rather see us waste our time on something really innovative like:

<width bucket function> is a function of four arguments, returning an
integer between 0 (zero) and the value of the final argument plus 1
(one), by assigning the first argument to an equi-width partitioning of
the range of numbers between the second and third arguments. Values
outside the range between the second and third arguments are assigned to
either 0 (zero) or the value of the final argument plus 1 (one).

I guess this falls in the general category of not welcoming suggestions
about the future of the project. I'm probably over-reacting to the
phrase "gross flaw" - one that I normally reserve for things like
crashing when given unexpected input ... storing duplicates in primary
key indexes and that sort of mess...