[fpc-pascal] Re: RE : RE : Re: SQLDB GetSchemaInfoSQL for indexesetc?
michael.vancanneyt at wisa.be
michael.vancanneyt at wisa.be
Thu Apr 19 16:46:39 CEST 2012
On Thu, 19 Apr 2012, Ludo Brands wrote:
>
>>> Has anybody used this functionality in sqldb at all?
>>
>> No. For a simple reason:
>>
>> I implemented all this information in fpdatadict;
>> I think it belongs more there, and definitely not in the
>> basic data API.
>>
>
> Some of the metadata are necessary in the basic data API (tables, columns,
> indices) and are a partial overlap with the TFPDDEngine descendants. >From an
> abstraction perspective, I think it is better to have database specifics as
> much as possible in one location and use standards as much as possible when
> specifying metadata.
>
> To be honest, I just discovered fpdatadict. Probably the missing
> implementation of a lot of the databases is one of the reasons why I haven't
> noticed it before.
> First impression is that the fpdatadict implementation makes sense but
> unfortunately the properties used are perhaps close to one particular
> database but are insufficient or confusing for other databases (no reference
> to schema or catalog, NUMERIC_SCALE, length vs. octet_length,
> collation,...).
The data dictionary is an extension of what existed in the BDE times in
Borland. It also featured a data dictionary but for some reason, Borland
abandonded it (never understood why, as it is a good idea).
This explains why it uses in large part that terminology.
Other parts are based on firebird terminology for the simple reason that I
use that database for all my projects. Even the database diff is in
production use.
As for re-using existing terminology (schema data etc.), this is dangerous
as it creates the expectation that the implementation conforms to a certain
standard, which is what I want to avoid.
(I don't believe I've ever used the word schema in connection to a database.
I think of an electrical wiring blueprint if I hear that word ;) )
But adding some aliases and add new features such as octet_length should
not be a problem (NUMERIC_SCALE exists in precision).
Michael.
More information about the fpc-pascal
mailing list