1include/rpl_init.inc [topology=1->2->3->4->5->6]
2Warnings:
3Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
4Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
5Warnings:
6Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
7Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
8Warnings:
9Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
10Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
11Warnings:
12Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
13Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
14Warnings:
15Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
16Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
17include/rpl_default_connections.inc
18######## INITIALIZE ########
19include/rpl_for_each_server_stmt.inc [SET @@SESSION.BINLOG_ROW_IMAGE = MINIMAL;
20SET @@SESSION.BINLOG_ROW_VALUE_OPTIONS = PARTIAL_JSON;
21SET @@GLOBAL.BINLOG_ROW_IMAGE = MINIMAL;
22SET @@GLOBAL.BINLOG_ROW_VALUE_OPTIONS = PARTIAL_JSON;
23]
24include/rpl_stop_slaves.inc
25include/rpl_start_slaves.inc
26******** Data types ********
27include/rpl_for_each_server_stmt.inc [SET SQL_LOG_BIN = 0;
28DROP TABLE IF EXISTS t;
29CREATE TABLE t (
30i INT ,
31j JSON,
32nullint INT DEFAULT NULL,
33emptystring CHAR(0) DEFAULT '',
34quotestring VARCHAR(100), # No default
35bit_ BIT DEFAULT 1,
36bit_50_ BIT(50) DEFAULT b'1111100000111110000011111000001111100000',
37bool_false BOOL DEFAULT false,
38bool_true BOOL DEFAULT true,
39tinyint_ TINYINT DEFAULT -100,
40tinyint_1_ TINYINT(1) DEFAULT -9,
41tinyint_u_ TINYINT UNSIGNED DEFAULT 250,
42tinyint_1_u_ TINYINT(1) UNSIGNED DEFAULT 9,
43smallint_ SMALLINT DEFAULT -12345,
44smallint_3_ SMALLINT(3) DEFAULT -987,
45smallint_u_ SMALLINT UNSIGNED DEFAULT 45678,
46smallint_3_u_ SMALLINT(3) UNSIGNED DEFAULT 987,
47int_ INT DEFAULT -1234567,
48int_6_ INT(6) DEFAULT -123456,
49int_u_ INT UNSIGNED DEFAULT 3222111000,
50int_6_u_ INT(6) UNSIGNED DEFAULT 987654,
51bigint_ BIGINT DEFAULT -5444333222111,
52bigint_12_ BIGINT(16) DEFAULT -6555444333222111,
53bigint_u_ BIGINT UNSIGNED DEFAULT 5444333222111,
54bigint_12_u_ BIGINT(12) UNSIGNED DEFAULT 6555444333222111,
55decimal_ DECIMAL DEFAULT -987654321,
56decimal_10_5_ DECIMAL(10, 5) DEFAULT -12345.6789,
57decimal_u_ DECIMAL UNSIGNED DEFAULT 987654321,
58decimal_10_5_u_ DECIMAL(10, 5) UNSIGNED DEFAULT 12345.6789,
59float_ FLOAT DEFAULT -5.4321e+20,
60float_4_2_ FLOAT(4, 2) DEFAULT -43.21,
61float_u_ FLOAT UNSIGNED DEFAULT 6.54321e+10,
62float_4_2_u_ FLOAT(4, 2) UNSIGNED DEFAULT 12.34,
63double_ DOUBLE DEFAULT -9.87654321e+300,
64double_20_10_ DOUBLE(20, 10) DEFAULT -9.8765e+9,
65double_u_ DOUBLE UNSIGNED DEFAULT 9.87654321e+300,
66double_20_10_u_ DOUBLE(20, 10) UNSIGNED DEFAULT 9.8765e+9,
67date_ DATE DEFAULT '2017-05-19',
68datetime_ DATETIME DEFAULT '2017-05-20 6:00:00',
69datetime_6_ DATETIME(6) DEFAULT '2017-05-21 7:01:01.000001',
70timestamp_ TIMESTAMP DEFAULT '2017-05-22 8:02:02',
71timestamp_6_ TIMESTAMP(6) DEFAULT '2017-05-23 9:03:03.000003',
72time_ TIME DEFAULT '10:04:04',
73time_6_ TIME(6) DEFAULT '10:05:05.000005',
74year_ YEAR DEFAULT 2018,
75binary_ BINARY DEFAULT 'a',
76binary_10_ BINARY(10) DEFAULT '\x00\x01',
77varbinary_1000_ VARBINARY(1000) DEFAULT '\xaa',
78tinyblob_ TINYBLOB, # cannot have default
79blob_ BLOB, # cannot have default
80blob_10_ BLOB(10), # cannot have default
81mediumblob_ MEDIUMBLOB, # cannot have default
82longblob_ LONGBLOB, # cannot have default
83char_ CHAR DEFAULT 'g',
84char_10_ CHAR(10) DEFAULT 'hij',
85varchar_1000_ VARCHAR(1000) DEFAULT 'klm',
86tinytext_ TINYTEXT, # cannot have default
87text_ TEXT, # cannot have default
88text_10_ TEXT(10), # cannot have default
89mediumtext_ MEDIUMTEXT, # cannot have default
90longtext_ LONGTEXT, # cannot have default
91enum_ ENUM('abc', 'def', 'ghi') DEFAULT 'def',
92set_ SET('jkl', 'mno', 'pqr') DEFAULT 'jkl,pqr',
93json_ JSON # cannot have default
94);
95# Doing explicit insert instead of setting the rows variable, since
96# mtr gets confused by escapes and to easier make use of default
97# values.
98INSERT INTO t SET
99i = 1,
100j = '["xyzw", 0]',
101# Using numeric character codes to not confuse mtr.  Omitting
102# CHAR(1) and \f because there is no escape sequence that mysql
103# understands for them.  Omitting CHAR(0) and \Z becuase
104# mysqlbinlog -v does not output the escape sequence that mysql
105# understands for them.  This is not supposed to be exact SQL
106# anyways.
107#                   backslash  quote    doublequote backtick dollar
108quotestring = CONCAT(CHAR(92), CHAR(39), CHAR(34), CHAR(96), CHAR(36), '%', '_', '\b\n\r\t'),
109tinyblob_ = CHAR(0xbb),
110blob_ = CHAR(0xcc),
111blob_10_ = CHAR(0xdd),
112mediumblob_ = CHAR(0xee),
113longblob_ = CHAR(0xff),
114tinytext_ = 'nop',
115text_ = 'qrs',
116text_10_ = 'tuv',
117mediumtext_ = 'wxy',
118longtext_ = 'z',
119json_ = '{ "a" : [ 1, 2.3, null, false, "text" ] }';
120SET SQL_LOG_BIN = 1;
121]
122---- 1. Update from int column ----
123include/rpl_row_jsondiff_scenario.inc
124# Before update
125j
126["xyzw", 0]
127UPDATE t SET j = JSON_SET(j, '$[1]', nullint ) WHERE i = 1
128# After update
129j
130["xyzw", null]
131# Decoded rows
132UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', null) WHERE i=1 AND j=CAST('["xyzw", 0]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
133---- 2. Update from char(0) column ----
134include/rpl_row_jsondiff_scenario.inc
135# Before update
136j
137["xyzw", null]
138UPDATE t SET j = JSON_SET(j, '$[1]', emptystring ) WHERE i = 1
139# After update
140j
141["xyzw", ""]
142# Decoded rows
143UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '') WHERE i=1 AND j=CAST('["xyzw", null]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
144---- 3. Update from varchar(100) column ----
145include/rpl_row_jsondiff_scenario.inc
146# Before update
147j
148["xyzw", ""]
149UPDATE t SET j = JSON_SET(j, '$[1]', quotestring ) WHERE i = 1
150# After update
151j
152["xyzw", "\\'\"`$%_\b\n\r\t"]
153# Decoded rows
154UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '\\\'"`$%_\b\n\r\t') WHERE i=1 AND j=CAST('["xyzw", ""]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
155---- 4. Update from bit(1) column ----
156include/rpl_row_jsondiff_scenario.inc
157# Before update
158j
159["xyzw", "\\'\"`$%_\b\n\r\t"]
160UPDATE t SET j = JSON_SET(j, '$[1]', bit_ ) WHERE i = 1
161# After update
162j
163["xyzw", "base64:type16:AQ=="]
164# Decoded rows
165UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type16:AQ==') WHERE i=1 AND j=CAST('["xyzw", "\\\\\'\\"`$%_\\b\\n\\r\\t"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
166---- 5. Update from bit(50) column ----
167include/rpl_row_jsondiff_scenario.inc
168# Before update
169j
170["xyzw", "base64:type16:AQ=="]
171UPDATE t SET j = JSON_SET(j, '$[1]', bit_50_ ) WHERE i = 1
172# After update
173j
174["xyzw", "base64:type16:AAD4Pg+D4A=="]
175# Decoded rows
176UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type16:AAD4Pg+D4A==') WHERE i=1 AND j=CAST('["xyzw", "base64:type16:AQ=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
177---- 6. Update from tinyint(1) column ----
178include/rpl_row_jsondiff_scenario.inc
179# Before update
180j
181["xyzw", "base64:type16:AAD4Pg+D4A=="]
182UPDATE t SET j = JSON_SET(j, '$[1]', bool_false ) WHERE i = 1
183# After update
184j
185["xyzw", 0]
186# Decoded rows
187UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 0) WHERE i=1 AND j=CAST('["xyzw", "base64:type16:AAD4Pg+D4A=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
188---- 7. Update from tinyint(1) column ----
189include/rpl_row_jsondiff_scenario.inc
190# Before update
191j
192["xyzw", 0]
193UPDATE t SET j = JSON_SET(j, '$[1]', bool_true ) WHERE i = 1
194# After update
195j
196["xyzw", 1]
197# Decoded rows
198UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 1) WHERE i=1 AND j=CAST('["xyzw", 0]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
199---- 8. Update from tinyint column ----
200include/rpl_row_jsondiff_scenario.inc
201# Before update
202j
203["xyzw", 1]
204UPDATE t SET j = JSON_SET(j, '$[1]', tinyint_ ) WHERE i = 1
205# After update
206j
207["xyzw", -100]
208# Decoded rows
209UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -100) WHERE i=1 AND j=CAST('["xyzw", 1]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
210---- 9. Update from tinyint(1) column ----
211include/rpl_row_jsondiff_scenario.inc
212# Before update
213j
214["xyzw", -100]
215UPDATE t SET j = JSON_SET(j, '$[1]', tinyint_1_ ) WHERE i = 1
216# After update
217j
218["xyzw", -9]
219# Decoded rows
220UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -9) WHERE i=1 AND j=CAST('["xyzw", -100]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
221---- 10. Update from tinyint unsigned column ----
222include/rpl_row_jsondiff_scenario.inc
223# Before update
224j
225["xyzw", -9]
226UPDATE t SET j = JSON_SET(j, '$[1]', tinyint_u_ ) WHERE i = 1
227# After update
228j
229["xyzw", 250]
230# Decoded rows
231UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 250) WHERE i=1 AND j=CAST('["xyzw", -9]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
232---- 11. Update from tinyint unsigned column ----
233include/rpl_row_jsondiff_scenario.inc
234# Before update
235j
236["xyzw", 250]
237UPDATE t SET j = JSON_SET(j, '$[1]', tinyint_1_u_ ) WHERE i = 1
238# After update
239j
240["xyzw", 9]
241# Decoded rows
242UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 9) WHERE i=1 AND j=CAST('["xyzw", 250]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
243---- 12. Update from smallint column ----
244include/rpl_row_jsondiff_scenario.inc
245# Before update
246j
247["xyzw", 9]
248UPDATE t SET j = JSON_SET(j, '$[1]', smallint_ ) WHERE i = 1
249# After update
250j
251["xyzw", -12345]
252# Decoded rows
253UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -12345) WHERE i=1 AND j=CAST('["xyzw", 9]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
254---- 13. Update from smallint column ----
255include/rpl_row_jsondiff_scenario.inc
256# Before update
257j
258["xyzw", -12345]
259UPDATE t SET j = JSON_SET(j, '$[1]', smallint_3_ ) WHERE i = 1
260# After update
261j
262["xyzw", -987]
263# Decoded rows
264UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -987) WHERE i=1 AND j=CAST('["xyzw", -12345]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
265---- 14. Update from smallint unsigned column ----
266include/rpl_row_jsondiff_scenario.inc
267# Before update
268j
269["xyzw", -987]
270UPDATE t SET j = JSON_SET(j, '$[1]', smallint_u_ ) WHERE i = 1
271# After update
272j
273["xyzw", 45678]
274# Decoded rows
275UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 45678) WHERE i=1 AND j=CAST('["xyzw", -987]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
276---- 15. Update from smallint unsigned column ----
277include/rpl_row_jsondiff_scenario.inc
278# Before update
279j
280["xyzw", 45678]
281UPDATE t SET j = JSON_SET(j, '$[1]', smallint_3_u_ ) WHERE i = 1
282# After update
283j
284["xyzw", 987]
285# Decoded rows
286UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 987) WHERE i=1 AND j=CAST('["xyzw", 45678]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
287---- 16. Update from int column ----
288include/rpl_row_jsondiff_scenario.inc
289# Before update
290j
291["xyzw", 987]
292UPDATE t SET j = JSON_SET(j, '$[1]', int_ ) WHERE i = 1
293# After update
294j
295["xyzw", -1234567]
296# Decoded rows
297UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -1234567) WHERE i=1 AND j=CAST('["xyzw", 987]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
298---- 17. Update from int column ----
299include/rpl_row_jsondiff_scenario.inc
300# Before update
301j
302["xyzw", -1234567]
303UPDATE t SET j = JSON_SET(j, '$[1]', int_6_ ) WHERE i = 1
304# After update
305j
306["xyzw", -123456]
307# Decoded rows
308UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -123456) WHERE i=1 AND j=CAST('["xyzw", -1234567]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
309---- 18. Update from int unsigned column ----
310include/rpl_row_jsondiff_scenario.inc
311# Before update
312j
313["xyzw", -123456]
314UPDATE t SET j = JSON_SET(j, '$[1]', int_u_ ) WHERE i = 1
315# After update
316j
317["xyzw", 3222111000]
318# Decoded rows
319UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 3222111000) WHERE i=1 AND j=CAST('["xyzw", -123456]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
320---- 19. Update from int unsigned column ----
321include/rpl_row_jsondiff_scenario.inc
322# Before update
323j
324["xyzw", 3222111000]
325UPDATE t SET j = JSON_SET(j, '$[1]', int_6_u_ ) WHERE i = 1
326# After update
327j
328["xyzw", 987654]
329# Decoded rows
330UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 987654) WHERE i=1 AND j=CAST('["xyzw", 3222111000]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
331---- 20. Update from bigint column ----
332include/rpl_row_jsondiff_scenario.inc
333# Before update
334j
335["xyzw", 987654]
336UPDATE t SET j = JSON_SET(j, '$[1]', bigint_ ) WHERE i = 1
337# After update
338j
339["xyzw", -5444333222111]
340# Decoded rows
341UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -5444333222111) WHERE i=1 AND j=CAST('["xyzw", 987654]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
342---- 21. Update from bigint column ----
343include/rpl_row_jsondiff_scenario.inc
344# Before update
345j
346["xyzw", -5444333222111]
347UPDATE t SET j = JSON_SET(j, '$[1]', bigint_12_ ) WHERE i = 1
348# After update
349j
350["xyzw", -6555444333222111]
351# Decoded rows
352UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -6555444333222111) WHERE i=1 AND j=CAST('["xyzw", -5444333222111]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
353---- 22. Update from bigint unsigned column ----
354include/rpl_row_jsondiff_scenario.inc
355# Before update
356j
357["xyzw", -6555444333222111]
358UPDATE t SET j = JSON_SET(j, '$[1]', bigint_u_ ) WHERE i = 1
359# After update
360j
361["xyzw", 5444333222111]
362# Decoded rows
363UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 5444333222111) WHERE i=1 AND j=CAST('["xyzw", -6555444333222111]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
364---- 23. Update from bigint unsigned column ----
365include/rpl_row_jsondiff_scenario.inc
366# Before update
367j
368["xyzw", 5444333222111]
369UPDATE t SET j = JSON_SET(j, '$[1]', bigint_12_u_ ) WHERE i = 1
370# After update
371j
372["xyzw", 6555444333222111]
373# Decoded rows
374UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 6555444333222111) WHERE i=1 AND j=CAST('["xyzw", 5444333222111]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
375---- 24. Update from decimal(10,0) column ----
376include/rpl_row_jsondiff_scenario.inc
377# Before update
378j
379["xyzw", 6555444333222111]
380UPDATE t SET j = JSON_SET(j, '$[1]', decimal_ ) WHERE i = 1
381# After update
382j
383["xyzw", -987654321]
384# Decoded rows
385UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -987654321) WHERE i=1 AND j=CAST('["xyzw", 6555444333222111]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
386---- 25. Update from decimal(10,5) column ----
387include/rpl_row_jsondiff_scenario.inc
388# Before update
389j
390["xyzw", -987654321]
391UPDATE t SET j = JSON_SET(j, '$[1]', decimal_10_5_ ) WHERE i = 1
392# After update
393j
394["xyzw", -12345.67890]
395# Decoded rows
396UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -12345.67890) WHERE i=1 AND j=CAST('["xyzw", -987654321]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
397---- 26. Update from decimal(10,0) unsigned column ----
398include/rpl_row_jsondiff_scenario.inc
399# Before update
400j
401["xyzw", -12345.67890]
402UPDATE t SET j = JSON_SET(j, '$[1]', decimal_u_ ) WHERE i = 1
403# After update
404j
405["xyzw", 987654321]
406# Decoded rows
407UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 987654321) WHERE i=1 AND j=CAST('["xyzw", -12345.67890]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
408---- 27. Update from decimal(10,5) unsigned column ----
409include/rpl_row_jsondiff_scenario.inc
410# Before update
411j
412["xyzw", 987654321]
413UPDATE t SET j = JSON_SET(j, '$[1]', decimal_10_5_u_ ) WHERE i = 1
414# After update
415j
416["xyzw", 12345.67890]
417# Decoded rows
418UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 12345.67890) WHERE i=1 AND j=CAST('["xyzw", 987654321]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
419---- 28. Update from float column ----
420include/rpl_row_jsondiff_scenario.inc
421# Before update
422j
423["xyzw", 12345.67890]
424UPDATE t SET j = JSON_SET(j, '$[1]', float_ ) WHERE i = 1
425# After update
426j
427["xyzw", -5.432100077514774e20]
428# Decoded rows
429UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -5.432100077514774e20) WHERE i=1 AND j=CAST('["xyzw", 12345.67890]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
430---- 29. Update from float(4,2) column ----
431include/rpl_row_jsondiff_scenario.inc
432# Before update
433j
434["xyzw", -5.432100077514774e20]
435UPDATE t SET j = JSON_SET(j, '$[1]', float_4_2_ ) WHERE i = 1
436# After update
437j
438["xyzw", -43.209999084472656]
439# Decoded rows
440UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -43.209999084472656) WHERE i=1 AND j=CAST('["xyzw", -5.432100077514774e20]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
441---- 30. Update from float unsigned column ----
442include/rpl_row_jsondiff_scenario.inc
443# Before update
444j
445["xyzw", -43.209999084472656]
446UPDATE t SET j = JSON_SET(j, '$[1]', float_u_ ) WHERE i = 1
447# After update
448j
449["xyzw", 65432100864.0]
450# Decoded rows
451UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 65432100864.0) WHERE i=1 AND j=CAST('["xyzw", -43.209999084472656]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
452---- 31. Update from float(4,2) unsigned column ----
453include/rpl_row_jsondiff_scenario.inc
454# Before update
455j
456["xyzw", 65432100864.0]
457UPDATE t SET j = JSON_SET(j, '$[1]', float_4_2_u_ ) WHERE i = 1
458# After update
459j
460["xyzw", 12.34000015258789]
461# Decoded rows
462UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 12.34000015258789) WHERE i=1 AND j=CAST('["xyzw", 65432100864.0]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
463---- 32. Update from double column ----
464include/rpl_row_jsondiff_scenario.inc
465# Before update
466j
467["xyzw", 12.34000015258789]
468UPDATE t SET j = JSON_SET(j, '$[1]', double_ ) WHERE i = 1
469# After update
470j
471["xyzw", -9.87654321e300]
472# Decoded rows
473UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -9.87654321e300) WHERE i=1 AND j=CAST('["xyzw", 12.34000015258789]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
474---- 33. Update from double(20,10) column ----
475include/rpl_row_jsondiff_scenario.inc
476# Before update
477j
478["xyzw", -9.87654321e300]
479UPDATE t SET j = JSON_SET(j, '$[1]', double_20_10_ ) WHERE i = 1
480# After update
481j
482["xyzw", -9876500000.0]
483# Decoded rows
484UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', -9876500000.0) WHERE i=1 AND j=CAST('["xyzw", -9.87654321e300]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
485---- 34. Update from double unsigned column ----
486include/rpl_row_jsondiff_scenario.inc
487# Before update
488j
489["xyzw", -9876500000.0]
490UPDATE t SET j = JSON_SET(j, '$[1]', double_u_ ) WHERE i = 1
491# After update
492j
493["xyzw", 9.87654321e300]
494# Decoded rows
495UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 9.87654321e300) WHERE i=1 AND j=CAST('["xyzw", -9876500000.0]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
496---- 35. Update from double(20,10) unsigned column ----
497include/rpl_row_jsondiff_scenario.inc
498# Before update
499j
500["xyzw", 9.87654321e300]
501UPDATE t SET j = JSON_SET(j, '$[1]', double_20_10_u_ ) WHERE i = 1
502# After update
503j
504["xyzw", 9876500000.0]
505# Decoded rows
506UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 9876500000.0) WHERE i=1 AND j=CAST('["xyzw", 9.87654321e300]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
507---- 36. Update from date column ----
508include/rpl_row_jsondiff_scenario.inc
509# Before update
510j
511["xyzw", 9876500000.0]
512UPDATE t SET j = JSON_SET(j, '$[1]', date_ ) WHERE i = 1
513# After update
514j
515["xyzw", "2017-05-19"]
516# Decoded rows
517UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '2017-05-19') WHERE i=1 AND j=CAST('["xyzw", 9876500000.0]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
518---- 37. Update from datetime column ----
519include/rpl_row_jsondiff_scenario.inc
520# Before update
521j
522["xyzw", "2017-05-19"]
523UPDATE t SET j = JSON_SET(j, '$[1]', datetime_ ) WHERE i = 1
524# After update
525j
526["xyzw", "2017-05-20 06:00:00.000000"]
527# Decoded rows
528UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '2017-05-20 06:00:00.000000') WHERE i=1 AND j=CAST('["xyzw", "2017-05-19"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
529---- 38. Update from datetime(6) column ----
530include/rpl_row_jsondiff_scenario.inc
531# Before update
532j
533["xyzw", "2017-05-20 06:00:00.000000"]
534UPDATE t SET j = JSON_SET(j, '$[1]', datetime_6_ ) WHERE i = 1
535# After update
536j
537["xyzw", "2017-05-21 07:01:01.000001"]
538# Decoded rows
539UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '2017-05-21 07:01:01.000001') WHERE i=1 AND j=CAST('["xyzw", "2017-05-20 06:00:00.000000"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
540---- 39. Update from timestamp column ----
541include/rpl_row_jsondiff_scenario.inc
542# Before update
543j
544["xyzw", "2017-05-21 07:01:01.000001"]
545UPDATE t SET j = JSON_SET(j, '$[1]', timestamp_ ) WHERE i = 1
546# After update
547j
548["xyzw", "2017-05-22 08:02:02.000000"]
549# Decoded rows
550UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '2017-05-22 08:02:02.000000') WHERE i=1 AND j=CAST('["xyzw", "2017-05-21 07:01:01.000001"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
551---- 40. Update from timestamp(6) column ----
552include/rpl_row_jsondiff_scenario.inc
553# Before update
554j
555["xyzw", "2017-05-22 08:02:02.000000"]
556UPDATE t SET j = JSON_SET(j, '$[1]', timestamp_6_ ) WHERE i = 1
557# After update
558j
559["xyzw", "2017-05-23 09:03:03.000003"]
560# Decoded rows
561UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '2017-05-23 09:03:03.000003') WHERE i=1 AND j=CAST('["xyzw", "2017-05-22 08:02:02.000000"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
562---- 41. Update from time column ----
563include/rpl_row_jsondiff_scenario.inc
564# Before update
565j
566["xyzw", "2017-05-23 09:03:03.000003"]
567UPDATE t SET j = JSON_SET(j, '$[1]', time_ ) WHERE i = 1
568# After update
569j
570["xyzw", "10:04:04.000000"]
571# Decoded rows
572UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '10:04:04.000000') WHERE i=1 AND j=CAST('["xyzw", "2017-05-23 09:03:03.000003"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
573---- 42. Update from time(6) column ----
574include/rpl_row_jsondiff_scenario.inc
575# Before update
576j
577["xyzw", "10:04:04.000000"]
578UPDATE t SET j = JSON_SET(j, '$[1]', time_6_ ) WHERE i = 1
579# After update
580j
581["xyzw", "10:05:05.000005"]
582# Decoded rows
583UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', '10:05:05.000005') WHERE i=1 AND j=CAST('["xyzw", "10:04:04.000000"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
584---- 43. Update from year column ----
585include/rpl_row_jsondiff_scenario.inc
586# Before update
587j
588["xyzw", "10:05:05.000005"]
589UPDATE t SET j = JSON_SET(j, '$[1]', year_ ) WHERE i = 1
590# After update
591j
592["xyzw", 2018]
593# Decoded rows
594UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 2018) WHERE i=1 AND j=CAST('["xyzw", "10:05:05.000005"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
595---- 44. Update from binary(1) column ----
596include/rpl_row_jsondiff_scenario.inc
597# Before update
598j
599["xyzw", 2018]
600UPDATE t SET j = JSON_SET(j, '$[1]', binary_ ) WHERE i = 1
601# After update
602j
603["xyzw", "base64:type254:YQ=="]
604# Decoded rows
605UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type254:YQ==') WHERE i=1 AND j=CAST('["xyzw", 2018]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
606---- 45. Update from binary(10) column ----
607include/rpl_row_jsondiff_scenario.inc
608# Before update
609j
610["xyzw", "base64:type254:YQ=="]
611UPDATE t SET j = JSON_SET(j, '$[1]', binary_10_ ) WHERE i = 1
612# After update
613j
614["xyzw", "base64:type254:eDAweDAxAAAAAA=="]
615# Decoded rows
616UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type254:eDAweDAxAAAAAA==') WHERE i=1 AND j=CAST('["xyzw", "base64:type254:YQ=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
617---- 46. Update from varbinary(1000) column ----
618include/rpl_row_jsondiff_scenario.inc
619# Before update
620j
621["xyzw", "base64:type254:eDAweDAxAAAAAA=="]
622UPDATE t SET j = JSON_SET(j, '$[1]', varbinary_1000_ ) WHERE i = 1
623# After update
624j
625["xyzw", "base64:type15:eGFh"]
626# Decoded rows
627UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type15:eGFh') WHERE i=1 AND j=CAST('["xyzw", "base64:type254:eDAweDAxAAAAAA=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
628---- 47. Update from tinyblob column ----
629include/rpl_row_jsondiff_scenario.inc
630# Before update
631j
632["xyzw", "base64:type15:eGFh"]
633UPDATE t SET j = JSON_SET(j, '$[1]', tinyblob_ ) WHERE i = 1
634# After update
635j
636["xyzw", "base64:type249:uw=="]
637# Decoded rows
638UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type249:uw==') WHERE i=1 AND j=CAST('["xyzw", "base64:type15:eGFh"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
639---- 48. Update from blob column ----
640include/rpl_row_jsondiff_scenario.inc
641# Before update
642j
643["xyzw", "base64:type249:uw=="]
644UPDATE t SET j = JSON_SET(j, '$[1]', blob_ ) WHERE i = 1
645# After update
646j
647["xyzw", "base64:type252:zA=="]
648# Decoded rows
649UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type252:zA==') WHERE i=1 AND j=CAST('["xyzw", "base64:type249:uw=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
650---- 49. Update from tinyblob column ----
651include/rpl_row_jsondiff_scenario.inc
652# Before update
653j
654["xyzw", "base64:type252:zA=="]
655UPDATE t SET j = JSON_SET(j, '$[1]', blob_10_ ) WHERE i = 1
656# After update
657j
658["xyzw", "base64:type249:3Q=="]
659# Decoded rows
660UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type249:3Q==') WHERE i=1 AND j=CAST('["xyzw", "base64:type252:zA=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
661---- 50. Update from mediumblob column ----
662include/rpl_row_jsondiff_scenario.inc
663# Before update
664j
665["xyzw", "base64:type249:3Q=="]
666UPDATE t SET j = JSON_SET(j, '$[1]', mediumblob_ ) WHERE i = 1
667# After update
668j
669["xyzw", "base64:type250:7g=="]
670# Decoded rows
671UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type250:7g==') WHERE i=1 AND j=CAST('["xyzw", "base64:type249:3Q=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
672---- 51. Update from longblob column ----
673include/rpl_row_jsondiff_scenario.inc
674# Before update
675j
676["xyzw", "base64:type250:7g=="]
677UPDATE t SET j = JSON_SET(j, '$[1]', longblob_ ) WHERE i = 1
678# After update
679j
680["xyzw", "base64:type251:/w=="]
681# Decoded rows
682UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'base64:type251:/w==') WHERE i=1 AND j=CAST('["xyzw", "base64:type250:7g=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
683---- 52. Update from char(1) column ----
684include/rpl_row_jsondiff_scenario.inc
685# Before update
686j
687["xyzw", "base64:type251:/w=="]
688UPDATE t SET j = JSON_SET(j, '$[1]', char_ ) WHERE i = 1
689# After update
690j
691["xyzw", "g"]
692# Decoded rows
693UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'g') WHERE i=1 AND j=CAST('["xyzw", "base64:type251:/w=="]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
694---- 53. Update from char(10) column ----
695include/rpl_row_jsondiff_scenario.inc
696# Before update
697j
698["xyzw", "g"]
699UPDATE t SET j = JSON_SET(j, '$[1]', char_10_ ) WHERE i = 1
700# After update
701j
702["xyzw", "hij"]
703# Decoded rows
704UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'hij') WHERE i=1 AND j=CAST('["xyzw", "g"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
705---- 54. Update from varchar(1000) column ----
706include/rpl_row_jsondiff_scenario.inc
707# Before update
708j
709["xyzw", "hij"]
710UPDATE t SET j = JSON_SET(j, '$[1]', varchar_1000_ ) WHERE i = 1
711# After update
712j
713["xyzw", "klm"]
714# Decoded rows
715UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'klm') WHERE i=1 AND j=CAST('["xyzw", "hij"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
716---- 55. Update from tinytext column ----
717include/rpl_row_jsondiff_scenario.inc
718# Before update
719j
720["xyzw", "klm"]
721UPDATE t SET j = JSON_SET(j, '$[1]', tinytext_ ) WHERE i = 1
722# After update
723j
724["xyzw", "nop"]
725# Decoded rows
726UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'nop') WHERE i=1 AND j=CAST('["xyzw", "klm"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
727---- 56. Update from text column ----
728include/rpl_row_jsondiff_scenario.inc
729# Before update
730j
731["xyzw", "nop"]
732UPDATE t SET j = JSON_SET(j, '$[1]', text_ ) WHERE i = 1
733# After update
734j
735["xyzw", "qrs"]
736# Decoded rows
737UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'qrs') WHERE i=1 AND j=CAST('["xyzw", "nop"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
738---- 57. Update from tinytext column ----
739include/rpl_row_jsondiff_scenario.inc
740# Before update
741j
742["xyzw", "qrs"]
743UPDATE t SET j = JSON_SET(j, '$[1]', text_10_ ) WHERE i = 1
744# After update
745j
746["xyzw", "tuv"]
747# Decoded rows
748UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'tuv') WHERE i=1 AND j=CAST('["xyzw", "qrs"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
749---- 58. Update from mediumtext column ----
750include/rpl_row_jsondiff_scenario.inc
751# Before update
752j
753["xyzw", "tuv"]
754UPDATE t SET j = JSON_SET(j, '$[1]', mediumtext_ ) WHERE i = 1
755# After update
756j
757["xyzw", "wxy"]
758# Decoded rows
759UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'wxy') WHERE i=1 AND j=CAST('["xyzw", "tuv"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
760---- 59. Update from longtext column ----
761include/rpl_row_jsondiff_scenario.inc
762# Before update
763j
764["xyzw", "wxy"]
765UPDATE t SET j = JSON_SET(j, '$[1]', longtext_ ) WHERE i = 1
766# After update
767j
768["xyzw", "z"]
769# Decoded rows
770UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'z') WHERE i=1 AND j=CAST('["xyzw", "wxy"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
771---- 60. Update from enum('abc','def','ghi') column ----
772include/rpl_row_jsondiff_scenario.inc
773# Before update
774j
775["xyzw", "z"]
776UPDATE t SET j = JSON_SET(j, '$[1]', enum_ ) WHERE i = 1
777# After update
778j
779["xyzw", "def"]
780# Decoded rows
781UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'def') WHERE i=1 AND j=CAST('["xyzw", "z"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
782---- 61. Update from set('jkl','mno','pqr') column ----
783include/rpl_row_jsondiff_scenario.inc
784# Before update
785j
786["xyzw", "def"]
787UPDATE t SET j = JSON_SET(j, '$[1]', set_ ) WHERE i = 1
788# After update
789j
790["xyzw", "jkl,pqr"]
791# Decoded rows
792UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', 'jkl,pqr') WHERE i=1 AND j=CAST('["xyzw", "def"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
793---- 62. Update from json column ----
794include/rpl_row_jsondiff_scenario.inc
795# Before update
796j
797["xyzw", "jkl,pqr"]
798UPDATE t SET j = JSON_SET(j, '$[1]', json_ ) WHERE i = 1
799# After update
800j
801["xyzw", {"a": [1, 2.3, null, false, "text"]}]
802# Decoded rows
803UPDATE `test`.`t` SET j=JSON_REPLACE(j, '$[1]', CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON)) WHERE i=1 AND j=CAST('["xyzw", "jkl,pqr"]' AS JSON) AND nullint IS NULL AND emptystring='' AND quotestring='\\\'"`$%_\b\n\r\t' AND bit_=b'1' AND bit_50_=b'00000000001111100000111110000011111000001111100000' AND bool_false=0 AND bool_true=1 AND tinyint_=-100 AND tinyint_1_=-9 AND tinyint_u_=250 AND tinyint_1_u_=9 AND smallint_=-12345 AND smallint_3_=-987 AND smallint_u_=45678 AND smallint_3_u_=987 AND int_=-1234567 AND int_6_=-123456 AND int_u_=3222111000 AND int_6_u_=987654 AND bigint_=-5444333222111 AND bigint_12_=-6555444333222111 AND bigint_u_=5444333222111 AND bigint_12_u_=6555444333222111 AND decimal_=-987654321 AND decimal_10_5_=-12345.67890 AND decimal_u_=987654321 AND decimal_10_5_u_=12345.67890 AND date_=CAST('2017:05:19' AS DATE) AND datetime_=CAST('2017-05-20 06:00:00' AS DATETIME) AND datetime_6_='2017-05-21 07:01:01.000001' AND UNIX_TIMESTAMP(timestamp_)=1495429322 AND UNIX_TIMESTAMP(timestamp_6_)=1495519383.000003 AND time_=CAST('10:04:04' AS TIME) AND time_6_='10:05:05.000005' AND year_=2018 AND char_='g' AND char_10_='hij' AND varchar_1000_='klm' AND tinytext_='nop' AND text_='qrs' AND text_10_='tuv' AND mediumtext_='wxy' AND longtext_='z' AND json_=CAST('{"a": [1, 2.3, null, false, "text"]}' AS JSON);
804######## CLEAN UP ########
805include/rpl_for_each_server_stmt.inc [SET @@SESSION.BINLOG_ROW_IMAGE = FULL;
806SET @@SESSION.BINLOG_ROW_VALUE_OPTIONS = '';
807SET @@GLOBAL.BINLOG_ROW_IMAGE = FULL;
808SET @@GLOBAL.BINLOG_ROW_VALUE_OPTIONS = '';
809SET SESSION SQL_LOG_BIN = 0; DROP TABLE test.t; SET SESSION SQL_LOG_BIN = 1;
810]
811include/rpl_end.inc
812