summaryrefslogtreecommitdiff
path: root/mysql-test/include/rpl_row_img_set.inc
blob: d998c3f1d6c00274e39ed74d692179487fb6c018 (plain)
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
55
#
# This is an auxiliar script that sets the binlog-row-image
# on a set of connections. These connections are passed as
# a parameter to this script. Its format is the following:
#
#   <conid,value,Y_or_N>:[<conid,value,Y_or_N>:...]
#
# In detail:
#
#   conid   -- connection id (eg, master)
#   value   -- binlog_row_image value to set (eg, FULL)
#   Y_or_N  -- Issue stop and start slave (eg, Y) 
# 
# Sample usage:
#
#  -- let $row_img_set=master:FULL:N,slave:MINIMAL:Y
#  -- source include/rpl_row_img_set.inc
#
# Notes:
#
#   1. This script saves and restores the original connection that was
#      in use at the time it was included.

-- let $old_conn= $CURRENT_CONNECTION

while (`SELECT HEX('$row_img_set') != HEX('')`)
{

  -- let $tuple= `SELECT SUBSTRING_INDEX('$row_img_set', ',', 1)`

  -- let $conn= `SELECT SUBSTRING_INDEX('$tuple', ':', 1)`
  -- let $rimg= `SELECT SUBSTRING_INDEX(LTRIM(SUBSTRING('$tuple', LENGTH('$conn') + 2)), ':', 1)`

  -- let $is_slave_restart= `SELECT LTRIM(SUBSTRING('$tuple', LENGTH('$conn') + LENGTH('$rimg')+ 3))`

  -- echo CON: '$conn', IMG: '$rimg', RESTART SLAVE: '$is_slave_restart'

  -- connection $conn
  -- eval SET SESSION binlog_row_image= '$rimg'
  -- eval SET GLOBAL binlog_row_image= '$rimg'

  if ($is_slave_restart == Y)
  {
    -- source include/stop_slave.inc
    -- source include/start_slave.inc
  }

  FLUSH TABLES;
  SHOW VARIABLES LIKE 'binlog_row_image';

  -- let $row_img_set= `SELECT LTRIM(SUBSTRING('$row_img_set', LENGTH('$tuple') + 2     ))`

}

-- connection $old_conn