summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-05-19 10:42:59 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-05-19 10:42:59 +0300
commita84060567c1b9c3f1efd94fabc99a40b3f91b598 (patch)
tree922fcf9d1388c04de5df4ea1aad17970fa6f3a64
parentc93f8aca656b897d0d5ce6d94196662a4161ad38 (diff)
parent44c8d84908e9d697bbcea55d6ebcd5f2250c4727 (diff)
downloadmariadb-git-a84060567c1b9c3f1efd94fabc99a40b3f91b598.tar.gz
Merge 10.1 into 10.2
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result3
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test5
-rw-r--r--sql/sql_binlog.cc3
3 files changed, 10 insertions, 1 deletions
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result
index 04846efc274..fd0184c2ecc 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result
@@ -20,5 +20,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SET @binlog_fragment_0='012345';
BINLOG @binlog_fragment_0, @binlog_fragment_not_exist;
ERROR 42000: Incorrect argument type to variable 'binlog_fragment_not_exist'
+SET @a= '42';
+BINLOG @a, @a;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use
# Cleanup
DROP TABLE t;
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test
index 2d55aa79d48..a1791d9701d 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test
@@ -41,6 +41,11 @@ SET @binlog_fragment_0='012345';
--error ER_WRONG_TYPE_FOR_VAR
BINLOG @binlog_fragment_0, @binlog_fragment_not_exist;
+# MDEV-22520
+SET @a= '42';
+--error ER_SYNTAX_ERROR
+BINLOG @a, @a;
+
--echo # Cleanup
--remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.sql
DROP TABLE t;
diff --git a/sql/sql_binlog.cc b/sql/sql_binlog.cc
index 5bc4c179721..59d7e9cb028 100644
--- a/sql/sql_binlog.cc
+++ b/sql/sql_binlog.cc
@@ -158,8 +158,9 @@ int binlog_defragment(THD *thd)
memcpy(thd->lex->comment.str + gathered_length, entry[k]->value,
entry[k]->length);
gathered_length += entry[k]->length;
- update_hash(entry[k], true, NULL, 0, STRING_RESULT, &my_charset_bin, 0);
}
+ for (uint k=0; k < 2; k++)
+ update_hash(entry[k], true, NULL, 0, STRING_RESULT, &my_charset_bin, 0);
DBUG_ASSERT(gathered_length == thd->lex->comment.length);