Subject Re: [firebird-support] Firebird == Standard SQL ???
Author Helen Borrie
At 08:33 AM 1/08/2007, you wrote:
>Hi,
>
>After reading the documentation for Firebird, I understand it to use
>SQL:1999 standard.

Incorrect. Software doesn't *use* a standard, it *complies* (or not)
with a standard.

Furthermore, compliance means that *if* a feature is implemented,
then it is implemented in a way that complies with the
standard. (The SQL standards in fact have a kind of base set of
features that must be present in order for a language to be called
SQL...it is quite a small set.)

>I am particularly interested in data types.
>
>The question is:
>
>Does firebird support all data types defined within the SQL:1999 standard
>???

I'm sure it doesn't....But "all or a subset" not relevant to
standards compliance. The standard is a complex and voluminous set
of specifications. Compliance with any specification is a matter of
degree. Firebird is at the high end of compliance - meaning that, of
the [whatevers] it implements, most of them comply with the standards
specified for the features that it implements.

Even so, no SQL language implementation, including Firebird, is 100%
compliant. You need to consult the documentation of each SQL language
to find out what data types it supports and whether each one complies
(partly/fully) with the standard you are interested in.

>Or does it only support a subset of this standard???

The standard will have (or will plan to have) specifications for
every possible data type that might be wanted in any SQL language
implementation, regardless of chipset architecture. If you think of
that as "the superset" then it could be said that only "subsets" are
supported by any actual implementation, since support of members of
this theoretical superset will be limited to what it is possible to
implement for the intended platforms that the particular SQL language
is designed to run on....and there is that basic "subset" of data
types that a language has to support, in order to pass the entry
level for being regarded as "SQL".

FWIW, not all Firebird's data types are compliant with the
standards. I think you have The Firebird Book...there's a chapter in
Part Five discussing some of these issues.

./heLen