Re: [gnome-db] gda_data_model_describe_column
- From: Rodrigo Moya <rodrigo gnome-db org>
- To: Vivien Malerba <vmalerba gmail com>
- Cc: GDA <gnome-db-list gnome org>
- Subject: Re: [gnome-db] gda_data_model_describe_column
- Date: Wed, 10 Nov 2004 13:20:48 +0100
On Wed, 2004-11-10 at 10:24 +0100, Vivien Malerba wrote:
> On Tue, 9 Nov 2004 21:48:26 -0700, Neil Zanella <nzanella gmail com> wrote:
> > What's the point of this method: ?
> >
> > GdaFieldAttributes* gda_data_model_describe_column
> > (GdaDataModel *model,
> > gint col);
> >
> > Or rahter, what's the point of returning this?
> >
> > struct GdaFieldAttributes {
> >
> > gint defined_size;
> > gchar *name;
> > gchar *table;
> > gchar *caption;
> > gint scale;
> > GdaValueType gda_type;
> > gboolean allow_null;
> > gboolean primary_key;
> > gboolean unique_key;
> > gchar *references;
> > gboolean auto_increment;
> > glong auto_increment_start;
> > glong auto_increment_step;
> > gint position;
> > GdaValue *default_value;
> > };
> >
> > Can we change this struct. What does "gboolean unique_key;" mean? Does it mean
> > the column by itself is a unique key? Make that boolean a pointer to a structure
> > containing all unique key structures in which the given column participates. It
> > would make more sense? A table can have more than one unique key
> > composed of more than one field. Then again, struct GdaFieldAttributes
> > is undocumented so it's hard to make sense of it right now. Anyways,
> > please change it, cause it doesn't seem right. Do this:
> >
> > struct GdaFieldAttributes {
> >
> > gint defined_size;
> > gchar *name;
> > gchar *table;
> > gchar *caption;
> > gint scale;
> > GdaValueType gda_type;
> > gboolean allow_null;
> > GdaPrimaryKey *primary_key;
> > GdaUniqueKeys **unique_keys;
> > GdaReferences **references;
> > gboolean auto_increment;
> > glong auto_increment_start;
> > glong auto_increment_step;
> > gint position;
> > GdaValue *default_value;
> > };
> >
>
> Personnaly I believe that there is too much information in that
> structure: we are mixing database schema information with resultset
> information; the database schema information can be retreived using
> the specific schema information already provided by libgda.
>
well, we are returning all information that is known about the fields in
the recordset (or when we know that, since in some cases we don't).
> I and would limit down to the same kind of information for the JDBC
> ResultSetMetaData interface (see
> http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSetMetaData.html),
> it would then become:
>
> struct GdaFieldAttributes {
> // name and position
> gchar *name;
> gchar *label;
> gint position;
>
> // data type
> GdaValueType gda_type;
> gchar *dbms_type; <-- Real DBMS type name for
> the column
> gint precision;
> gint scale;
>
> // optionnal
> gboolean allow_null;
> gboolean auto_increment;
> gchar *table_name; <-- need to define exactely
> when it is filled and what it means; I doubt its utility.
>
probably this is only needed internally in the data model
implementation, not for data model users.
> };
>
> Maybe renaming that to GdaDataColumnAttributes would make its purpose
> clear and without ambiguities.
>
maybe, yes. But removing that information might make it difficult for
data model implementations to be self-contained, for allowing updates,
removals, additions. Not sure.
--
Rodrigo Moya <rodrigo gnome-db org>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]