diff options
author | peter@mysql.com <> | 2002-11-05 21:31:03 +0300 |
---|---|---|
committer | peter@mysql.com <> | 2002-11-05 21:31:03 +0300 |
commit | 8bcace70434836acfe66a6ad5ff93c7a7afdd1eb (patch) | |
tree | f8daa8b127bb4bf13e3f4de2b7a731345058335c /client | |
parent | ecedc7ac35009143b202f813e4c8df2e41ab558a (diff) | |
parent | 529146269dea329a8a3d89783cc3c612fa86c4d6 (diff) | |
download | mariadb-git-8bcace70434836acfe66a6ad5ff93c7a7afdd1eb.tar.gz |
Merge mysql.com:/home/pz/mysql/mysql-4.1-root
into mysql.com:/home/pz/mysql/mysql-4.1
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqldump.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c index 21358272109..04232474944 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1247,8 +1247,28 @@ static int init_dumping(char *database) { fprintf(md_result_file,"\n--\n-- Current Database: %s\n--\n", database); if (!opt_create_db) - fprintf(md_result_file,"\nCREATE DATABASE /*!32312 IF NOT EXISTS*/ %s;\n", + { + char qbuf[128]; + MYSQL_ROW row; + MYSQL_RES *dbinfo; + + sprintf(qbuf,"SHOW CREATE DATABASE %s",database); + + if (mysql_query(sock, qbuf) || !(dbinfo = mysql_store_result(sock))) + { + /* Old server version, dump generic CREATE DATABASE */ + fprintf(md_result_file,"\nCREATE DATABASE /*!32312 IF NOT EXISTS*/ %s;\n", database); + } + else + { + row = mysql_fetch_row(dbinfo); + if (row[1]) + { + fprintf(md_result_file,"\n%s;\n",row[1]); + } + } + } fprintf(md_result_file,"\nUSE %s;\n", database); } } |