Skip to content

Commit db594de

Browse files
committed
Merge tag 'clone-5.5.62-build' into mysql-5.5-cluster-7.2
Change-Id: I3b1e7b6baf1c4b8096714a34164415b3e71625d0
2 parents cda095f + bac287c commit db594de

File tree

15 files changed

+251
-83
lines changed

15 files changed

+251
-83
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
MYSQL_VERSION_MAJOR=5
22
MYSQL_VERSION_MINOR=5
3-
MYSQL_VERSION_PATCH=61
3+
MYSQL_VERSION_PATCH=62
44
MYSQL_VERSION_EXTRA=-ndb-7.2.35

client/mysql.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
2+
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
33
44
This program is free software; you can redistribute it and/or modify
55
it under the terms of the GNU General Public License as published by
@@ -1395,7 +1395,7 @@ static struct my_option my_long_options[] =
13951395
{"batch", 'B',
13961396
"Don't use history file. Disable interactive behavior. (Enables --silent.)",
13971397
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1398-
{"binary-as-hex", 'b', "Print binary data as hex", &opt_binhex, &opt_binhex,
1398+
{"binary-as-hex", 0, "Print binary data as hex", &opt_binhex, &opt_binhex,
13991399
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
14001400
#ifndef MCP_WL3126
14011401
{"bind-address", 0, "IP address to bind to.",
@@ -2679,7 +2679,7 @@ You can turn off this feature to get a quicker startup with -A\n\n");
26792679
mysql_free_result(fields);
26802680
break;
26812681
}
2682-
field_names[i][num_fields*2]= '\0';
2682+
field_names[i][num_fields*2]= NULL;
26832683
j=0;
26842684
while ((sql_field=mysql_fetch_field(fields)))
26852685
{

cmake/tags.cmake

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
1+
# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
22
#
33
# This program is free software; you can redistribute it and/or modify
44
# it under the terms of the GNU General Public License as published by
@@ -15,12 +15,29 @@
1515

1616
# Generate tag files
1717
IF(UNIX)
18-
ADD_CUSTOM_TARGET (tags
19-
COMMAND support-files/build-tags
20-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
21-
)
22-
ADD_CUSTOM_TARGET (ctags
23-
COMMAND ctags -R -f CTAGS
24-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
25-
)
18+
FIND_PROGRAM(CTAGS_EXECUTABLE ctags)
19+
IF(NOT CTAGS_EXECUTABLE)
20+
RETURN()
21+
ENDIF()
22+
EXEC_PROGRAM(${CTAGS_EXECUTABLE} ARGS --version OUTPUT_VARIABLE CTAGS_VERSION)
23+
24+
IF(CTAGS_VERSION MATCHES "Exuberant")
25+
ADD_CUSTOM_TARGET(tags
26+
COMMAND support-files/build-tags
27+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
28+
)
29+
ADD_CUSTOM_TARGET(ctags
30+
COMMAND support-files/build-tags ctags
31+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
32+
)
33+
ELSE()
34+
ADD_CUSTOM_TARGET (tags
35+
COMMAND exit 1
36+
COMMENT "Please install Exuberant Ctags"
37+
)
38+
ADD_CUSTOM_TARGET (ctags
39+
COMMAND exit 1
40+
COMMENT "Please install Exuberant Ctags"
41+
)
42+
ENDIF()
2643
ENDIF()

mysql-test/r/alter_table.result

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1505,3 +1505,53 @@ SELECT * FROM t1;
15051505
15061506
10
15071507
DROP TABLE t1;
1508+
#
1509+
# BUG#27788685: NO WARNING WHEN TRUNCATING A STRING WITH DATA LOSS
1510+
#
1511+
SET GLOBAL max_allowed_packet=17825792;
1512+
CREATE TABLE t1 (t1_fld1 TEXT) ENGINE=InnoDB;
1513+
CREATE TABLE t2 (t2_fld1 MEDIUMTEXT) ENGINE=InnoDB;
1514+
CREATE TABLE t3 (t3_fld1 LONGTEXT) ENGINE=InnoDB;
1515+
INSERT INTO t1 VALUES (REPEAT('a',300));
1516+
INSERT INTO t2 VALUES (REPEAT('b',65680));
1517+
INSERT INTO t3 VALUES (REPEAT('c',16777300));
1518+
SELECT LENGTH(t1_fld1) FROM t1;
1519+
LENGTH(t1_fld1)
1520+
300
1521+
SELECT LENGTH(t2_fld1) FROM t2;
1522+
LENGTH(t2_fld1)
1523+
65680
1524+
SELECT LENGTH(t3_fld1) FROM t3;
1525+
LENGTH(t3_fld1)
1526+
16777300
1527+
# With strict mode
1528+
SET SQL_MODE='STRICT_ALL_TABLES';
1529+
ALTER TABLE t1 CHANGE `t1_fld1` `my_t1_fld1` TINYTEXT;
1530+
ERROR 22001: Data too long for column 'my_t1_fld1' at row 1
1531+
ALTER TABLE t2 CHANGE `t2_fld1` `my_t2_fld1` TEXT;
1532+
ERROR 22001: Data too long for column 'my_t2_fld1' at row 1
1533+
ALTER TABLE t3 CHANGE `t3_fld1` `my_t3_fld1` MEDIUMTEXT;
1534+
ERROR 22001: Data too long for column 'my_t3_fld1' at row 1
1535+
# With non-strict mode
1536+
SET SQL_MODE='';
1537+
ALTER TABLE t1 CHANGE `t1_fld1` `my_t1_fld1` TINYTEXT;
1538+
Warnings:
1539+
Warning 1265 Data truncated for column 'my_t1_fld1' at row 1
1540+
ALTER TABLE t2 CHANGE `t2_fld1` `my_t2_fld1` TEXT;
1541+
Warnings:
1542+
Warning 1265 Data truncated for column 'my_t2_fld1' at row 1
1543+
ALTER TABLE t3 CHANGE `t3_fld1` `my_t3_fld1` MEDIUMTEXT;
1544+
Warnings:
1545+
Warning 1265 Data truncated for column 'my_t3_fld1' at row 1
1546+
SELECT LENGTH(my_t1_fld1) FROM t1;
1547+
LENGTH(my_t1_fld1)
1548+
44
1549+
SELECT LENGTH(my_t2_fld1) FROM t2;
1550+
LENGTH(my_t2_fld1)
1551+
144
1552+
SELECT LENGTH(my_t3_fld1) FROM t3;
1553+
LENGTH(my_t3_fld1)
1554+
84
1555+
DROP TABLE t1, t2, t3;
1556+
SET SQL_MODE=default;
1557+
SET GLOBAL max_allowed_packet=default;

mysql-test/r/myisam-blob.result

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ select length(data) from t1;
2929
length(data)
3030
18874368
3131
alter table t1 modify data blob;
32+
Warnings:
33+
Warning 1265 Data truncated for column 'data' at row 1
3234
select length(data) from t1;
3335
length(data)
3436
0

mysql-test/suite/perfschema/r/relaylog.result

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ from performance_schema.file_summary_by_instance
2020
where file_name like "%master-%" order by file_name;
2121
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
2222
master-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
23-
master-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
23+
master-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
2424
select * from performance_schema.file_summary_by_instance
2525
where file_name like "%slave-%" order by file_name;
2626
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
@@ -36,7 +36,7 @@ from performance_schema.file_summary_by_instance
3636
where event_name like "%binlog%" order by file_name;
3737
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
3838
master-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
39-
master-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
39+
master-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
4040
select
4141
EVENT_NAME,
4242
if (count_read > 0, "MANY", "NONE") as COUNT_READ,
@@ -47,7 +47,7 @@ from performance_schema.file_summary_by_event_name
4747
where event_name like "%binlog%" order by event_name;
4848
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
4949
wait/io/file/sql/binlog MANY MANY MANY MANY
50-
wait/io/file/sql/binlog_index NONE MANY NONE MANY
50+
wait/io/file/sql/binlog_index MANY MANY MANY MANY
5151
select
5252
EVENT_NAME,
5353
if (count_star > 0, "MANY", "NONE") as COUNT_STAR
@@ -93,7 +93,7 @@ where file_name like "%slave-%"
9393
order by file_name;
9494
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
9595
slave-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
96-
slave-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
96+
slave-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
9797
slave-relay-bin.000001 wait/io/file/sql/relaylog MANY MANY MANY MANY
9898
slave-relay-bin.000002 wait/io/file/sql/relaylog MANY MANY MANY MANY
9999
slave-relay-bin.index wait/io/file/sql/relaylog_index MANY MANY MANY MANY
@@ -109,7 +109,7 @@ from performance_schema.file_summary_by_instance
109109
where event_name like "%binlog%" order by file_name;
110110
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
111111
slave-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
112-
slave-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
112+
slave-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
113113
select
114114
EVENT_NAME,
115115
if (count_read > 0, "MANY", "NONE") as COUNT_READ,
@@ -120,7 +120,7 @@ from performance_schema.file_summary_by_event_name
120120
where event_name like "%binlog%" order by event_name;
121121
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
122122
wait/io/file/sql/binlog MANY MANY MANY MANY
123-
wait/io/file/sql/binlog_index NONE MANY NONE MANY
123+
wait/io/file/sql/binlog_index MANY MANY MANY MANY
124124
select
125125
EVENT_NAME,
126126
if (count_star > 0, "MANY", "NONE") as COUNT_STAR

mysql-test/t/alter_table.test

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,3 +1280,52 @@ ALTER TABLE t1 ADD INDEX (`
12801280
SELECT * FROM t1;
12811281
DROP TABLE t1;
12821282

1283+
--echo #
1284+
--echo # BUG#27788685: NO WARNING WHEN TRUNCATING A STRING WITH DATA LOSS
1285+
--echo #
1286+
1287+
SET GLOBAL max_allowed_packet=17825792;
1288+
1289+
--connect(con1, localhost, root,,)
1290+
CREATE TABLE t1 (t1_fld1 TEXT) ENGINE=InnoDB;
1291+
CREATE TABLE t2 (t2_fld1 MEDIUMTEXT) ENGINE=InnoDB;
1292+
CREATE TABLE t3 (t3_fld1 LONGTEXT) ENGINE=InnoDB;
1293+
1294+
INSERT INTO t1 VALUES (REPEAT('a',300));
1295+
INSERT INTO t2 VALUES (REPEAT('b',65680));
1296+
INSERT INTO t3 VALUES (REPEAT('c',16777300));
1297+
1298+
SELECT LENGTH(t1_fld1) FROM t1;
1299+
SELECT LENGTH(t2_fld1) FROM t2;
1300+
SELECT LENGTH(t3_fld1) FROM t3;
1301+
1302+
--echo # With strict mode
1303+
SET SQL_MODE='STRICT_ALL_TABLES';
1304+
1305+
--error ER_DATA_TOO_LONG
1306+
ALTER TABLE t1 CHANGE `t1_fld1` `my_t1_fld1` TINYTEXT;
1307+
--error ER_DATA_TOO_LONG
1308+
ALTER TABLE t2 CHANGE `t2_fld1` `my_t2_fld1` TEXT;
1309+
--error ER_DATA_TOO_LONG
1310+
ALTER TABLE t3 CHANGE `t3_fld1` `my_t3_fld1` MEDIUMTEXT;
1311+
1312+
--echo # With non-strict mode
1313+
SET SQL_MODE='';
1314+
1315+
ALTER TABLE t1 CHANGE `t1_fld1` `my_t1_fld1` TINYTEXT;
1316+
ALTER TABLE t2 CHANGE `t2_fld1` `my_t2_fld1` TEXT;
1317+
ALTER TABLE t3 CHANGE `t3_fld1` `my_t3_fld1` MEDIUMTEXT;
1318+
1319+
SELECT LENGTH(my_t1_fld1) FROM t1;
1320+
SELECT LENGTH(my_t2_fld1) FROM t2;
1321+
SELECT LENGTH(my_t3_fld1) FROM t3;
1322+
1323+
# Cleanup
1324+
--disconnect con1
1325+
--source include/wait_until_disconnected.inc
1326+
1327+
--connection default
1328+
DROP TABLE t1, t2, t3;
1329+
1330+
SET SQL_MODE=default;
1331+
SET GLOBAL max_allowed_packet=default;

mysys/mf_iocache2.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
1+
/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
22
33
This program is free software; you can redistribute it and/or modify
44
it under the terms of the GNU General Public License as published by
@@ -102,14 +102,14 @@ my_off_t my_b_append_tell(IO_CACHE* info)
102102
*/
103103
{
104104
volatile my_off_t save_pos;
105-
save_pos = my_tell(info->file,MYF(0));
106-
my_seek(info->file,(my_off_t)0,MY_SEEK_END,MYF(0));
105+
save_pos = mysql_file_tell(info->file,MYF(0));
106+
mysql_file_seek(info->file,(my_off_t)0,MY_SEEK_END,MYF(0));
107107
/*
108108
Save the value of my_tell in res so we can see it when studying coredump
109109
*/
110110
DBUG_ASSERT(info->end_of_file - (info->append_read_pos-info->write_buffer)
111-
== (res=my_tell(info->file,MYF(0))));
112-
my_seek(info->file,save_pos,MY_SEEK_SET,MYF(0));
111+
== (res=mysql_file_tell(info->file,MYF(0))));
112+
mysql_file_seek(info->file,save_pos,MY_SEEK_SET,MYF(0));
113113
}
114114
#endif
115115
res = info->end_of_file + (info->write_pos-info->append_read_pos);
@@ -203,7 +203,7 @@ size_t my_b_fill(IO_CACHE *info)
203203

204204
if (info->seek_not_done)
205205
{ /* File touched, do seek */
206-
if (my_seek(info->file,pos_in_file,MY_SEEK_SET,MYF(0)) ==
206+
if (mysql_file_seek(info->file,pos_in_file,MY_SEEK_SET,MYF(0)) ==
207207
MY_FILEPOS_ERROR)
208208
{
209209
info->error= 0;
@@ -223,7 +223,7 @@ size_t my_b_fill(IO_CACHE *info)
223223
}
224224
DBUG_EXECUTE_IF ("simulate_my_b_fill_error",
225225
{DBUG_SET("+d,simulate_file_read_error");});
226-
if ((length= my_read(info->file,info->buffer,max_length,
226+
if ((length= mysql_file_read(info->file,info->buffer,max_length,
227227
info->myflags)) == (size_t) -1)
228228
{
229229
info->error= -1;
@@ -287,7 +287,7 @@ my_off_t my_b_filelength(IO_CACHE *info)
287287
return my_b_tell(info);
288288

289289
info->seek_not_done= 1;
290-
return my_seek(info->file, 0L, MY_SEEK_END, MYF(0));
290+
return mysql_file_seek(info->file, 0L, MY_SEEK_END, MYF(0));
291291
}
292292

293293

packaging/rpm-oel/mysql.init

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ stop(){
159159
fi
160160
MYSQLPID=`cat "$mypidfile"`
161161
if [ -n "$MYSQLPID" ]; then
162-
/bin/kill "$MYSQLPID" >/dev/null 2>&1
162+
/bin/su - mysql -s /bin/bash -c "/bin/kill $MYSQLPID" >/dev/null 2>&1
163163
ret=$?
164164
if [ $ret -eq 0 ]; then
165165
TIMEOUT="$STOPTIMEOUT"

packaging/rpm-sles/mysql.init

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ stop () {
163163

164164
# We use a signal to avoid having to know the root password
165165
# Send single kill command and then wait
166-
if kill $pid >/dev/null 2>&1; then
166+
if su - mysql -s /bin/bash -c "kill $pid" >/dev/null 2>&1; then
167167
timer=$STOPTIMEOUT
168168
while [ $timer -gt 0 ]; do
169169
kill -0 $pid >/dev/null 2>&1 || break
@@ -196,7 +196,7 @@ reload () {
196196
ret=0
197197
if chk_running && mysqladmin --no-defaults --socket="$socket" ping >/dev/null 2>&1 ; then
198198
pid=$(cat "$pidfile")
199-
kill -HUP $pid >/dev/null 2>&1
199+
su - mysql -s /bin/bash -c "kill -HUP $pid" >/dev/null 2>&1
200200
echo -n "Reloading service MySQL:"
201201
rc_reset
202202
else

0 commit comments

Comments
 (0)