Re: [gnome-db] Introspection - DataModel structures
- From: Rodrigo Moya <rodrigo gnome-db org>
- To: Vivien <malerba gnome-db org>
- Cc: Murray Cumming <murrayc murrayc com>, gnome-db-list <gnome-db-list gnome org>
- Subject: Re: [gnome-db] Introspection - DataModel structures
- Date: Sat, 01 May 2004 22:45:05 +0200
On Tue, 2004-04-27 at 09:14 +0200, Vivien wrote:
> > On Sun, 2004-04-25 at 17:46 +0200, Murray Cumming wrote:
> >> On Fri, 2004-04-09 at 08:50, Vivien wrote:
> >> > Yes, the number and type of columns returned for each schema should be
> >> the
> >> > same for every provider (note that this is not yet the case and some
> >> work
> >> > needs to be done on some of the providers).
> >> >
> >> > The "format" of each returned data model for each schema is documented
> >> in
> >> > libgda's doc (such as
> >> > http://www.gnome-db.org/docs/libgda/libgda-provider-class.html#LIBGDA-PROVIDER-GET-SCHEMA).
> >>
> >> Are the types documented anywhere. For instance, when getting the
> >> GDA_CONNECTION_SCHEMA_FIELDS, the field type column is of type
> >> GDA_VALUE_TYPE_STRING, but I would expect it to be GDA_VALUE_TYPE_TYPE.
> >>
> >> This looks like a bug to me.
> >>
> > it should be GDA_VALUE_TYPE_TYPE, if the docs say _STRING, it's a bug
> > there. AFAIK, all providers use the _TYPE one.
>
> No, it's not a bug. The column returns the type of the corresponding field
> as understood by the DBMS, which is not the GDA type. The corresponding
> GDA type, for a DBMS data type is given by the SCHEMA_TYPES schema.
>
> For example Postgres has a data type for storing IP adresses and the
> returned data type is 'cidr' for such fields; the corresponding GDA type
> is STRING.
>
> It is necessary to keep that distinction for Mergeant at least (because of
> the plugin system which is really usefull only if the DBMS type is known).
>
> If you need to have the GDA type, then either you first get the
> SCHEMA_TYPES schema and keep a correspondance table, or you can use
> libmergeant which does it, or a new column could be added to the
> SCHEMA_FIELDS schema to return the GDA type.
>
I guess this would be a good solution, thus avoiding the need for
getting the types schema.
Although, even easier might be to have a type_to_gda virtual method on
the providers. What do you think?
cheers
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]