File: rpl_row_img_set.inc

package info (click to toggle)
mariadb 1%3A10.11.13-0%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 607,444 kB
  • sloc: ansic: 2,390,393; cpp: 1,764,452; asm: 378,315; perl: 62,256; java: 39,363; pascal: 38,853; sh: 38,128; sql: 19,830; yacc: 19,727; xml: 10,509; python: 9,780; ruby: 8,544; makefile: 6,130; cs: 5,855; ada: 1,700; lex: 1,207; javascript: 1,039; objc: 80; tcl: 73; awk: 46; php: 22
file content (55 lines) | stat: -rw-r--r-- 1,546 bytes parent folder | download | duplicates (9)
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