The patch for MDEV-15530 incorrectly added a column in the middle of SHOW
SLAVE STATUS output. This is wrong, as it breaks backwards compatibility
with existing applications and scripts. In this case, it even broke
mariadb-dump, which is included in the server source tree!

Revert the incorrect change, putting the new Replicate_Rewrite_DB at the end
of SHOW SLAVE STATUS output.

Add a testcase for the mariadb-dump --dump-slave wrong output problem. Also
add a testcase rpl.rpl_show_slave_status to hopefully prevent any future
incorrect additions to SHOW SLAVE STATUS.

Signed-off-by: Kristian Nielsen <kniel...@knielsen-hq.org>
---
 mysql-test/include/check-testcase.test        | 12 ++-
 mysql-test/include/search_pattern_in_file.inc |  5 ++
 mysql-test/main/rpl_mysqldump_slave.result    |  4 +
 mysql-test/main/rpl_mysqldump_slave.test      | 16 ++++
 .../suite/multi_source/info_logs.result       | 12 +--
 .../multi_source_slave_alias_replica.result   |  4 +-
 .../suite/multi_source/reset_slave.result     |  8 +-
 mysql-test/suite/multi_source/simple.result   | 14 ++--
 mysql-test/suite/multi_source/syntax.result   |  6 +-
 .../suite/rpl/r/rpl_show_slave_status.result  | 75 +++++++++++++++++++
 .../suite/rpl/t/rpl_show_slave_status.test    | 27 +++++++
 sql/slave.cc                                  | 20 ++++-
 12 files changed, 175 insertions(+), 28 deletions(-)
 create mode 100644 mysql-test/suite/rpl/r/rpl_show_slave_status.result
 create mode 100644 mysql-test/suite/rpl/t/rpl_show_slave_status.test

diff --git a/mysql-test/include/check-testcase.test 
b/mysql-test/include/check-testcase.test
index 078f6572bed..b43dffbfa06 100644
--- a/mysql-test/include/check-testcase.test
+++ b/mysql-test/include/check-testcase.test
@@ -32,7 +32,6 @@ if ($tmp)
   --echo Relay_Master_Log_File #
   --echo Slave_IO_Running      No
   --echo Slave_SQL_Running     No
-  --echo Replicate_Rewrite_DB  #
   --echo Replicate_Do_DB       #
   --echo Replicate_Ignore_DB   #
   --echo Replicate_Do_Table    #
@@ -74,13 +73,22 @@ if ($tmp)
   --echo Slave_DDL_Groups      #
   --echo Slave_Non_Transactional_Groups        #
   --echo Slave_Transactional_Groups    #
+  --echo Replicate_Rewrite_DB  #
 }
 if (!$tmp) {
   # Note: after WL#5177, fields 13-18 shall not be filtered-out.
-  --replace_column 4 # 5 # 6 # 7 # 8 # 9 # 10 # 13 # 14 # 15 # 16 # 17 # 18 # 
19 # 23 # 24 # 25 # 26 # 27 # 41 # 42 # 43 # 45 # 52 # 53 # 54 #
+  --replace_column 4 # 5 # 6 # 7 # 8 # 9 # 10 # 13 # 14 # 15 # 16 # 17 # 18 # 
22 # 23 # 24 # 25 # 26 # 40 # 41 # 42 # 44 # 51 # 52 # 53 # 54 #
   query_vertical
   SHOW SLAVE STATUS;
 }
+#
+# Note, we must never, _ever_, add extra rows to this output of SHOW SLAVE
+# STATUS, except at the very end, as this breaks backwards compatibility
+# with applications or scripts that parse the output. This also means that
+# we cannot add _any_ new rows in a GA version if a different row was
+# already added in a later MariaDB version, as this would make it impossible
+# to merge the change up while preserving the order of rows.
+#
 
 #
 # Ensure that we don't get warnings from mysql.proc (used by check_mysqld)
diff --git a/mysql-test/include/search_pattern_in_file.inc 
b/mysql-test/include/search_pattern_in_file.inc
index 3105f7f9077..aef4f68a91d 100644
--- a/mysql-test/include/search_pattern_in_file.inc
+++ b/mysql-test/include/search_pattern_in_file.inc
@@ -25,6 +25,7 @@
 #    Supported formats:
 #     - (default)  : "FOUND n /pattern/ in FILE " or "NOT FOUND ..."
 #     - "matches"  : Each match is printed, on a separate line
+#     - "count"    : "FOUND n matches in FILE" or "NOT FOUND ..." (omit 
pattern)
 #
 #    In case of
 #    - SEARCH_FILE and/or SEARCH_PATTERN is not set
@@ -113,6 +114,10 @@ perl;
                 print $_ . "\n";
             }
         }
+        elsif ($ENV{SEARCH_OUTPUT} eq "count")
+        {
+            print "$res matches in $ENV{SEARCH_FILE}\n";
+        }
         else
         {
             print "$res /$search_pattern/ in $ENV{SEARCH_FILE}\n";
diff --git a/mysql-test/main/rpl_mysqldump_slave.result 
b/mysql-test/main/rpl_mysqldump_slave.result
index 0d0378abd5b..190e3c26e80 100644
--- a/mysql-test/main/rpl_mysqldump_slave.result
+++ b/mysql-test/main/rpl_mysqldump_slave.result
@@ -219,4 +219,8 @@ connection master;
 -- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000002', 
MASTER_LOG_POS=BINLOG_START;
 connection slave;
 include/start_slave.inc
+connection master;
+connection slave;
+connection master;
+FOUND 1 matches in MDEV-33212.sql
 include/rpl_end.inc
diff --git a/mysql-test/main/rpl_mysqldump_slave.test 
b/mysql-test/main/rpl_mysqldump_slave.test
index 9dbee604520..75bb85dbe4b 100644
--- a/mysql-test/main/rpl_mysqldump_slave.test
+++ b/mysql-test/main/rpl_mysqldump_slave.test
@@ -198,4 +198,20 @@ if ($postdump_first_binary_log_filename != 
$postdump_binlog_filename)
 connection slave;
 --source include/start_slave.inc
 
+# MDEV-33212: mysqldump uses MASTER_LOG_POS with dump-slave
+# The bug was that the MASTER_LOG_POS was wrong. So check that it is correct.
+--connection master
+--let $pos= query_get_value(SHOW MASTER STATUS, Position, 1)
+--sync_slave_with_master
+--connection master
+--exec $MYSQL_DUMP_SLAVE --compact --dump-slave test 
>$MYSQLTEST_VARDIR/tmp/MDEV-33212.sql
+--let SEARCH_RANGE=500000000
+--let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/MDEV-33212.sql
+--let SEARCH_PATTERN= MASTER_LOG_POS=$pos
+--let SEARCH_OUTPUT=count
+--source include/search_pattern_in_file.inc
+
+--remove_file $MYSQLTEST_VARDIR/tmp/MDEV-33212.sql
+
+
 --source include/rpl_end.inc
diff --git a/mysql-test/suite/multi_source/info_logs.result 
b/mysql-test/suite/multi_source/info_logs.result
index a35a20bdbf7..6f3fd7e7e68 100644
--- a/mysql-test/suite/multi_source/info_logs.result
+++ b/mysql-test/suite/multi_source/info_logs.result
@@ -94,17 +94,17 @@ MASTER 2.2
 # EOF
 #
 show all slaves status;
-Connection_name        Slave_SQL_State Slave_IO_State  Master_Host     
Master_User     Master_Port     Connect_Retry   Master_Log_File 
Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   Relay_Master_Log_File   
Slave_IO_Running        Slave_SQL_Running       Replicate_Rewrite_DB    
Replicate_Do_DB Replicate_Ignore_DB     Replicate_Do_Table      
Replicate_Ignore_Table  Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     
Last_Errno      Last_Error      Skip_Counter    Exec_Master_Log_Pos     
Relay_Log_Space Until_Condition Until_Log_File  Until_Log_Pos   
Master_SSL_Allowed      Master_SSL_CA_File      Master_SSL_CA_Path      
Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Group
 s      Retried_transactions    Max_relay_log_size      Executed_log_entries    
Slave_received_heartbeats       Slave_heartbeat_period  Gtid_Slave_Pos
-       Slave has read all relay log; waiting for more updates  Waiting for 
master to send event        127.0.0.1       root    MYPORT_1        60      
master-bin.000001       <read_master_log_pos>   relay.000002    <relay_log_pos> 
master-bin.000001       Yes     Yes                                             
                0               0       <read_master_log_pos>   
<relay_log_space1>      None            0       No                              
                0       No      0               0                       1       
                No                              optimistic      0       NULL    
Slave has read all relay log; waiting for more updates  0       0       0       
0       1073741824      7       0       60.000  
-MASTER 2.2     Slave has read all relay log; waiting for more updates  Waiting 
for master to send event        127.0.0.1       root    MYPORT_2        60      
master-bin.000001       <read_master_log_pos>   relay-master@00202@002e2.000002 
<relay_log_pos> master-bin.000001       Yes     Yes                             
                                0               0       <read_master_log_pos>   
<relay_log_space2>      None            0       No                              
                0       No      0               0                       2       
                No                              optimistic      0       NULL    
Slave has read all relay log; waiting for more updates  0       0       0       
0       1073741824      7       0       60.000  
+Connection_name        Slave_SQL_State Slave_IO_State  Master_Host     
Master_User     Master_Port     Connect_Retry   Master_Log_File 
Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   Relay_Master_Log_File   
Slave_IO_Running        Slave_SQL_Running       Replicate_Do_DB 
Replicate_Ignore_DB     Replicate_Do_Table      Replicate_Ignore_Table  
Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     Last_Errno      
Last_Error      Skip_Counter    Exec_Master_Log_Pos     Relay_Log_Space 
Until_Condition Until_Log_File  Until_Log_Pos   Master_SSL_Allowed      
Master_SSL_CA_File      Master_SSL_CA_Path      Master_SSL_Cert 
Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups      Replicate_Rewrite_D
 B      Retried_transactions    Max_relay_log_size      Executed_log_entries    
Slave_received_heartbeats       Slave_heartbeat_period  Gtid_Slave_Pos
+       Slave has read all relay log; waiting for more updates  Waiting for 
master to send event        127.0.0.1       root    MYPORT_1        60      
master-bin.000001       <read_master_log_pos>   relay.000002    <relay_log_pos> 
master-bin.000001       Yes     Yes                                             
        0               0       <read_master_log_pos>   <relay_log_space1>      
None            0       No                                              0       
No      0               0                       1                       No      
                        optimistic      0       NULL    Slave has read all 
relay log; waiting for more updates  0       0       0               0       
1073741824      7       0       60.000  
+MASTER 2.2     Slave has read all relay log; waiting for more updates  Waiting 
for master to send event        127.0.0.1       root    MYPORT_2        60      
master-bin.000001       <read_master_log_pos>   relay-master@00202@002e2.000002 
<relay_log_pos> master-bin.000001       Yes     Yes                             
                        0               0       <read_master_log_pos>   
<relay_log_space2>      None            0       No                              
                0       No      0               0                       2       
                No                              optimistic      0       NULL    
Slave has read all relay log; waiting for more updates  0       0       0       
        0       1073741824      7       0       60.000  
 include/wait_for_slave_to_start.inc
 set default_master_connection = 'MASTER 2.2';
 include/wait_for_slave_to_start.inc
 set default_master_connection = '';
 show all slaves status;
-Connection_name        Slave_SQL_State Slave_IO_State  Master_Host     
Master_User     Master_Port     Connect_Retry   Master_Log_File 
Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   Relay_Master_Log_File   
Slave_IO_Running        Slave_SQL_Running       Replicate_Rewrite_DB    
Replicate_Do_DB Replicate_Ignore_DB     Replicate_Do_Table      
Replicate_Ignore_Table  Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     
Last_Errno      Last_Error      Skip_Counter    Exec_Master_Log_Pos     
Relay_Log_Space Until_Condition Until_Log_File  Until_Log_Pos   
Master_SSL_Allowed      Master_SSL_CA_File      Master_SSL_CA_Path      
Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Group
 s      Retried_transactions    Max_relay_log_size      Executed_log_entries    
Slave_received_heartbeats       Slave_heartbeat_period  Gtid_Slave_Pos
-       Slave has read all relay log; waiting for more updates  Waiting for 
master to send event        127.0.0.1       root    MYPORT_1        60      
master-bin.000001       <read_master_log_pos>   relay.000004    <relay_log_pos> 
master-bin.000001       Yes     Yes                                             
                0               0       <read_master_log_pos>   
<relay_log_space1>      None            0       No                              
                0       No      0               0                       1       
                No                              optimistic      0       NULL    
Slave has read all relay log; waiting for more updates  0       0       0       
0       1073741824      6       0       60.000  
-MASTER 2.2     Slave has read all relay log; waiting for more updates  Waiting 
for master to send event        127.0.0.1       root    MYPORT_2        60      
master-bin.000001       <read_master_log_pos>   relay-master@00202@002e2.000004 
<relay_log_pos> master-bin.000001       Yes     Yes                             
                                0               0       <read_master_log_pos>   
<relay_log_space2>      None            0       No                              
                0       No      0               0                       2       
                No                              optimistic      0       NULL    
Slave has read all relay log; waiting for more updates  0       0       0       
0       1073741824      6       0       60.000  
+Connection_name        Slave_SQL_State Slave_IO_State  Master_Host     
Master_User     Master_Port     Connect_Retry   Master_Log_File 
Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   Relay_Master_Log_File   
Slave_IO_Running        Slave_SQL_Running       Replicate_Do_DB 
Replicate_Ignore_DB     Replicate_Do_Table      Replicate_Ignore_Table  
Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     Last_Errno      
Last_Error      Skip_Counter    Exec_Master_Log_Pos     Relay_Log_Space 
Until_Condition Until_Log_File  Until_Log_Pos   Master_SSL_Allowed      
Master_SSL_CA_File      Master_SSL_CA_Path      Master_SSL_Cert 
Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups      Replicate_Rewrite_D
 B      Retried_transactions    Max_relay_log_size      Executed_log_entries    
Slave_received_heartbeats       Slave_heartbeat_period  Gtid_Slave_Pos
+       Slave has read all relay log; waiting for more updates  Waiting for 
master to send event        127.0.0.1       root    MYPORT_1        60      
master-bin.000001       <read_master_log_pos>   relay.000004    <relay_log_pos> 
master-bin.000001       Yes     Yes                                             
        0               0       <read_master_log_pos>   <relay_log_space1>      
None            0       No                                              0       
No      0               0                       1                       No      
                        optimistic      0       NULL    Slave has read all 
relay log; waiting for more updates  0       0       0               0       
1073741824      6       0       60.000  
+MASTER 2.2     Slave has read all relay log; waiting for more updates  Waiting 
for master to send event        127.0.0.1       root    MYPORT_2        60      
master-bin.000001       <read_master_log_pos>   relay-master@00202@002e2.000004 
<relay_log_pos> master-bin.000001       Yes     Yes                             
                        0               0       <read_master_log_pos>   
<relay_log_space2>      None            0       No                              
                0       No      0               0                       2       
                No                              optimistic      0       NULL    
Slave has read all relay log; waiting for more updates  0       0       0       
        0       1073741824      6       0       60.000  
 #
 # List of files matching '*info*' pattern
 #   after slave server restart
diff --git 
a/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result 
b/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result
index 355919def5a..ce6efc26b84 100644
--- a/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result
+++ b/mysql-test/suite/multi_source/multi_source_slave_alias_replica.result
@@ -34,7 +34,6 @@ Relay_Log_Pos <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       Yes
 Slave_SQL_Running      Yes
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -76,6 +75,7 @@ Slave_SQL_Running_State       Slave has read all relay log; 
waiting for more updates
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
@@ -96,7 +96,6 @@ Relay_Log_Pos <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       Yes
 Slave_SQL_Running      Yes
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -138,6 +137,7 @@ Slave_SQL_Running_State     Slave has read all relay log; 
waiting for more updates
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
diff --git a/mysql-test/suite/multi_source/reset_slave.result 
b/mysql-test/suite/multi_source/reset_slave.result
index 2e9ce5e896f..6ff1f5a9d23 100644
--- a/mysql-test/suite/multi_source/reset_slave.result
+++ b/mysql-test/suite/multi_source/reset_slave.result
@@ -13,15 +13,15 @@ insert into t1 values (1),(2);
 connection slave;
 stop slave 'master1';
 show slave 'master1' status;
-Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Rewrite_DB    Replicate_Do_DB Replicate_Ignore_DB     
Replicate_Do_Table      Replicate_Ignore_Table  Replicate_Wild_Do_Table 
Replicate_Wild_Ignore_Table     Last_Errno      Last_Error      Skip_Counter    
Exec_Master_Log_Pos     Relay_Log_Space Until_Condition Until_Log_File  
Until_Log_Pos   Master_SSL_Allowed      Master_SSL_CA_File      
Master_SSL_CA_Path      Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  
Seconds_Behind_Master   Master_SSL_Verify_Server_Cert   Last_IO_Errno   
Last_IO_Error   Last_SQL_Errno  Last_SQL_Error  Replicate_Ignore_Server_Ids     
Master_Server_Id        Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      
Gtid_IO_Pos     Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     
Parallel_Mode   SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups
-       127.0.0.1       root    MYPORT_1        60      master-bin.000001       
<read_master_log_pos>   mysqld-relay-bin-master1.000002 <relay_log_pos> 
master-bin.000001       No      No                                              
                0               0       <read_master_log_pos>   
<relay_log_space>       None            0       No                              
                NULL    No      0               0                       1       
                Slave_Pos       0-1-3                   optimistic      0       
NULL            2       1       0
+Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Do_DB Replicate_Ignore_DB     Replicate_Do_Table      
Replicate_Ignore_Table  Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     
Last_Errno      Last_Error      Skip_Counter    Exec_Master_Log_Pos     
Relay_Log_Space Until_Condition Until_Log_File  Until_Log_Pos   
Master_SSL_Allowed      Master_SSL_CA_File      Master_SSL_CA_Path      
Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups      Replicate_Rewrite_DB
+       127.0.0.1       root    MYPORT_1        60      master-bin.000001       
<read_master_log_pos>   mysqld-relay-bin-master1.000002 <relay_log_pos> 
master-bin.000001       No      No                                              
        0               0       <read_master_log_pos>   <relay_log_space>       
None            0       No                                              NULL    
No      0               0                       1                       
Slave_Pos       0-1-3                   optimistic      0       NULL            
2       1       0       
 mysqld-relay-bin-master1.000001
 mysqld-relay-bin-master1.000002
 mysqld-relay-bin-master1.index
 reset slave 'master1';
 show slave 'master1' status;
-Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Rewrite_DB    Replicate_Do_DB Replicate_Ignore_DB     
Replicate_Do_Table      Replicate_Ignore_Table  Replicate_Wild_Do_Table 
Replicate_Wild_Ignore_Table     Last_Errno      Last_Error      Skip_Counter    
Exec_Master_Log_Pos     Relay_Log_Space Until_Condition Until_Log_File  
Until_Log_Pos   Master_SSL_Allowed      Master_SSL_CA_File      
Master_SSL_CA_Path      Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  
Seconds_Behind_Master   Master_SSL_Verify_Server_Cert   Last_IO_Errno   
Last_IO_Error   Last_SQL_Errno  Last_SQL_Error  Replicate_Ignore_Server_Ids     
Master_Server_Id        Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      
Gtid_IO_Pos     Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     
Parallel_Mode   SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups
-       127.0.0.1       root    MYPORT_1        60              4               
<relay_log_pos>         No      No                                              
                0               0       0       <relay_log_space>       None    
        0       No                                              NULL    No      
0               0                       1                       Slave_Pos       
                        optimistic      0       NULL            2       1       0
+Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Do_DB Replicate_Ignore_DB     Replicate_Do_Table      
Replicate_Ignore_Table  Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     
Last_Errno      Last_Error      Skip_Counter    Exec_Master_Log_Pos     
Relay_Log_Space Until_Condition Until_Log_File  Until_Log_Pos   
Master_SSL_Allowed      Master_SSL_CA_File      Master_SSL_CA_Path      
Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups      Replicate_Rewrite_DB
+       127.0.0.1       root    MYPORT_1        60              4               
<relay_log_pos>         No      No                                              
        0               0       0       <relay_log_space>       None            
0       No                                              NULL    No      0       
        0                       1                       Slave_Pos               
                optimistic      0       NULL            2       1       0       
 reset slave 'master1' all;
 show slave 'master1' status;
 ERROR HY000: There is no master connection 'master1'
diff --git a/mysql-test/suite/multi_source/simple.result 
b/mysql-test/suite/multi_source/simple.result
index 65c25b88e44..61932184b66 100644
--- a/mysql-test/suite/multi_source/simple.result
+++ b/mysql-test/suite/multi_source/simple.result
@@ -32,7 +32,6 @@ Relay_Log_Pos <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       Yes
 Slave_SQL_Running      Yes
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -74,6 +73,7 @@ Slave_SQL_Running_State       Slave has read all relay log; 
waiting for more updates
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
@@ -94,7 +94,6 @@ Relay_Log_Pos <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       Yes
 Slave_SQL_Running      Yes
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -136,6 +135,7 @@ Slave_SQL_Running_State     Slave has read all relay log; 
waiting for more updates
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
@@ -221,7 +221,6 @@ Relay_Log_Pos       <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       No
 Slave_SQL_Running      No
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -263,6 +262,7 @@ Slave_SQL_Running_State
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 reset slave 'slave1';
 show all slaves status;
 Connection_name        slave1
@@ -279,7 +279,6 @@ Relay_Log_Pos       <relay_log_pos>
 Relay_Master_Log_File  
 Slave_IO_Running       No
 Slave_SQL_Running      No
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -321,6 +320,7 @@ Slave_SQL_Running_State
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
@@ -341,7 +341,6 @@ Relay_Log_Pos       <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       Yes
 Slave_SQL_Running      Yes
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -383,6 +382,7 @@ Slave_SQL_Running_State     Slave has read all relay log; 
waiting for more updates
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
@@ -405,7 +405,6 @@ Relay_Log_Pos       <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       Yes
 Slave_SQL_Running      Yes
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -447,6 +446,7 @@ Slave_SQL_Running_State     Slave has read all relay log; 
waiting for more updates
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
@@ -471,7 +471,6 @@ Relay_Log_Pos       <relay_log_pos>
 Relay_Master_Log_File  master-bin.000001
 Slave_IO_Running       No
 Slave_SQL_Running      No
-Replicate_Rewrite_DB   
 Replicate_Do_DB        
 Replicate_Ignore_DB    
 Replicate_Do_Table     
@@ -513,6 +512,7 @@ Slave_SQL_Running_State
 Slave_DDL_Groups       0
 Slave_Non_Transactional_Groups 0
 Slave_Transactional_Groups     0
+Replicate_Rewrite_DB   
 Retried_transactions   0
 Max_relay_log_size     1073741824
 Executed_log_entries   7
diff --git a/mysql-test/suite/multi_source/syntax.result 
b/mysql-test/suite/multi_source/syntax.result
index 3c7c91c35c8..6b214fe3644 100644
--- a/mysql-test/suite/multi_source/syntax.result
+++ b/mysql-test/suite/multi_source/syntax.result
@@ -1,11 +1,11 @@
 include/master-slave.inc
 [connection master]
 show slave status;
-Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Rewrite_DB    Replicate_Do_DB Replicate_Ignore_DB     
Replicate_Do_Table      Replicate_Ignore_Table  Replicate_Wild_Do_Table 
Replicate_Wild_Ignore_Table     Last_Errno      Last_Error      Skip_Counter    
Exec_Master_Log_Pos     Relay_Log_Space Until_Condition Until_Log_File  
Until_Log_Pos   Master_SSL_Allowed      Master_SSL_CA_File      
Master_SSL_CA_Path      Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  
Seconds_Behind_Master   Master_SSL_Verify_Server_Cert   Last_IO_Errno   
Last_IO_Error   Last_SQL_Errno  Last_SQL_Error  Replicate_Ignore_Server_Ids     
Master_Server_Id        Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      
Gtid_IO_Pos     Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     
Parallel_Mode   SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups
+Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Do_DB Replicate_Ignore_DB     Replicate_Do_Table      
Replicate_Ignore_Table  Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     
Last_Errno      Last_Error      Skip_Counter    Exec_Master_Log_Pos     
Relay_Log_Space Until_Condition Until_Log_File  Until_Log_Pos   
Master_SSL_Allowed      Master_SSL_CA_File      Master_SSL_CA_Path      
Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups      Replicate_Rewrite_DB
 show slave '' status;
-Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Rewrite_DB    Replicate_Do_DB Replicate_Ignore_DB     
Replicate_Do_Table      Replicate_Ignore_Table  Replicate_Wild_Do_Table 
Replicate_Wild_Ignore_Table     Last_Errno      Last_Error      Skip_Counter    
Exec_Master_Log_Pos     Relay_Log_Space Until_Condition Until_Log_File  
Until_Log_Pos   Master_SSL_Allowed      Master_SSL_CA_File      
Master_SSL_CA_Path      Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  
Seconds_Behind_Master   Master_SSL_Verify_Server_Cert   Last_IO_Errno   
Last_IO_Error   Last_SQL_Errno  Last_SQL_Error  Replicate_Ignore_Server_Ids     
Master_Server_Id        Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      
Gtid_IO_Pos     Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     
Parallel_Mode   SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups
+Slave_IO_State Master_Host     Master_User     Master_Port     Connect_Retry   
Master_Log_File Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   
Relay_Master_Log_File   Slave_IO_Running        Slave_SQL_Running       
Replicate_Do_DB Replicate_Ignore_DB     Replicate_Do_Table      
Replicate_Ignore_Table  Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     
Last_Errno      Last_Error      Skip_Counter    Exec_Master_Log_Pos     
Relay_Log_Space Until_Condition Until_Log_File  Until_Log_Pos   
Master_SSL_Allowed      Master_SSL_CA_File      Master_SSL_CA_Path      
Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups      Replicate_Rewrite_DB
 show all slaves status;
-Connection_name        Slave_SQL_State Slave_IO_State  Master_Host     
Master_User     Master_Port     Connect_Retry   Master_Log_File 
Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   Relay_Master_Log_File   
Slave_IO_Running        Slave_SQL_Running       Replicate_Rewrite_DB    
Replicate_Do_DB Replicate_Ignore_DB     Replicate_Do_Table      
Replicate_Ignore_Table  Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     
Last_Errno      Last_Error      Skip_Counter    Exec_Master_Log_Pos     
Relay_Log_Space Until_Condition Until_Log_File  Until_Log_Pos   
Master_SSL_Allowed      Master_SSL_CA_File      Master_SSL_CA_Path      
Master_SSL_Cert Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Group
 s      Retried_transactions    Max_relay_log_size      Executed_log_entries    
Slave_received_heartbeats       Slave_heartbeat_period  Gtid_Slave_Pos
+Connection_name        Slave_SQL_State Slave_IO_State  Master_Host     
Master_User     Master_Port     Connect_Retry   Master_Log_File 
Read_Master_Log_Pos     Relay_Log_File  Relay_Log_Pos   Relay_Master_Log_File   
Slave_IO_Running        Slave_SQL_Running       Replicate_Do_DB 
Replicate_Ignore_DB     Replicate_Do_Table      Replicate_Ignore_Table  
Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table     Last_Errno      
Last_Error      Skip_Counter    Exec_Master_Log_Pos     Relay_Log_Space 
Until_Condition Until_Log_File  Until_Log_Pos   Master_SSL_Allowed      
Master_SSL_CA_File      Master_SSL_CA_Path      Master_SSL_Cert 
Master_SSL_Cipher       Master_SSL_Key  Seconds_Behind_Master   
Master_SSL_Verify_Server_Cert   Last_IO_Errno   Last_IO_Error   Last_SQL_Errno  
Last_SQL_Error  Replicate_Ignore_Server_Ids     Master_Server_Id        
Master_SSL_Crl  Master_SSL_Crlpath      Using_Gtid      Gtid_IO_Pos     
Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids     Parallel_Mode   
SQL_Delay       SQL_Remaining_Delay     Slave_SQL_Running_State 
Slave_DDL_Groups        Slave_Non_Transactional_Groups  
Slave_Transactional_Groups      Replicate_Rewrite_D
 B      Retried_transactions    Max_relay_log_size      Executed_log_entries    
Slave_received_heartbeats       Slave_heartbeat_period  Gtid_Slave_Pos
 #
 # Check error handling
 #
diff --git a/mysql-test/suite/rpl/r/rpl_show_slave_status.result 
b/mysql-test/suite/rpl/r/rpl_show_slave_status.result
new file mode 100644
index 00000000000..e32b2f554ce
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_show_slave_status.result
@@ -0,0 +1,75 @@
+include/master-slave.inc
+[connection master]
+*
+* The purpose of this test is to prevent incorrect additions to SHOW
+* SLAVE STATUS, which has happened several times in the past.
+*
+* We must never, _ever_, add extra rows to this output of SHOW SLAVE
+* STATUS, except at the very end, as this breaks backwards compatibility
+* with applications or scripts that parse the output. This also means that
+* we cannot add _any_ new rows in a GA version if a different row was
+* already added in a later MariaDB version, as this would make it impossible
+* to merge the change up while preserving the order of rows.
+*
+connection slave;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host    #
+Master_User    #
+Master_Port    #
+Connect_Retry  #
+Master_Log_File        #
+Read_Master_Log_Pos    #
+Relay_Log_File #
+Relay_Log_Pos  #
+Relay_Master_Log_File  #
+Slave_IO_Running       #
+Slave_SQL_Running      #
+Replicate_Do_DB        #
+Replicate_Ignore_DB    #
+Replicate_Do_Table     #
+Replicate_Ignore_Table #
+Replicate_Wild_Do_Table        #
+Replicate_Wild_Ignore_Table    #
+Last_Errno     #
+Last_Error     #
+Skip_Counter   #
+Exec_Master_Log_Pos    #
+Relay_Log_Space        #
+Until_Condition        #
+Until_Log_File #
+Until_Log_Pos  #
+Master_SSL_Allowed     #
+Master_SSL_CA_File     #
+Master_SSL_CA_Path     #
+Master_SSL_Cert        #
+Master_SSL_Cipher      #
+Master_SSL_Key #
+Seconds_Behind_Master  #
+Master_SSL_Verify_Server_Cert  #
+Last_IO_Errno  #
+Last_IO_Error  #
+Last_SQL_Errno #
+Last_SQL_Error #
+Replicate_Ignore_Server_Ids    #
+Master_Server_Id       #
+Master_SSL_Crl #
+Master_SSL_Crlpath     #
+Using_Gtid     #
+Gtid_IO_Pos    #
+Replicate_Do_Domain_Ids        #
+Replicate_Ignore_Domain_Ids    #
+Parallel_Mode  #
+SQL_Delay      #
+SQL_Remaining_Delay    #
+Slave_SQL_Running_State        #
+Slave_DDL_Groups       #
+Slave_Non_Transactional_Groups #
+Slave_Transactional_Groups     #
+Replicate_Rewrite_DB   #
+*
+* When modifying this test after adding a column to SHOW SLAVE STATUS,
+* _only_ additions at the end are allowed, the column number of existing
+* columns must _not_ change!
+*
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_show_slave_status.test 
b/mysql-test/suite/rpl/t/rpl_show_slave_status.test
new file mode 100644
index 00000000000..f4bbb5faeab
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_show_slave_status.test
@@ -0,0 +1,27 @@
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+--echo *
+--echo * The purpose of this test is to prevent incorrect additions to SHOW
+--echo * SLAVE STATUS, which has happened several times in the past.
+--echo *
+--echo * We must never, _ever_, add extra rows to this output of SHOW SLAVE
+--echo * STATUS, except at the very end, as this breaks backwards compatibility
+--echo * with applications or scripts that parse the output. This also means 
that
+--echo * we cannot add _any_ new rows in a GA version if a different row was
+--echo * already added in a later MariaDB version, as this would make it 
impossible
+--echo * to merge the change up while preserving the order of rows.
+--echo *
+
+--connection slave
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 11 # 12 # 13 # 14 # 
15 # 16 # 17 # 18 # 19 # 20 # 21 # 22 # 23 # 24 # 25 # 26 # 27 # 28 # 29 # 30 # 
31 # 32 # 33 # 34 # 35 # 36 # 37 # 38 # 39 # 40 # 41 # 42 # 43 # 44 # 45 # 46 # 
47 # 48 # 49 # 50 # 51 # 52 # 53 # 54 #
+query_vertical
+SHOW SLAVE STATUS;
+
+--echo *
+--echo * When modifying this test after adding a column to SHOW SLAVE STATUS,
+--echo * _only_ additions at the end are allowed, the column number of existing
+--echo * columns must _not_ change!
+--echo *
+
+--source include/rpl_end.inc
diff --git a/sql/slave.cc b/sql/slave.cc
index 27721e1b87e..1e928d7b993 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -2957,9 +2957,6 @@ void show_master_info_get_fields(THD *thd, List<Item> 
*field_list,
   field_list->push_back(new (mem_root)
                         Item_empty_string(thd, "Slave_SQL_Running", 3),
                         mem_root);
-  field_list->push_back(new (mem_root)
-                        Item_empty_string(thd, "Replicate_Rewrite_DB", 23),
-                        mem_root);
   field_list->push_back(new (mem_root)
                         Item_empty_string(thd, "Replicate_Do_DB", 20),
                         mem_root);
@@ -3108,6 +3105,21 @@ void show_master_info_get_fields(THD *thd, List<Item> 
*field_list,
                        Item_return_int(thd, "Slave_Transactional_Groups", 20,
                                        MYSQL_TYPE_LONGLONG),
                         mem_root);
+  field_list->push_back(new (mem_root)
+                        Item_empty_string(thd, "Replicate_Rewrite_DB", 23),
+                        mem_root);
+
+  /*
+    Note, we must never, _ever_, add extra rows to this output of SHOW SLAVE
+    STATUS, except here at the end before the extra rows of SHOW ALL SLAVES
+    STATUS. Otherwise, we break backwards compatibility with applications or
+    scripts that parse the output!
+
+    This also means that we cannot add _any_ new rows in a GA version if a
+    different row was already added in a later MariaDB version, as this would
+    make it impossible to merge the change up while preserving the order of
+    rows.
+  */
 
   if (full)
   {
@@ -3223,7 +3235,6 @@ static bool send_show_master_info_data(THD *thd, 
Master_info *mi, bool full,
                     &my_charset_bin);
     protocol->store(&slave_running[mi->slave_running], &my_charset_bin);
     protocol->store(mi->rli.slave_running ? &msg_yes : &msg_no, 
&my_charset_bin);
-    protocol->store(rpl_filter->get_rewrite_db());
     protocol->store(rpl_filter->get_do_db());
     protocol->store(rpl_filter->get_ignore_db());
 
@@ -3383,6 +3394,7 @@ static bool send_show_master_info_data(THD *thd, 
Master_info *mi, bool full,
     protocol->store(mi->total_ddl_groups);
     protocol->store(mi->total_non_trans_groups);
     protocol->store(mi->total_trans_groups);
+    protocol->store(rpl_filter->get_rewrite_db());
 
     if (full)
     {
-- 
2.30.2

_______________________________________________
commits mailing list -- commits@lists.mariadb.org
To unsubscribe send an email to commits-le...@lists.mariadb.org

Reply via email to