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 &lt;key>=&lt;
value&gt; list where &lt;key&gt; and &lt;value&gt; are RFC 1738 encoded
* @auth_string: the authentication string, a semi-colon separated &lt;key>
=&lt;value&gt; list where &lt;key&gt; and &lt;value&gt; 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-enum-types.h   gda-enum-types.h 
skipping to change at line 82 skipping to change at line 82
#define GDA_TYPE_META_STORE_CHANGE_TYPE (gda_meta_store_change_type_get_typ e()) #define GDA_TYPE_META_STORE_CHANGE_TYPE (gda_meta_store_change_type_get_typ e())
/* enumerations from "gda-meta-struct.h" */ /* enumerations from "gda-meta-struct.h" */
GType gda_meta_struct_error_get_type (void); GType gda_meta_struct_error_get_type (void);
#define GDA_TYPE_META_STRUCT_ERROR (gda_meta_struct_error_get_type()) #define GDA_TYPE_META_STRUCT_ERROR (gda_meta_struct_error_get_type())
GType gda_meta_db_object_type_get_type (void); GType gda_meta_db_object_type_get_type (void);
#define GDA_TYPE_META_DB_OBJECT_TYPE (gda_meta_db_object_type_get_type()) #define GDA_TYPE_META_DB_OBJECT_TYPE (gda_meta_db_object_type_get_type())
GType gda_meta_struct_feature_get_type (void); GType gda_meta_struct_feature_get_type (void);
#define GDA_TYPE_META_STRUCT_FEATURE (gda_meta_struct_feature_get_type()) #define GDA_TYPE_META_STRUCT_FEATURE (gda_meta_struct_feature_get_type())
GType gda_meta_sort_type_get_type (void); GType gda_meta_sort_type_get_type (void);
#define GDA_TYPE_META_SORT_TYPE (gda_meta_sort_type_get_type()) #define GDA_TYPE_META_SORT_TYPE (gda_meta_sort_type_get_type())
GType gda_meta_foreign_key_policy_get_type (void);
#define GDA_TYPE_META_FOREIGN_KEY_POLICY (gda_meta_foreign_key_policy_get_t
ype())
GType gda_meta_graph_info_get_type (void); GType gda_meta_graph_info_get_type (void);
#define GDA_TYPE_META_GRAPH_INFO (gda_meta_graph_info_get_type()) #define GDA_TYPE_META_GRAPH_INFO (gda_meta_graph_info_get_type())
/* enumerations from "gda-set.h" */ /* enumerations from "gda-set.h" */
GType gda_set_error_get_type (void); GType gda_set_error_get_type (void);
#define GDA_TYPE_SET_ERROR (gda_set_error_get_type()) #define GDA_TYPE_SET_ERROR (gda_set_error_get_type())
/* enumerations from "gda-server-operation.h" */ /* enumerations from "gda-server-operation.h" */
GType gda_server_operation_type_get_type (void); GType gda_server_operation_type_get_type (void);
#define GDA_TYPE_SERVER_OPERATION_TYPE (gda_server_operation_type_get_type( )) #define GDA_TYPE_SERVER_OPERATION_TYPE (gda_server_operation_type_get_type( ))
GType gda_server_operation_error_get_type (void); GType gda_server_operation_error_get_type (void);
#define GDA_TYPE_SERVER_OPERATION_ERROR (gda_server_operation_error_get_typ e()) #define GDA_TYPE_SERVER_OPERATION_ERROR (gda_server_operation_error_get_typ e())
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 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 &lt;schema&gt;.&lt;n ameagt; notation * @obj_full_name: the full name of the object (in the &lt;schema&gt;.&lt;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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/