1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

BUG#19188: incorrect temporary table name of DROP query in replication

A pattern to generate binlog for DROPped temp table in close_temporary_tables
  was buggy: could not deal with a grave-accent-in-name table.

  The fix exploits `append_identifier()' for quoting and duplicating accents.


mysql-test/r/rpl_temporary.result:
  results changed
mysql-test/t/rpl_temporary.test:
  more correct internal table emulation; typo of @@session in bug#17263.
sql/mysql_priv.h:
  bool is_user_table(TABLE * table) 
  is added to answer wheather temporary table was created explicitly.
sql/sql_base.cc:
  Utilizing `append_identifier' to quote. `close_temporary_tables' once again recoded
  I hope to become much simplier than previously. No-binlog branch is separated completely the
  rest that adopts String's methods.
This commit is contained in:
unknown
2006-05-12 21:29:06 +03:00
parent e4e67d587e
commit c212cb25ed
4 changed files with 99 additions and 88 deletions

View File

@ -1275,6 +1275,18 @@ inline int hexchar_to_int(char c)
return -1;
}
/*
is_user_table()
return true if the table was created explicitly
*/
inline bool is_user_table(TABLE * table)
{
const char *name= table->real_name;
return strncmp(name, tmp_file_prefix, tmp_file_prefix_length);
}
/*
Some functions that are different in the embedded library and the normal