| gda-config.h | | gda-config.h | |
|
| /* GDA library | | /* | |
| * Copyright (C) 2007 - 2010 The GNOME Foundation. | | * Copyright (C) 2007 - 2011 The GNOME Foundation. | |
| * | | * | |
| * AUTHORS: | | * AUTHORS: | |
| * Vivien Malerba <malerba@gnome-db.org> | | * Vivien Malerba <malerba@gnome-db.org> | |
| * | | * | |
| * This Library is free software; you can redistribute it and/or | | * This Library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Library General Public License as | | * modify it under the terms of the GNU Library General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | | * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) any later version. | | * License, or (at your option) any later version. | |
| * | | * | |
| * This Library is distributed in the hope that it will be useful, | | * This Library is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 52 | | skipping to change at line 52 | |
| extern GQuark gda_config_error_quark (void); | | extern GQuark gda_config_error_quark (void); | |
| #define GDA_CONFIG_ERROR gda_config_error_quark () | | #define GDA_CONFIG_ERROR gda_config_error_quark () | |
| | | | |
| typedef enum { | | typedef enum { | |
| GDA_CONFIG_DSN_NOT_FOUND_ERROR, | | GDA_CONFIG_DSN_NOT_FOUND_ERROR, | |
| GDA_CONFIG_PERMISSION_ERROR, | | GDA_CONFIG_PERMISSION_ERROR, | |
| GDA_CONFIG_PROVIDER_NOT_FOUND_ERROR, | | GDA_CONFIG_PROVIDER_NOT_FOUND_ERROR, | |
| GDA_CONFIG_PROVIDER_CREATION_ERROR | | GDA_CONFIG_PROVIDER_CREATION_ERROR | |
| } GdaConfigError; | | } GdaConfigError; | |
| | | | |
|
| | | /** | |
| | | * GdaDsnInfo: | |
| | | * @name: the (unique) name of the DSN (plain text, not RFC 1738 encoded) | |
| | | * @provider: the ID of the database provider to be used (plain text, not R | |
| | | FC 1738 encoded) | |
| | | * @description: a descriptive string (plain text, not RFC 1738 encoded), c | |
| | | an be %NULL. | |
| | | * @cnc_string: the connection string, a semi-colon separated <key>=< | |
| | | value> list where <key> and <value> are RFC 1738 encoded | |
| | | * @auth_string: the authentication string, a semi-colon separated <key> | |
| | | =<value> list where <key> and <value> are RFC 1738 encode | |
| | | d. Can be %NULL. | |
| | | * @is_system: %TRUE if the DSN is a system wide defined data source | |
| | | * | |
| | | * This structure defines the properties of a named data source (DSN). | |
| | | */ | |
| struct _GdaDsnInfo { | | struct _GdaDsnInfo { | |
|
| gchar *name; /* plain text, not RFC 1738 encoded */ | | gchar *name; | |
| gchar *provider; /* plain text, not RFC 1738 encoded */ | | gchar *provider; | |
| gchar *description; /* plain text, not RFC 1738 encoded */ | | gchar *description; | |
| gchar *cnc_string; /* semi-colon separated <key>=<value> list w | | gchar *cnc_string; | |
| here <key> and <value> are RFC 1738 encoded */ | | gchar *auth_string; | |
| gchar *auth_string; /* semi-colon separated <key>=<value> list w | | | |
| here <key> and <value> are RFC 1738 encoded */ | | | |
| gboolean is_system; | | gboolean is_system; | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| gpointer _gda_reserved1; | | gpointer _gda_reserved1; | |
| gpointer _gda_reserved2; | | gpointer _gda_reserved2; | |
| gpointer _gda_reserved3; | | gpointer _gda_reserved3; | |
| gpointer _gda_reserved4; | | gpointer _gda_reserved4; | |
| }; | | }; | |
| | | | |
|
| | | /** | |
| | | * GdaProviderInfo: | |
| | | * @id: the unique identifier of the database provider | |
| | | * @location: the complete path to the shared library implementing the data | |
| | | base provider | |
| | | * @dsn_params: a #GdaSet containing all the parameters which can/must be s | |
| | | pecified when opening a connection or defining a named data source (DSN) | |
| | | * @auth_params: a #GdaSet containing all the authentication parameters | |
| | | * | |
| | | * This structure holds the information associated to a database provider a | |
| | | s discovered by Libgda. | |
| | | */ | |
| struct _GdaProviderInfo { | | struct _GdaProviderInfo { | |
| gchar *id; | | gchar *id; | |
| gchar *location; | | gchar *location; | |
| gchar *description; | | gchar *description; | |
| GdaSet *dsn_params; /* Specs to create a DSN */ | | GdaSet *dsn_params; /* Specs to create a DSN */ | |
| GdaSet *auth_params; /* Specs to authenticate a client */ | | GdaSet *auth_params; /* Specs to authenticate a client */ | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| gpointer _gda_reserved1; | | gpointer _gda_reserved1; | |
| | | | |
End of changes. 4 change blocks. |
| 9 lines changed or deleted | | 35 lines changed or added | |
|
| gda-meta-store.h | | gda-meta-store.h | |
| /* gda-meta-store.h | | /* gda-meta-store.h | |
| * | | * | |
|
| * Copyright (C) 2008 - 2009 Vivien Malerba | | * Copyright (C) 2008 - 2011 Vivien Malerba | |
| * | | * | |
| * This Library is free software; you can redistribute it and/or | | * This Library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Library General Public License as | | * modify it under the terms of the GNU Library General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | | * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) any later version. | | * License, or (at your option) any later version. | |
| * | | * | |
| * This Library is distributed in the hope that it will be useful, | | * This Library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Library General Public License for more details. | | * Library General Public License for more details. | |
| | | | |
| skipping to change at line 98 | | skipping to change at line 98 | |
| struct _GdaMetaStoreClass | | struct _GdaMetaStoreClass | |
| { | | { | |
| GObjectClass parent_class; | | GObjectClass parent_class; | |
| GdaMetaStoreClassPrivate *cpriv; | | GdaMetaStoreClassPrivate *cpriv; | |
| | | | |
| /* signals the changes */ | | /* signals the changes */ | |
| void (*meta_reset) (GdaMetaStore *store); | | void (*meta_reset) (GdaMetaStore *store); | |
| GError *(*suggest_update)(GdaMetaStore *store, GdaMetaContext *sugg
est); | | GError *(*suggest_update)(GdaMetaStore *store, GdaMetaContext *sugg
est); | |
| void (*meta_changed) (GdaMetaStore *store, GSList *changes); | | void (*meta_changed) (GdaMetaStore *store, GSList *changes); | |
| | | | |
|
| | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| void (*_gda_reserved1) (void); | | void (*_gda_reserved1) (void); | |
| void (*_gda_reserved2) (void); | | void (*_gda_reserved2) (void); | |
| void (*_gda_reserved3) (void); | | void (*_gda_reserved3) (void); | |
| void (*_gda_reserved4) (void); | | void (*_gda_reserved4) (void); | |
| }; | | }; | |
| | | | |
| GType gda_meta_store_get_type (void) G_GNUC_CON
ST; | | GType gda_meta_store_get_type (void) G_GNUC_CON
ST; | |
| GdaMetaStore *gda_meta_store_new_with_file (const gchar *fil
e_name); | | GdaMetaStore *gda_meta_store_new_with_file (const gchar *fil
e_name); | |
| GdaMetaStore *gda_meta_store_new (const gchar *cnc
_string); | | GdaMetaStore *gda_meta_store_new (const gchar *cnc
_string); | |
| | | | |
| skipping to change at line 135 | | skipping to change at line 136 | |
| const gchar *att_
value, GError **error); | | const gchar *att_
value, GError **error); | |
| | | | |
| gboolean gda_meta_store_schema_add_custom_object (GdaMetaStore
*store, const gchar *xml_description, | | gboolean gda_meta_store_schema_add_custom_object (GdaMetaStore
*store, const gchar *xml_description, | |
| GError **error
); | | GError **error
); | |
| gboolean gda_meta_store_schema_remove_custom_object (GdaMetaStore
*store, const gchar *obj_name, GError **error); | | gboolean gda_meta_store_schema_remove_custom_object (GdaMetaStore
*store, const gchar *obj_name, GError **error); | |
| | | | |
| GSList *gda_meta_store_schema_get_all_tables (GdaMetaStore *st
ore); | | GSList *gda_meta_store_schema_get_all_tables (GdaMetaStore *st
ore); | |
| GSList *gda_meta_store_schema_get_depend_tables (GdaMetaStore *st
ore, const gchar *table_name); | | GSList *gda_meta_store_schema_get_depend_tables (GdaMetaStore *st
ore, const gchar *table_name); | |
| GdaMetaStruct *gda_meta_store_schema_get_structure (GdaMetaStore *st
ore, GError **error); | | GdaMetaStruct *gda_meta_store_schema_get_structure (GdaMetaStore *st
ore, GError **error); | |
| | | | |
|
| | | gboolean gda_meta_store_declare_foreign_key (GdaMetaStore *st | |
| | | ore, GdaMetaStruct *mstruct, | |
| | | const gchar *fk_n | |
| | | ame, | |
| | | const gchar *cata | |
| | | log, const gchar *schema, const gchar *table, | |
| | | const gchar *ref_ | |
| | | catalog, const gchar *ref_schema, const gchar *ref_table, | |
| | | guint nb_cols, | |
| | | gchar **colnames, | |
| | | gchar **ref_colnames, | |
| | | GError **error); | |
| | | | |
| | | gboolean gda_meta_store_undeclare_foreign_key (GdaMetaStore *st | |
| | | ore, GdaMetaStruct *mstruct, | |
| | | const gchar *fk_n | |
| | | ame, | |
| | | const gchar *cata | |
| | | log, const gchar *schema, const gchar *table, | |
| | | const gchar *ref_ | |
| | | catalog, const gchar *ref_schema, const gchar *ref_table, | |
| | | GError **error); | |
| | | | |
| G_END_DECLS | | G_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 25 lines changed or added | |
|
| gda-meta-struct.h | | gda-meta-struct.h | |
| /* gda-meta-struct.h | | /* gda-meta-struct.h | |
| * | | * | |
|
| * Copyright (C) 2008 - 2009 Vivien Malerba | | * Copyright (C) 2008 - 2011 Vivien Malerba | |
| * | | * | |
| * This Library is free software; you can redistribute it and/or | | * This Library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Library General Public License as | | * modify it under the terms of the GNU Library General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | | * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) any later version. | | * License, or (at your option) any later version. | |
| * | | * | |
| * This Library is distributed in the hope that it will be useful, | | * This Library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Library General Public License for more details. | | * Library General Public License for more details. | |
| | | | |
| skipping to change at line 59 | | skipping to change at line 59 | |
| { | | { | |
| GObject object; | | GObject object; | |
| GdaMetaStructPrivate *priv; | | GdaMetaStructPrivate *priv; | |
| }; | | }; | |
| | | | |
| /* struct for the object's class */ | | /* struct for the object's class */ | |
| struct _GdaMetaStructClass | | struct _GdaMetaStructClass | |
| { | | { | |
| GObjectClass parent_class; | | GObjectClass parent_class; | |
| | | | |
|
| | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| void (*_gda_reserved1) (void); | | void (*_gda_reserved1) (void); | |
| void (*_gda_reserved2) (void); | | void (*_gda_reserved2) (void); | |
| void (*_gda_reserved3) (void); | | void (*_gda_reserved3) (void); | |
| void (*_gda_reserved4) (void); | | void (*_gda_reserved4) (void); | |
| }; | | }; | |
| | | | |
|
| /* | | /** | |
| * Type of database object which can be handled | | * GdaMetaDbObjectType: | |
| | | * @GDA_META_DB_UNKNOWN: unknown type | |
| | | * @GDA_META_DB_TABLE: represents a table | |
| | | * @GDA_META_DB_VIEW: represents a view | |
| | | * | |
| | | * Type of database object which can be handled as a #GdaMetaDbObject | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| GDA_META_DB_UNKNOWN, | | GDA_META_DB_UNKNOWN, | |
| GDA_META_DB_TABLE, | | GDA_META_DB_TABLE, | |
| GDA_META_DB_VIEW | | GDA_META_DB_VIEW | |
| } GdaMetaDbObjectType; | | } GdaMetaDbObjectType; | |
| | | | |
| /* | | /* | |
| * Controls which features are computed about database objects | | * Controls which features are computed about database objects | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| GDA_META_STRUCT_FEATURE_NONE = 0, | | GDA_META_STRUCT_FEATURE_NONE = 0, | |
| GDA_META_STRUCT_FEATURE_FOREIGN_KEYS = 1 << 0, | | GDA_META_STRUCT_FEATURE_FOREIGN_KEYS = 1 << 0, | |
| GDA_META_STRUCT_FEATURE_VIEW_DEPENDENCIES = 1 << 1, | | GDA_META_STRUCT_FEATURE_VIEW_DEPENDENCIES = 1 << 1, | |
| | | | |
| GDA_META_STRUCT_FEATURE_ALL = GDA_META_STRUCT_FEATURE_
FOREIGN_KEYS | | | GDA_META_STRUCT_FEATURE_ALL = GDA_META_STRUCT_FEATURE_
FOREIGN_KEYS | | |
| GDA_META_STRUCT_FEATURE_
VIEW_DEPENDENCIES | | GDA_META_STRUCT_FEATURE_
VIEW_DEPENDENCIES | |
| } GdaMetaStructFeature; | | } GdaMetaStructFeature; | |
| | | | |
|
| /* | | /** | |
| | | * GdaMetaSortType: | |
| | | * @GDA_META_SORT_ALHAPETICAL: sort alphabetically | |
| | | * @GDA_META_SORT_DEPENDENCIES: sort by dependencies | |
| | | * | |
| * Types of sorting | | * Types of sorting | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| GDA_META_SORT_ALHAPETICAL, | | GDA_META_SORT_ALHAPETICAL, | |
| GDA_META_SORT_DEPENDENCIES | | GDA_META_SORT_DEPENDENCIES | |
| } GdaMetaSortType; | | } GdaMetaSortType; | |
| | | | |
| /** | | /** | |
| * GdaMetaTable: | | * GdaMetaTable: | |
| * @columns: list of #GdaMetaTableColumn structures, one for each column in
the table | | * @columns: list of #GdaMetaTableColumn structures, one for each column in
the table | |
| | | | |
| skipping to change at line 167 | | skipping to change at line 177 | |
| * @obj_name: the object's name | | * @obj_name: the object's name | |
| * @obj_short_name: the shortest way to name the object | | * @obj_short_name: the shortest way to name the object | |
| * @obj_full_name: the full name of the object (in the <schema>.<n
ameagt; notation | | * @obj_full_name: the full name of the object (in the <schema>.<n
ameagt; notation | |
| * @obj_owner: object's owner | | * @obj_owner: object's owner | |
| * @depend_list: list of #GdaMetaDbObject pointers on which this object dep
ends (through foreign keys | | * @depend_list: list of #GdaMetaDbObject pointers on which this object dep
ends (through foreign keys | |
| * or tables used for views) | | * or tables used for views) | |
| * | | * | |
| * Struture to hold information about each database object (tables, views,
...), | | * Struture to hold information about each database object (tables, views,
...), | |
| * its contents must not be modified. | | * its contents must not be modified. | |
| * | | * | |
|
| * Note: @obj_catalog, @obj_schema, @obj_name, @obj_short_name and @obj_ful | | * Note: @obj_catalog, @obj_schema, @obj_name, @obj_short_name and @obj_ful | |
| l_name are case sensitive: | | l_name respect the | |
| * one must use gda_sql_identifier_quote() to know if is it is necess | | * <link linkend="information_schema:sql_identifiers">SQL identifiers</link | |
| ary to surround by double quotes | | > convention used in | |
| * before using in an SQL statement | | * #GdaMetaStore objects. Before using these SQL identifiers, you should ch | |
| | | eck the | |
| | | * gda_sql_identifier_quote() to know if is it is necessary to surround by | |
| | | double quotes | |
| | | * before using in an SQL statement. | |
| */ | | */ | |
| typedef struct { | | typedef struct { | |
| /*< public >*/ | | /*< public >*/ | |
| union { | | union { | |
| GdaMetaTable meta_table; | | GdaMetaTable meta_table; | |
| GdaMetaView meta_view; | | GdaMetaView meta_view; | |
| } extra; | | } extra; | |
| GdaMetaDbObjectType obj_type; | | GdaMetaDbObjectType obj_type; | |
| gboolean outdated; | | gboolean outdated; | |
| gchar *obj_catalog; | | gchar *obj_catalog; | |
| gchar *obj_schema; | | gchar *obj_schema; | |
| gchar *obj_name; | | gchar *obj_name; | |
| gchar *obj_short_name; | | gchar *obj_short_name; | |
| gchar *obj_full_name; | | gchar *obj_full_name; | |
| gchar *obj_owner; | | gchar *obj_owner; | |
| | | | |
|
| GSList *depend_list; /* list of GdaMetaDbObject poin
ters on which this object depends */ | | GSList *depend_list; | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| gpointer _gda_reserved1; | | gpointer _gda_reserved1; | |
| gpointer _gda_reserved2; | | gpointer _gda_reserved2; | |
| gpointer _gda_reserved3; | | gpointer _gda_reserved3; | |
| gpointer _gda_reserved4; | | gpointer _gda_reserved4; | |
| } GdaMetaDbObject; | | } GdaMetaDbObject; | |
|
| #define GDA_META_DB_OBJECT(x) ((GdaMetaDbObject*)(x)) | | | |
| | | /** | |
| | | * GDA_META_DB_OBJECT: | |
| | | * @dbo: a pointer | |
| | | * | |
| | | * Casts @dbo to a #GdaMetaDbObject, no check is made on the validity of @d | |
| | | bo | |
| | | * | |
| | | * Returns: a pointer to a #GdaMetaDbObject | |
| | | */ | |
| | | #define GDA_META_DB_OBJECT(dbo) ((GdaMetaDbObject*)(dbo)) | |
| | | | |
| | | /** | |
| | | * GDA_META_TABLE: | |
| | | * @dbo: a pointer | |
| | | * | |
| | | * Casts @dbo to a #GdaMetaTable, no check is made on the validity of @dbo | |
| | | * | |
| | | * Returns: a pointer to a #GdaMetaTable | |
| | | */ | |
| #define GDA_META_TABLE(dbobj) (&((dbobj)->extra.meta_table)) | | #define GDA_META_TABLE(dbobj) (&((dbobj)->extra.meta_table)) | |
|
| | | | |
| | | /** | |
| | | * GDA_META_VIEW: | |
| | | * @dbo: a pointer | |
| | | * | |
| | | * Casts @dbo to a #GdaMetaView, no check is made on the validity of @dbo | |
| | | * | |
| | | * Returns: a pointer to a #GdaMetaView | |
| | | */ | |
| #define GDA_META_VIEW(dbobj) (&((dbobj)->extra.meta_view)) | | #define GDA_META_VIEW(dbobj) (&((dbobj)->extra.meta_view)) | |
| | | | |
| /** | | /** | |
| * GdaMetaTableColumn: | | * GdaMetaTableColumn: | |
| * @column_name: the column's name | | * @column_name: the column's name | |
| * @column_type: the column's DBMS's type | | * @column_type: the column's DBMS's type | |
| * @gtype: the detected column's #GType | | * @gtype: the detected column's #GType | |
| * @pkey: tells if the column is part of a primary key | | * @pkey: tells if the column is part of a primary key | |
| * @nullok: tells if the column can be %NULL | | * @nullok: tells if the column can be %NULL | |
| * @default_value: the column's default value | | * @default_value: the column's default value | |
| | | | |
| skipping to change at line 226 | | skipping to change at line 265 | |
| gboolean nullok; | | gboolean nullok; | |
| gchar *default_value; | | gchar *default_value; | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| gpointer _gda_reserved1; | | gpointer _gda_reserved1; | |
| gpointer _gda_reserved2; | | gpointer _gda_reserved2; | |
| gpointer _gda_reserved3; | | gpointer _gda_reserved3; | |
| gpointer _gda_reserved4; | | gpointer _gda_reserved4; | |
| } GdaMetaTableColumn; | | } GdaMetaTableColumn; | |
|
| #define GDA_META_TABLE_COLUMN(x) ((GdaMetaTableColumn*)(x)) | | | |
| | | /** | |
| | | * GDA_META_TABLE_COLUMN: | |
| | | * @col: a pointer | |
| | | * | |
| | | * Casts @col to a #GdaMetaTableColumn, no check is made | |
| | | * | |
| | | * Returns: @col, casted to a #GdaMetaTableColumn | |
| | | */ | |
| | | #define GDA_META_TABLE_COLUMN(col) ((GdaMetaTableColumn*)(col)) | |
| | | | |
| const GValue *gda_meta_table_column_get_attribute (GdaMetaTableColumn *tcol
, const gchar *attribute); | | const GValue *gda_meta_table_column_get_attribute (GdaMetaTableColumn *tcol
, const gchar *attribute); | |
| void gda_meta_table_column_set_attribute (GdaMetaTableColumn *tcol
, const gchar *attribute, const GValue *value, | | void gda_meta_table_column_set_attribute (GdaMetaTableColumn *tcol
, const gchar *attribute, const GValue *value, | |
| GDestroyNotify destroy); | | GDestroyNotify destroy); | |
| /** | | /** | |
| * gda_meta_table_column_set_attribute_static | | * gda_meta_table_column_set_attribute_static | |
| * @column: a #GdaMetaTableColumn | | * @column: a #GdaMetaTableColumn | |
| * @attribute: attribute's name | | * @attribute: attribute's name | |
| * @value: a #GValue, or %NULL | | * @value: a #GValue, or %NULL | |
| * | | * | |
| * This function is similar to gda_meta_table_column_set_attribute() but fo
r static strings | | * This function is similar to gda_meta_table_column_set_attribute() but fo
r static strings | |
| */ | | */ | |
| #define gda_meta_table_column_set_attribute_static(column,attribute,value)
gda_meta_table_column_set_attribute((column),(attribute),(value),NULL) | | #define gda_meta_table_column_set_attribute_static(column,attribute,value)
gda_meta_table_column_set_attribute((column),(attribute),(value),NULL) | |
| | | | |
| void gda_meta_table_column_foreach_attribute (GdaMetaTableColumn *
tcol, GdaAttributesManagerFunc func, gpointer data); | | void gda_meta_table_column_foreach_attribute (GdaMetaTableColumn *
tcol, GdaAttributesManagerFunc func, gpointer data); | |
| | | | |
| /** | | /** | |
|
| | | * GdaMetaForeignKeyPolicy: | |
| | | * @GDA_META_FOREIGN_KEY_UNKNOWN: unspecified policy | |
| | | * @GDA_META_FOREIGN_KEY_NONE: not enforced policy | |
| | | * @GDA_META_FOREIGN_KEY_NO_ACTION: return an error, no action taken | |
| | | * @GDA_META_FOREIGN_KEY_RESTRICT: same as @GDA_META_FOREIGN_KEY_NO_ACTION, | |
| | | not deferrable | |
| | | * @GDA_META_FOREIGN_KEY_CASCADE: policy is to delete any rows referencing | |
| | | the deleted row, or update the value of the referencing column to the new v | |
| | | alue of the referenced column, respectively | |
| | | * @GDA_META_FOREIGN_KEY_SET_NULL: policy is to set the referencing column | |
| | | to NULL | |
| | | * @GDA_META_FOREIGN_KEY_SET_DEFAULT: policy is to set the referencing colu | |
| | | mn to its default value | |
| | | * | |
| | | * Defines the filtering policy of a foreign key when invoked on an UPDATE | |
| | | * or DELETE operation. | |
| | | */ | |
| | | typedef enum { | |
| | | GDA_META_FOREIGN_KEY_UNKNOWN, | |
| | | GDA_META_FOREIGN_KEY_NONE, | |
| | | GDA_META_FOREIGN_KEY_NO_ACTION, | |
| | | GDA_META_FOREIGN_KEY_RESTRICT, | |
| | | GDA_META_FOREIGN_KEY_CASCADE, | |
| | | GDA_META_FOREIGN_KEY_SET_NULL, | |
| | | GDA_META_FOREIGN_KEY_SET_DEFAULT | |
| | | } GdaMetaForeignKeyPolicy; | |
| | | | |
| | | /** | |
| * GdaMetaTableForeignKey: | | * GdaMetaTableForeignKey: | |
| * @meta_table: the #GdaMetaDbObject for which this structure represents a
foreign key | | * @meta_table: the #GdaMetaDbObject for which this structure represents a
foreign key | |
| * @depend_on: the #GdaMetaDbObject which is referenced by the foreign key | | * @depend_on: the #GdaMetaDbObject which is referenced by the foreign key | |
| * @cols_nb: the size of the @fk_cols_array, @fk_names_array, @ref_pk_cols_
array and @ref_pk_names_array arrays | | * @cols_nb: the size of the @fk_cols_array, @fk_names_array, @ref_pk_cols_
array and @ref_pk_names_array arrays | |
| * @fk_cols_array: the columns' indexes in @meta_table which participate in
the constraint (WARNING: columns numbering | | * @fk_cols_array: the columns' indexes in @meta_table which participate in
the constraint (WARNING: columns numbering | |
| * here start at 1) | | * here start at 1) | |
| * @fk_names_array: the columns' names in @meta_table which participate in
the constraint | | * @fk_names_array: the columns' names in @meta_table which participate in
the constraint | |
| * @ref_pk_cols_array: the columns' indexes in @depend_on which participate
in the constraint (WARNING: columns numbering | | * @ref_pk_cols_array: the columns' indexes in @depend_on which participate
in the constraint (WARNING: columns numbering | |
| * here start at 1) | | * here start at 1) | |
| * @ref_pk_names_array: the columns' names in @depend_on which participate
in the constraint | | * @ref_pk_names_array: the columns' names in @depend_on which participate
in the constraint | |
| | | | |
| skipping to change at line 268 | | skipping to change at line 340 | |
| GdaMetaDbObject *meta_table; | | GdaMetaDbObject *meta_table; | |
| GdaMetaDbObject *depend_on; | | GdaMetaDbObject *depend_on; | |
| | | | |
| gint cols_nb; | | gint cols_nb; | |
| gint *fk_cols_array; /* FK fields index */ | | gint *fk_cols_array; /* FK fields index */ | |
| gchar **fk_names_array; /* FK fields names */ | | gchar **fk_names_array; /* FK fields names */ | |
| gint *ref_pk_cols_array; /* Ref PK fields index */ | | gint *ref_pk_cols_array; /* Ref PK fields index */ | |
| gchar **ref_pk_names_array; /* Ref PK fields names */ | | gchar **ref_pk_names_array; /* Ref PK fields names */ | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
|
| /* Padding for future expansion */ | | gpointer on_update_policy; /* pointer containing the GdaMet | |
| gpointer _gda_reserved1; | | aForeignKeyPolicy integer | |
| gpointer _gda_reserved2; | | * to keep ABI from 4.0, use GIN | |
| gpointer _gda_reserved3; | | T_TO_POINTER and | |
| gpointer _gda_reserved4; | | * GPOINTER_TO_INT */ | |
| | | gpointer on_delete_policy; /* pointer containing the GdaMet | |
| | | aForeignKeyPolicy integer | |
| | | * to keep ABI from 4.0, use GIN | |
| | | T_TO_POINTER and | |
| | | * GPOINTER_TO_INT */ | |
| | | gpointer declared; /* pointer to a boolean to keep ABI from | |
| | | 4.0. | |
| | | * Any non NULL if FK has been declared | |
| | | in meta data */ | |
| | | | |
| | | /*< public >*/ | |
| | | gchar *fk_name; | |
| } GdaMetaTableForeignKey; | | } GdaMetaTableForeignKey; | |
|
| #define GDA_META_TABLE_FOREIGN_KEY(x) ((GdaMetaTableForeignKey*)(x)) | | /** | |
| | | * GDA_META_TABLE_FOREIGN_KEY | |
| | | * @fk: a pointer | |
| | | * | |
| | | * Casts @fk to a #GdaMetaTableForeignKey (no check is actuelly being done | |
| | | on @fk's validity) | |
| | | * | |
| | | * Returns: @col, casted to a #GdaMetaTableForeignKey | |
| | | */ | |
| | | #define GDA_META_TABLE_FOREIGN_KEY(fk) ((GdaMetaTableForeignKey*)(fk)) | |
| | | | |
| | | /** | |
| | | * GDA_META_TABLE_FOREIGN_KEY_ON_UPDATE_POLICY: | |
| | | * @fk: a pointer to a #GdaMetaTableForeignKey | |
| | | * | |
| | | * Tells the actual policy implemented by @fk when used in the context of a | |
| | | n UPDATE. | |
| | | * | |
| | | * Returns: the policy as a #GdaMetaForeignKeyPolicy | |
| | | */ | |
| | | #define GDA_META_TABLE_FOREIGN_KEY_ON_UPDATE_POLICY(fk) ((GdaMetaForeignKey | |
| | | Policy) GPOINTER_TO_INT ((GdaMetaTableForeignKey*)(fk)->on_update_policy)) | |
| | | | |
| | | /** | |
| | | * GDA_META_TABLE_FOREIGN_KEY_ON_DELETE_POLICY: | |
| | | * @fk: a pointer to a #GdaMetaTableForeignKey | |
| | | * | |
| | | * Tells the actual policy implemented by @fk when used in the context of a | |
| | | DELETE. | |
| | | * | |
| | | * Returns: the policy as a #GdaMetaForeignKeyPolicy | |
| | | */ | |
| | | #define GDA_META_TABLE_FOREIGN_KEY_ON_DELETE_POLICY(fk) ((GdaMetaForeignKey | |
| | | Policy) GPOINTER_TO_INT ((GdaMetaTableForeignKey*)(fk)->on_delete_policy)) | |
| | | | |
| | | /** | |
| | | * GDA_META_TABLE_FOREIGN_KEY_IS_DECLARED | |
| | | * @fk: a pointer to a #GdaMetaTableForeignKey | |
| | | * | |
| | | * Tells if @fk is an actual foreign key defined in the database's schema, | |
| | | or if it is an indication which | |
| | | * has been added to help Libgda understand the database schema. | |
| | | * | |
| | | * Returns: %TRUE if @fk has been declared in the database's meta data and | |
| | | %FALSE if @fk is an actual foreign key defined in the database's schema | |
| | | */ | |
| | | #define GDA_META_TABLE_FOREIGN_KEY_IS_DECLARED(fk) ((((GdaMetaTableForeignK | |
| | | ey*)(fk))->declared) ? TRUE : FALSE) | |
| | | | |
| GType gda_meta_struct_get_type (void) G_GNUC_CONST; | | GType gda_meta_struct_get_type (void) G_GNUC_CONST; | |
| GdaMetaStruct *gda_meta_struct_new (GdaMetaStore *store
, GdaMetaStructFeature features); | | GdaMetaStruct *gda_meta_struct_new (GdaMetaStore *store
, GdaMetaStructFeature features); | |
| GdaMetaDbObject *gda_meta_struct_complement (GdaMetaStruct *mstr
uct, GdaMetaDbObjectType type, | | GdaMetaDbObject *gda_meta_struct_complement (GdaMetaStruct *mstr
uct, GdaMetaDbObjectType type, | |
| const GValue *catalo
g, const GValue *schema, const GValue *name, | | const GValue *catalo
g, const GValue *schema, const GValue *name, | |
| GError **error); | | GError **error); | |
| gboolean gda_meta_struct_complement_schema (GdaMetaStruct *mstr
uct, | | gboolean gda_meta_struct_complement_schema (GdaMetaStruct *mstr
uct, | |
| const GValue *catalo
g, const GValue *schema, GError **error); | | const GValue *catalo
g, const GValue *schema, GError **error); | |
| gboolean gda_meta_struct_complement_default (GdaMetaStruct *mstr
uct, GError **error); | | gboolean gda_meta_struct_complement_default (GdaMetaStruct *mstr
uct, GError **error); | |
| gboolean gda_meta_struct_complement_all (GdaMetaStruct *mstr
uct, GError **error); | | gboolean gda_meta_struct_complement_all (GdaMetaStruct *mstr
uct, GError **error); | |
| | | | |
End of changes. 12 change blocks. |
| 18 lines changed or deleted | | 157 lines changed or added | |
|