diff --git a/db/drivers/mysql/db.c b/db/drivers/mysql/db.c index 7e2a8146310..5c98c652e95 100644 --- a/db/drivers/mysql/db.c +++ b/db/drivers/mysql/db.c @@ -23,6 +23,7 @@ int db__driver_open_database(dbHandle *handle) const char *name; dbConnection default_connection; MYSQL *res; + dbString sql; db_get_connection(&default_connection); name = db_get_handle_dbname(handle); @@ -63,14 +64,25 @@ int db__driver_open_database(dbHandle *handle) db_d_report_error(); return DB_FAILED; } + + db_init_string(&sql); + db_set_string(&sql, "SET SQL_MODE=ANSI_QUOTES;"); + /* Set SQL ANSI_QUOTES MODE which allow to use double quotes instead of * backticks */ - if (mysql_query(connection, "SET SQL_MODE=ANSI_QUOTES") != 0) { + if (mysql_query(connection, db_get_string(&sql)) != 0) { db_d_append_error("%s %s", _("Unable to set SQL ANSI_QUOTES mode:"), mysql_error(connection)); db_d_report_error(); + db_free_string(&sql); + mysql_close(connection); + return DB_FAILED; } + G_debug(3, "db__driver_open_database(): Set ODBC MySQL DB %s", + db_get_string(&sql)); + + db_free_string(&sql); } return DB_OK;