Subject Re: [Firebird-Architect] Re: Standard Conformance
Author Ann W. Harrison
At 09:24 AM 6/18/2003 +0000, peter_jacobi.rm wrote:

>Hmmm. As I've looked up there is no UNION DISTINCT in the

Good, then we won't add it. Yes, we do try to accept
syntactic sugar, but do it either when someone is working
on the parser or when the feature is implemented.

>BTW, the first reference found for "UNION DISTINCT" was
> and this article
>highlights a specific and a general point.

Interestingly, the quote is "There was never a UNION DISTINCT
option in the language." Whoever put together the matrix needs to
work on reading comprehension.

>Specific: Firebird doesn't implement the SQL:92 "TABLE t"
>as shortcut for "SELECT * FROM t"

According to the 92 spec,
<explicit table> ::= TABLE <table name>
and "Conforming Intermediate SQL shall contain no <explicit table>."

We have never made a claim to full compliance with 92,
just intermediate with some extensions and some features
of the full implementation. In some cases (INTERSECT,
EXCEPT) we don't even quite get to Intermediate. And when
somebody has a compelling need for INTERSECT or EXCEPT,
it will appear. Hasn't happened in the past 15 years.

>General: 'Value to whom?' => For a start, everyone reading an
>article, tutorial or book using standard SQL and wanting to do
>the examples and exercises with Firebird.

But an amazing number of articles, tutorials, and books are
written by people who don't follow the standard any more than
we do. And examples based on the full SQL language - '86,
'89, '92, '99 - are likely to fail most of the time on most

>Sorry if my enthusiasm for standard conformance may have
>looked somewhat religious here.

Sorry if we seem somewhat agnostic.

> I just wanted to state,
>that there is a argument for following the standard.
>Weighting it against the counter arguments in every case
>will give a hint on whether to do changes for better

Personally, I'm much happier having us follow the needs of
our users. If they ask for something that's in the standard,
fine, we'll use the standard syntax and semantics. If they
want something outside the standard, we'll check the syntax
and semantics used by other systems and use our judgement on
which, if any, to implement.


We have answers.