diff options
author | unknown <guilhem@mysql.com> | 2004-04-07 18:35:45 +0200 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2004-04-07 18:35:45 +0200 |
commit | d94cf5fbfb6fed68c7c76fd9d10c7a6a25214d7d (patch) | |
tree | b2887f5820358c04e1792c2a2f4235b100462c00 | |
parent | 095d64633b94e5e840503a26dd9ec2c0a66dfd5f (diff) | |
parent | 726917a28e7e8ef4dee3e4e7bee43674adee6f21 (diff) | |
download | mariadb-git-d94cf5fbfb6fed68c7c76fd9d10c7a6a25214d7d.tar.gz |
Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
-rw-r--r-- | sql/log_event.cc | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index cd94ee2804d..9c8676192a1 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -891,15 +891,15 @@ void Query_log_event::print(FILE* file, bool short_form, char* last_db) (ulong) thread_id, (ulong) exec_time, error_code); } - bool same_db = 0; + bool different_db= 1; if (db && last_db) { - if (!(same_db = !memcmp(last_db, db, db_len + 1))) + if (different_db= memcmp(last_db, db, db_len + 1)) memcpy(last_db, db, db_len + 1); } - if (db && db[0] && !same_db) + if (db && db[0] && different_db) fprintf(file, "use %s;\n", db); end=int10_to_str((long) when, strmov(buff,"SET TIMESTAMP="),10); *end++=';'; @@ -1324,14 +1324,21 @@ void Load_log_event::print(FILE* file, bool short_form, char* last_db, thread_id, exec_time); } - bool same_db = 0; + bool different_db= 1; if (db && last_db) { - if (!(same_db = !memcmp(last_db, db, db_len + 1))) + /* + If the database is different from the one of the previous statement, we + need to print the "use" command, and we update the last_db. + But if commented, the "use" is going to be commented so we should not + update the last_db. + */ + if ((different_db= memcmp(last_db, db, db_len + 1)) && + !commented) memcpy(last_db, db, db_len + 1); } - if (db && db[0] && !same_db) + if (db && db[0] && different_db) fprintf(file, "%suse %s;\n", commented ? "# " : "", db); |