diff --git a/libgda/gda-ddl-column.c b/libgda/gda-ddl-column.c index b8c1bc70b6962c11bdfda44ccc1cde648d050204..ac3057e673c9485e0c0c0272db44c68ba1d60f08 100644 --- a/libgda/gda-ddl-column.c +++ b/libgda/gda-ddl-column.c @@ -336,6 +336,7 @@ gda_ddl_column_parse_node (GdaDdlBuildable *buildable, { g_return_val_if_fail (buildable,FALSE); g_return_val_if_fail (node,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); /*TODO: Appropriate error should be set an returned. * It should be added to the header file first @@ -448,6 +449,7 @@ gda_ddl_column_write_node (GdaDdlBuildable *buildable, { g_return_val_if_fail (buildable,FALSE); g_return_val_if_fail (rootnode,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlColumn *self = GDA_DDL_COLUMN (buildable); @@ -548,7 +550,8 @@ _gda_ddl_column_set_type (GdaDdlColumn *self, { g_return_if_fail (self); g_return_if_fail (type); - // g_return_if_fail (!*error); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); + GdaDdlColumnPrivate *priv = gda_ddl_column_get_instance_private (self); GType ttype = gda_g_type_from_string (type); if (ttype != G_TYPE_INVALID){ @@ -997,6 +1000,7 @@ gda_ddl_column_prepare_create (GdaDdlColumn *self, { g_return_val_if_fail(self,FALSE); g_return_val_if_fail(op,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlColumnPrivate *priv = gda_ddl_column_get_instance_private (self); @@ -1082,6 +1086,10 @@ gda_ddl_column_prepare_add (GdaDdlColumn *self, GdaServerOperation *op, GError **error) { + g_return_val_if_fail (self,FALSE); + g_return_val_if_fail (op,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); + GdaDdlColumnPrivate *priv = gda_ddl_column_get_instance_private (self); if(!gda_server_operation_set_value_at(op,priv->mp_name,error, diff --git a/libgda/gda-ddl-creator.c b/libgda/gda-ddl-creator.c index a3815c7e4d57bf6c00a1e250ee8c649455d25f1b..040574e83a461a17d624014788f78edf0e8de259 100644 --- a/libgda/gda-ddl-creator.c +++ b/libgda/gda-ddl-creator.c @@ -176,6 +176,7 @@ _gda_ddl_creator_validate_doc (xmlDocPtr doc, GError **error) { g_return_val_if_fail (doc,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); xmlValidCtxtPtr ctx = NULL; @@ -227,6 +228,7 @@ _gda_ddl_creator_parse_doc (GdaDdlCreator *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (doc,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); xmlChar *schema_name = NULL; xmlNodePtr node = NULL; @@ -359,6 +361,7 @@ gda_ddl_creator_parse_file_from_path (GdaDdlCreator *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (xmlfile,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); g_return_val_if_fail (_gda_ddl_creator_dtd,FALSE); xmlDocPtr doc = NULL; @@ -413,6 +416,7 @@ gda_ddl_creator_validate_file_from_path (const gchar *xmlfile, { g_return_val_if_fail (xmlfile,FALSE); g_return_val_if_fail (_gda_ddl_creator_dtd,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); xmlDocPtr doc = NULL; @@ -523,6 +527,9 @@ gda_ddl_creator_get_view (GdaDdlCreator *self, const gchar *schema, const gchar *name) { + g_return_val_if_fail (self,NULL); + g_return_val_if_fail (name,NULL); + GdaDdlCreatorPrivate *priv = gda_ddl_creator_get_instance_private (self); GList *it = NULL; @@ -534,7 +541,7 @@ gda_ddl_creator_get_view (GdaDdlCreator *self, if (!gda_ddl_base_compare (iobj,GDA_DDL_BASE(it))) { gda_ddl_base_free (iobj); - return GDA_DDL_VIEW(it); + return GDA_DDL_VIEW(it); } gda_ddl_base_free (iobj); @@ -558,6 +565,7 @@ gda_ddl_creator_parse_cnc (GdaDdlCreator *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (cnc,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); if (!gda_connection_is_opened (cnc)) return FALSE; @@ -630,6 +638,7 @@ gda_ddl_creator_append_table (GdaDdlCreator *self, const GdaDdlTable *table) { g_return_if_fail (self); + g_return_if_fail (table); GdaDdlCreatorPrivate *priv = gda_ddl_creator_get_instance_private (self); @@ -650,6 +659,7 @@ gda_ddl_creator_append_view (GdaDdlCreator *self, const GdaDdlView *view) { g_return_if_fail (self); + g_return_if_fail (view); GdaDdlCreatorPrivate *priv = gda_ddl_creator_get_instance_private (self); @@ -689,6 +699,7 @@ gda_ddl_creator_perform_operation (GdaDdlCreator *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (cnc,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); if (!gda_connection_is_opened (cnc)) { @@ -731,7 +742,8 @@ gda_ddl_creator_perform_operation (GdaDdlCreator *self, g_value_set_string (schema ,gda_ddl_base_get_schema (it->data)); g_value_set_string (name ,gda_ddl_base_get_name (it->data)); - mobj = gda_meta_struct_complement (mstruct,GDA_META_DB_TABLE,catalog,schema,name,error); + /* We need to ignore error in the following call */ + mobj = gda_meta_struct_complement (mstruct,GDA_META_DB_TABLE,catalog,schema,name,NULL); if (mobj) { @@ -791,6 +803,7 @@ gda_ddl_creator_write_to_file (GdaDdlCreator *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (file,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); gchar *filepath = g_file_get_path (file); gboolean res = gda_ddl_creator_write_to_path (self,filepath,error); @@ -817,6 +830,7 @@ gda_ddl_creator_write_to_path (GdaDdlCreator *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (path,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlCreatorPrivate *priv = gda_ddl_creator_get_instance_private (self); @@ -873,6 +887,7 @@ gda_ddl_creator_parse_file (GdaDdlCreator *self, g_return_val_if_fail (self,FALSE); g_return_val_if_fail (xmlfile,FALSE); g_return_val_if_fail (_gda_ddl_creator_dtd,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GFileInputStream *istream = NULL; xmlDocPtr doc = NULL; diff --git a/libgda/gda-ddl-fkey.c b/libgda/gda-ddl-fkey.c index d1732afe84cb5ce1f1ca1f04e241bc72b1c0aee8..f8f5978962962e724b74d271555fcb458245c498 100644 --- a/libgda/gda-ddl-fkey.c +++ b/libgda/gda-ddl-fkey.c @@ -102,21 +102,23 @@ gda_ddl_fkey_new (void) /** * gda_ddl_fkey_new_from_meta: * @metafkey: a #GdaMetaTableForeignKey instance - * - * Create a new instance from the corresponding meta object. If @metafkey is %NULL, + * + * Create a new instance from the corresponding meta object. If @metafkey is %NULL, * this function is identical to gda_ddl_fkey_new() * */ GdaDdlFkey* gda_ddl_fkey_new_from_meta (GdaMetaTableForeignKey *metafkey) { + g_return_val_if_fail (metafkey,NULL); + if (!metafkey) return gda_ddl_fkey_new(); GdaMetaDbObject *refobject = GDA_META_DB_OBJECT (metafkey->meta_table); GdaDdlFkey *fkey = gda_ddl_fkey_new (); - + gda_ddl_fkey_set_ref_table (fkey,refobject->obj_full_name); for (gint i = 0; i < metafkey->cols_nb; i++) @@ -143,7 +145,7 @@ gda_ddl_fkey_new_from_meta (GdaMetaTableForeignKey *metafkey) default: break; } - + policy = GDA_META_TABLE_FOREIGN_KEY_ON_DELETE_POLICY(metafkey); switch (policy) { @@ -235,7 +237,8 @@ gda_ddl_fkey_parse_node (GdaDdlBuildable *buildable, { g_return_val_if_fail (buildable,FALSE); g_return_val_if_fail (node, FALSE); - + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); + /* * * @@ -336,6 +339,7 @@ gda_ddl_fkey_write_node (GdaDdlBuildable *buildable, { g_return_val_if_fail (buildable, FALSE); g_return_val_if_fail (rootnode,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlFkey *self = GDA_DDL_FKEY (buildable); GdaDdlFkeyPrivate *priv = gda_ddl_fkey_get_instance_private (self); @@ -345,7 +349,7 @@ gda_ddl_fkey_write_node (GdaDdlBuildable *buildable, xmlNewProp (node,BAD_CAST gdaddlfkeynodes[GDA_DDL_FKEY_REFTABLE], BAD_CAST priv->mp_ref_table); - + xmlNewProp (node,BAD_CAST gdaddlfkeynodes[GDA_DDL_FKEY_ONUPDATE], BAD_CAST priv->m_onupdate); @@ -382,7 +386,7 @@ gda_ddl_fkey_buildable_interface_init (GdaDdlBuildableInterface *iface) * @self: An object #GdaDdlFkey * * Return: ON DELETE action as a string. If the action is not set then the string corresponding to - * NO_ACTION is returned. + * NO_ACTION is returned. * * Since: 6.0 */ @@ -399,16 +403,19 @@ gda_ddl_fkey_get_ondelete (GdaDdlFkey *self) /** * gda_ddl_fkey_get_ondelete_id: * @self: a #GdaDdlFkey object - * + * * The default value is %NO_ACTION * - * Return: ON DELETE action as a #GdaDdlFkeyReferenceAction. + * Return: ON DELETE action as a #GdaDdlFkeyReferenceAction. If %NULL is passed as argument then + * a special value %GDA_DDL_FKEY_ERROR is returned. * * Since: 6.0 */ GdaDdlFkeyReferenceAction gda_ddl_fkey_get_ondelete_id (GdaDdlFkey *self) { + g_return_val_if_fail (self,GDA_DDL_FKEY_ERROR); + GdaDdlFkeyPrivate *priv = gda_ddl_fkey_get_instance_private (self); return priv->m_ondelete; @@ -483,6 +490,8 @@ gda_ddl_fkey_get_onupdate (GdaDdlFkey *self) GdaDdlFkeyReferenceAction gda_ddl_fkey_get_onupdate_id (GdaDdlFkey *self) { + g_return_val_if_fail (self,GDA_DDL_FKEY_ERROR); + GdaDdlFkeyPrivate *priv = gda_ddl_fkey_get_instance_private (self); return priv->m_onupdate; @@ -597,7 +606,7 @@ gda_ddl_fkey_set_field (GdaDdlFkey *self, * @op: a #GdaServerOperation to populate * @error: error container * - * Prepare @op object for execution by populating with information stored in @self. + * Prepare @op object for execution by populating with information stored in @self. * * Returns: %TRUE if no error or %FALSE otherwise. * @@ -608,6 +617,10 @@ gda_ddl_fkey_prepare_create (GdaDdlFkey *self, GdaServerOperation *op, GError **error) { + g_return_val_if_fail (self,FALSE); + g_return_val_if_fail (op,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); + GdaDdlFkeyPrivate *priv = gda_ddl_fkey_get_instance_private (self); if (!gda_server_operation_set_value_at(op, diff --git a/libgda/gda-ddl-fkey.h b/libgda/gda-ddl-fkey.h index 2c7678e8f3d75e25cf4647424e38158abfc7d575..e3f3b30f5473234ff00f5b78653fc6bb8f467973 100644 --- a/libgda/gda-ddl-fkey.h +++ b/libgda/gda-ddl-fkey.h @@ -54,7 +54,8 @@ typedef enum { GDA_DDL_FKEY_SET_NULL, GDA_DDL_FKEY_RESTRICT, GDA_DDL_FKEY_SET_DEFAULT, - GDA_DDL_FKEY_CASCADE + GDA_DDL_FKEY_CASCADE, + GDA_DDL_FKEY_ERROR } GdaDdlFkeyReferenceAction; diff --git a/libgda/gda-ddl-table.c b/libgda/gda-ddl-table.c index 31c05dfa2ca3518d183d4f01a87ee1c2ff19087b..d0f0f93826e3d8dabbb2dd123f151f8f420bdbdd 100644 --- a/libgda/gda-ddl-table.c +++ b/libgda/gda-ddl-table.c @@ -212,6 +212,7 @@ gda_ddl_table_parse_node (GdaDdlBuildable *buildable, { g_return_val_if_fail (buildable,FALSE); g_return_val_if_fail (node, FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlTable *self = GDA_DDL_TABLE (buildable); @@ -277,6 +278,7 @@ gda_ddl_table_write_node (GdaDdlBuildable *buildable, { g_return_val_if_fail (buildable,FALSE); g_return_val_if_fail (rootnode,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlTable *self = GDA_DDL_TABLE (buildable); GdaDdlTablePrivate *priv = gda_ddl_table_get_instance_private (self); @@ -477,6 +479,10 @@ gda_ddl_table_prepare_create (GdaDdlTable *self, GdaServerOperation *op, GError **error) { + g_return_val_if_fail (self,FALSE); + g_return_val_if_fail (op,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); + GdaDdlTablePrivate *priv = gda_ddl_table_get_instance_private (self); if (!gda_server_operation_set_value_at(op, @@ -554,6 +560,7 @@ gda_ddl_table_update (GdaDdlTable *self, g_return_val_if_fail (self,FALSE); g_return_val_if_fail (obj,FALSE); g_return_val_if_fail (cnc,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); if (!gda_connection_is_opened(cnc)) return FALSE; @@ -645,6 +652,7 @@ gda_ddl_table_create (GdaDdlTable *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (cnc,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); if (!gda_connection_is_opened(cnc)) return FALSE; @@ -745,6 +753,7 @@ gda_ddl_table_append_column (GdaDdlTable *self, GdaDdlColumn *column) { g_return_if_fail (self); + g_return_if_fail (column); GdaDdlTablePrivate *priv = gda_ddl_table_get_instance_private (self); @@ -765,6 +774,7 @@ gda_ddl_table_append_fkey (GdaDdlTable *self, GdaDdlFkey *fkey) { g_return_if_fail (self); + g_return_if_fail (fkey); GdaDdlTablePrivate *priv = gda_ddl_table_get_instance_private (self); diff --git a/libgda/gda-ddl-view.c b/libgda/gda-ddl-view.c index 9790e93f6a51bedb3c2b09788b66b498193bd3b8..13421c128cef663b2d68078759986fd1ec0acd5e 100644 --- a/libgda/gda-ddl-view.c +++ b/libgda/gda-ddl-view.c @@ -216,6 +216,8 @@ gda_ddl_view_parse_node (GdaDdlBuildable *buildable, xmlNodePtr node, GError **error) { + g_return_val_if_fail (buildable,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlView *self = GDA_DDL_VIEW (buildable); g_return_val_if_fail (node, FALSE); @@ -277,6 +279,7 @@ gda_ddl_view_write_node (GdaDdlBuildable *buildable, { g_return_val_if_fail (buildable,FALSE); g_return_val_if_fail (rootnode,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlView *self = GDA_DDL_VIEW (buildable); GdaDdlViewPrivate *priv = gda_ddl_view_get_instance_private (self); @@ -468,6 +471,7 @@ gda_ddl_view_create (GdaDdlView *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (cnc,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); g_return_val_if_fail (gda_connection_is_opened(cnc),FALSE); gda_lockable_lock((GdaLockable*)cnc); @@ -518,6 +522,7 @@ gda_ddl_view_prepare_create (GdaDdlView *self, { g_return_val_if_fail (self,FALSE); g_return_val_if_fail (op,FALSE); + g_return_val_if_fail (error == NULL || *error == NULL,FALSE); GdaDdlViewPrivate *priv = gda_ddl_view_get_instance_private (self); @@ -565,6 +570,8 @@ gda_ddl_view_prepare_create (GdaDdlView *self, GdaDdlView* gda_ddl_view_new_from_meta (GdaMetaView *view) { + g_return_val_if_fail (view,NULL); + if (!view) return gda_ddl_view_new();