summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/sql_class.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 629088dd862..4711009d7cd 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -4477,7 +4477,9 @@ int THD::decide_logging_format(TABLE_LIST *tables)
given statement.
*/
if (!lex->is_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_INSERT_TWO_KEYS) &&
- lex->sql_command == SQLCOM_INSERT && lex->duplicates == DUP_UPDATE)
+ lex->sql_command == SQLCOM_INSERT &&
+ /* Duplicate key update is not supported by INSERT DELAYED */
+ command != COM_DELAYED_INSERT && lex->duplicates == DUP_UPDATE)
{
uint keys= table->table->s->keys, i= 0, unique_keys= 0;
for (KEY* keyinfo= table->table->s->key_info;