Public bug reported:
void create_database(MYSQL *conn, gchar *database){
gchar* query = NULL;
if((db == NULL && source_db == NULL)
|| (db != NULL && source_db != NULL && !g_ascii_strcasecmp(db,
source_db))){
const gchar* filename1= g_strdup_printf("%s-schema-create.sql",
db ? db : database);
const gchar* filenamegz1=
g_strdup_printf("%s-schema-create.sql.gz", db ? db : database);
if (g_file_test (filename, G_FILE_TEST_EXISTS)){
restore_data(conn, database, NULL, filename1, TRUE,
FALSE);
}else if (g_file_test (filenamegz, G_FILE_TEST_EXISTS)){
restore_data(conn, database, NULL, filenamegz1, TRUE,
FALSE);
}else{
query= g_strdup_printf("CREATE DATABASE `%s`", db ? db
: database);
mysql_query(conn, query);
}
}else{
query= g_strdup_printf("CREATE DATABASE `%s`", db ? db :
database);
mysql_query(conn, query);
}
g_free(query);
return;
}
////////////////////////////////////
g_file_test function should take a full path filename, so in create_database
function, two g_file_test will return false and then use :
query= g_strdup_printf("CREATE DATABASE `%s`", db ? db
: database);
mysql_query(conn, query);
to create a database. so the charset may be wrong
should be modified like:
////////////////////////////////////
void create_database(MYSQL *conn, gchar *database){
gchar* query = NULL;
if((db == NULL && source_db == NULL)
|| (db != NULL && source_db != NULL && !g_ascii_strcasecmp(db,
source_db))){
const gchar* filename=
g_strdup_printf("%s/%s-schema-create.sql", directory, db ? db : database);
const gchar* filenamegz=
g_strdup_printf("%s/%s-schema-create.sql.gz", directory, db ? db : database);
const gchar* filename1= g_strdup_printf("%s-schema-create.sql",
db ? db : database);
const gchar* filenamegz1=
g_strdup_printf("%s-schema-create.sql.gz", db ? db : database);
if (g_file_test (filename, G_FILE_TEST_EXISTS)){
restore_data(conn, database, NULL, filename1, TRUE,
FALSE);
}else if (g_file_test (filenamegz, G_FILE_TEST_EXISTS)){
restore_data(conn, database, NULL, filenamegz1, TRUE,
FALSE);
}else{
query= g_strdup_printf("CREATE DATABASE `%s`", db ? db
: database);
mysql_query(conn, query);
}
}else{
query= g_strdup_printf("CREATE DATABASE `%s`", db ? db :
database);
mysql_query(conn, query);
}
g_free(query);
return;
}
** Affects: mydumper
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Server/Client Support Team, which is subscribed to MySQL.
Matching subscriptions: Ubuntu Server/Client Support Team
https://bugs.launchpad.net/bugs/1611268
Title:
myloader can`t create database from *-schema-create.sql
To manage notifications about this bug go to:
https://bugs.launchpad.net/mydumper/+bug/1611268/+subscriptions
--
Mailing list: https://launchpad.net/~enterprise-support
Post to : [email protected]
Unsubscribe : https://launchpad.net/~enterprise-support
More help : https://help.launchpad.net/ListHelp