On 28 October 2010 01:11, Nicola Mattei <[email protected]> wrote: > Hi to all, > I'm currently trying something like this (with mysql): > > gboolean > lock_table (GdaConnection *cnc, gchar *tname) > { > GdaStatement *stmt; > gchar *sql = g_strdup_printf ("LOCK TABLES %s WRITE;", tname); > GError *error = NULL; > gint afr; > GdaSqlParser *parser; > > if (gda_connection_begin_transaction(cnc, NULL, > GDA_TRANSACTION_ISOLATION_UNKNOWN, NULL)) { > g_print ("BEGIN TRANSACTION\n"); > parser = gda_connection_create_parser (cnc); > stmt = gda_sql_parser_parse_string (parser, sql, NULL, NULL); > g_object_unref (parser); > > afr = gda_connection_statement_execute_non_select (cnc, stmt, > NULL, NULL, &error); > g_object_unref (stmt); > if (afr < 0) > return FALSE; > else return TRUE; > } > return FALSE; > } > > But this doesn't seem to lock the table.
I found the problem: for some statements, MySQL does not allow one to use the prepared statement API (from what I've gathered using Google, the non DML statements should not work but it's not true because some do work...) Anyway, this means I have to make some modifications to the MySQL provider to handle that case, which I'll do ASAP. In the meanwhile, can you file a bug report in bugzilla.gnome.org so we can keep a record of that problem? Regards, Vivien _______________________________________________ gnome-db-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-db-list
