? libgda-mysql.dll ? sql_string_fix.diff Index: gda-mysql-provider.c =================================================================== RCS file: /cvs/gnome/libgda/providers/mysql/gda-mysql-provider.c,v retrieving revision 1.66 diff -u -r1.66 gda-mysql-provider.c --- gda-mysql-provider.c 17 Apr 2005 20:31:17 -0000 1.66 +++ gda-mysql-provider.c 19 Apr 2005 02:34:28 -0000 @@ -118,10 +118,10 @@ GdaConnection *cnc, GdaConnectionSchema schema, GdaParameterList *params); - -static gchar *gda_mysql_provider_value_to_sql_string (GdaServerProvider *provider, +gchar *gda_mysql_provider_value_to_sql_string (GdaServerProvider *provider, GdaConnection *cnc, GdaValue *from); + static GObjectClass *parent_class = NULL; Index: gda-mysql-provider.h =================================================================== RCS file: /cvs/gnome/libgda/providers/mysql/gda-mysql-provider.h,v retrieving revision 1.5 diff -u -r1.5 gda-mysql-provider.h --- gda-mysql-provider.h 26 Jan 2005 03:06:03 -0000 1.5 +++ gda-mysql-provider.h 19 Apr 2005 02:34:28 -0000 @@ -50,7 +50,9 @@ GType gda_mysql_provider_get_type (void); GdaServerProvider *gda_mysql_provider_new (void); - +gchar *gda_mysql_provider_value_to_sql_string (GdaServerProvider *provider, + GdaConnection *cnc, + GdaValue *from); G_END_DECLS #endif Index: gda-mysql-recordset.c =================================================================== RCS file: /cvs/gnome/libgda/providers/mysql/gda-mysql-recordset.c,v retrieving revision 1.38 diff -u -r1.38 gda-mysql-recordset.c --- gda-mysql-recordset.c 11 Apr 2005 11:33:41 -0000 1.38 +++ gda-mysql-recordset.c 19 Apr 2005 02:34:28 -0000 @@ -496,7 +496,12 @@ sql = g_string_append (sql, column_name); sql = g_string_append (sql, "`"); - sql_value = g_string_append (sql_value, gda_mysql_value_to_sql_string_local (gda_row_get_value ((GdaRow *) row, i))); + sql_value = g_string_append (sql_value, + gda_mysql_provider_value_to_sql_string ( + NULL, + priv_data->cnc, + gda_row_get_value ((GdaRow *) row, i)) + ); } /* concatenate SQL statement */ @@ -610,8 +615,11 @@ else column_name = gda_data_model_get_column_title (GDA_DATA_MODEL (model), colnum); - gchar *curval = gda_mysql_value_to_sql_string_local (gda_row_get_value ((GdaRow *) row, colnum)); - + gchar *curval = gda_mysql_provider_value_to_sql_string ( + NULL, + priv_data->cnc, + gda_row_get_value ((GdaRow *) row, colnum) + ); /* unique column: we will use it as an index */ if (gda_column_get_primary_key (attrs) || gda_column_get_unique_key (attrs)) Index: gda-mysql.h =================================================================== RCS file: /cvs/gnome/libgda/providers/mysql/gda-mysql.h,v retrieving revision 1.10 diff -u -r1.10 gda-mysql.h --- gda-mysql.h 31 Jan 2005 10:37:23 -0000 1.10 +++ gda-mysql.h 19 Apr 2005 02:34:28 -0000 @@ -45,7 +45,6 @@ GdaError *gda_mysql_make_error (MYSQL *handle); GdaValueType gda_mysql_type_to_gda (enum enum_field_types mysql_type, gboolean is_unsigned); gchar *gda_mysql_type_from_gda (const GdaValueType type); -gchar *gda_mysql_value_to_sql_string (GdaValue *value); G_END_DECLS Index: utils.c =================================================================== RCS file: /cvs/gnome/libgda/providers/mysql/utils.c,v retrieving revision 1.11 diff -u -r1.11 utils.c --- utils.c 11 Apr 2005 11:33:42 -0000 1.11 +++ utils.c 19 Apr 2005 02:34:28 -0000 @@ -160,34 +160,3 @@ return g_strdup_printf ("text"); } -gchar * -gda_mysql_value_to_sql_string_local (GdaValue *value) -{ - gchar *val_str; - gchar *ret; - - g_return_val_if_fail (value != NULL, NULL); - - val_str = gda_value_stringify (value); - if (!val_str) - return NULL; - - switch (value->type) { - case GDA_VALUE_TYPE_BIGINT : - case GDA_VALUE_TYPE_DOUBLE : - case GDA_VALUE_TYPE_INTEGER : - case GDA_VALUE_TYPE_NUMERIC : - case GDA_VALUE_TYPE_SINGLE : - case GDA_VALUE_TYPE_SMALLINT : - case GDA_VALUE_TYPE_TINYINT : - ret = g_strdup (val_str); - break; - default : - ret = g_strdup_printf ("\"%s\"", val_str); - } - - g_free (val_str); - - return ret; -} -