mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 5.5-bugteam -> 5.5-runtime.
This commit is contained in:
@ -111,7 +111,7 @@ else
|
||||
# C++ warnings
|
||||
cxx_warnings="$warnings -Wno-unused-parameter"
|
||||
# cxx_warnings="$cxx_warnings -Woverloaded-virtual -Wsign-promo"
|
||||
cxx_warnings="$cxx_warnings -Wctor-dtor-privacy -Wnon-virtual-dtor"
|
||||
cxx_warnings="$cxx_warnings -Wnon-virtual-dtor"
|
||||
debug_extra_cflags="-O0 -g3 -gdwarf-2"
|
||||
fi
|
||||
|
||||
|
@ -268,7 +268,7 @@ _rl_get_screen_size (tty, ignore_env)
|
||||
|
||||
#if !defined (__DJGPP__)
|
||||
if (_rl_screenwidth <= 0 && term_string_buffer)
|
||||
_rl_screenwidth = tgetnum ("co");
|
||||
_rl_screenwidth = tgetnum ((char *)"co");
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -284,7 +284,7 @@ _rl_get_screen_size (tty, ignore_env)
|
||||
|
||||
#if !defined (__DJGPP__)
|
||||
if (_rl_screenheight <= 0 && term_string_buffer)
|
||||
_rl_screenheight = tgetnum ("li");
|
||||
_rl_screenheight = tgetnum ((char *)"li");
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -516,7 +516,7 @@ _rl_init_terminal_io (terminal_name)
|
||||
if (!_rl_term_cr)
|
||||
_rl_term_cr = "\r";
|
||||
|
||||
_rl_term_autowrap = tgetflag ("am") && tgetflag ("xn");
|
||||
_rl_term_autowrap = tgetflag ((char *)"am") && tgetflag ((char *)"xn");
|
||||
|
||||
/* Allow calling application to set default height and width, using
|
||||
rl_set_screen_size */
|
||||
@ -531,7 +531,7 @@ _rl_init_terminal_io (terminal_name)
|
||||
|
||||
/* Check to see if this terminal has a meta key and clear the capability
|
||||
variables if there is none. */
|
||||
term_has_meta = (tgetflag ("km") || tgetflag ("MT"));
|
||||
term_has_meta = (tgetflag ((char *)"km") || tgetflag ((char *)"MT"));
|
||||
if (!term_has_meta)
|
||||
_rl_term_mm = _rl_term_mo = (char *)NULL;
|
||||
|
||||
|
7
mysql-test/r/lowercase_table4.result
Executable file
7
mysql-test/r/lowercase_table4.result
Executable file
@ -0,0 +1,7 @@
|
||||
#
|
||||
# Bug#46941 crash with lower_case_table_names=2 and
|
||||
# foreign data dictionary confusion
|
||||
#
|
||||
CREATE DATABASE XY;
|
||||
USE XY;
|
||||
DROP DATABASE XY;
|
@ -4887,3 +4887,22 @@ col_int_key
|
||||
DROP VIEW view_t1;
|
||||
DROP TABLE t1;
|
||||
# End of test BUG#54515
|
||||
#
|
||||
# Bug #57203 Assertion `field_length <= 255' failed.
|
||||
#
|
||||
SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
|
||||
UNION ALL
|
||||
SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
|
||||
AS foo
|
||||
;
|
||||
coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
|
||||
0.0000
|
||||
0.0000
|
||||
CREATE table t1(a text);
|
||||
INSERT INTO t1 VALUES (''), ('');
|
||||
SELECT avg(distinct(t1.a)) FROM t1, t1 t2
|
||||
GROUP BY t2.a ORDER BY t1.a;
|
||||
avg(distinct(t1.a))
|
||||
0
|
||||
DROP TABLE t1;
|
||||
# End of test BUG#57203
|
||||
|
1
mysql-test/t/lowercase_table4-master.opt
Executable file
1
mysql-test/t/lowercase_table4-master.opt
Executable file
@ -0,0 +1 @@
|
||||
--lower-case-table-names=2
|
56
mysql-test/t/lowercase_table4.test
Executable file
56
mysql-test/t/lowercase_table4.test
Executable file
@ -0,0 +1,56 @@
|
||||
--source include/have_case_insensitive_file_system.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug#46941 crash with lower_case_table_names=2 and
|
||||
--echo # foreign data dictionary confusion
|
||||
--echo #
|
||||
|
||||
CREATE DATABASE XY;
|
||||
USE XY;
|
||||
|
||||
#
|
||||
# Logs are disabled, since the number of creates tables
|
||||
# and subsequent select statements may vary between
|
||||
# versions
|
||||
#
|
||||
--disable_query_log
|
||||
--disable_result_log
|
||||
|
||||
let $tcs = `SELECT @@table_open_cache + 1`;
|
||||
|
||||
let $i = $tcs;
|
||||
|
||||
while ($i)
|
||||
{
|
||||
eval CREATE TABLE XY.T_$i (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT,
|
||||
primary key(a, b), unique(b)) ENGINE=InnoDB;
|
||||
dec $i;
|
||||
}
|
||||
|
||||
eval ALTER TABLE XY.T_$tcs ADD INDEX I1 (c, b),
|
||||
ADD CONSTRAINT C1 FOREIGN KEY (c, b) REFERENCES XY.T_1 (a, b);
|
||||
|
||||
eval ALTER TABLE XY.T_$tcs ADD INDEX I2 (b),
|
||||
ADD CONSTRAINT C2 FOREIGN KEY (b) REFERENCES XY.T_1(a);
|
||||
|
||||
let $i = $tcs;
|
||||
while ($i)
|
||||
{
|
||||
eval SELECT * FROM XY.T_$i LIMIT 1;
|
||||
dec $i;
|
||||
}
|
||||
|
||||
DROP DATABASE XY;
|
||||
CREATE DATABASE XY;
|
||||
USE XY;
|
||||
eval CREATE TABLE XY.T_$tcs (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT,
|
||||
PRIMARY KEY(a, b), UNIQUE(b)) ENGINE=InnoDB;
|
||||
#
|
||||
# The bug causes this SELECT to err
|
||||
eval SELECT * FROM XY.T_$tcs LIMIT 1;
|
||||
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
DROP DATABASE XY;
|
||||
|
@ -4147,3 +4147,22 @@ DROP VIEW view_t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of test BUG#54515
|
||||
|
||||
--echo #
|
||||
--echo # Bug #57203 Assertion `field_length <= 255' failed.
|
||||
--echo #
|
||||
|
||||
SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
|
||||
UNION ALL
|
||||
SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
|
||||
AS foo
|
||||
;
|
||||
|
||||
CREATE table t1(a text);
|
||||
INSERT INTO t1 VALUES (''), ('');
|
||||
SELECT avg(distinct(t1.a)) FROM t1, t1 t2
|
||||
GROUP BY t2.a ORDER BY t1.a;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of test BUG#57203
|
||||
|
@ -92,8 +92,10 @@ extern mysql_mutex_t LOCK_gethostbyname_r;
|
||||
*/
|
||||
|
||||
struct hostent *my_gethostbyname_r(const char *name,
|
||||
struct hostent *result, char *buffer,
|
||||
int buflen, int *h_errnop)
|
||||
struct hostent *res __attribute__((unused)),
|
||||
char *buffer __attribute__((unused)),
|
||||
int buflen __attribute__((unused)),
|
||||
int *h_errnop)
|
||||
{
|
||||
struct hostent *hp;
|
||||
mysql_mutex_lock(&LOCK_gethostbyname_r);
|
||||
|
@ -89,6 +89,8 @@ int my_sync(File fd, myf my_flags)
|
||||
|
||||
|
||||
static const char cur_dir_name[]= {FN_CURLIB, 0};
|
||||
|
||||
|
||||
/*
|
||||
Force directory information to disk.
|
||||
|
||||
@ -100,7 +102,9 @@ static const char cur_dir_name[]= {FN_CURLIB, 0};
|
||||
RETURN
|
||||
0 if ok, !=0 if error
|
||||
*/
|
||||
|
||||
#ifdef NEED_EXPLICIT_SYNC_DIR
|
||||
|
||||
int my_sync_dir(const char *dir_name, myf my_flags)
|
||||
{
|
||||
File dir_fd;
|
||||
@ -125,12 +129,15 @@ int my_sync_dir(const char *dir_name, myf my_flags)
|
||||
res= 1;
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
#else /* NEED_EXPLICIT_SYNC_DIR */
|
||||
|
||||
int my_sync_dir(const char *dir_name __attribute__((unused)),
|
||||
myf my_flags __attribute__((unused)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* NEED_EXPLICIT_SYNC_DIR */
|
||||
|
||||
|
||||
@ -145,7 +152,9 @@ int my_sync_dir(const char *dir_name __attribute__((unused)),
|
||||
RETURN
|
||||
0 if ok, !=0 if error
|
||||
*/
|
||||
|
||||
#ifdef NEED_EXPLICIT_SYNC_DIR
|
||||
|
||||
int my_sync_dir_by_file(const char *file_name, myf my_flags)
|
||||
{
|
||||
char dir_name[FN_REFLEN];
|
||||
@ -153,10 +162,14 @@ int my_sync_dir_by_file(const char *file_name, myf my_flags)
|
||||
dirname_part(dir_name, file_name, &dir_name_length);
|
||||
return my_sync_dir(dir_name, my_flags);
|
||||
}
|
||||
|
||||
#else /* NEED_EXPLICIT_SYNC_DIR */
|
||||
|
||||
int my_sync_dir_by_file(const char *file_name __attribute__((unused)),
|
||||
myf my_flags __attribute__((unused)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* NEED_EXPLICIT_SYNC_DIR */
|
||||
|
||||
|
@ -4189,7 +4189,7 @@ String *Field_float::val_str(String *val_buffer,
|
||||
String *val_ptr __attribute__((unused)))
|
||||
{
|
||||
ASSERT_COLUMN_MARKED_FOR_READ;
|
||||
DBUG_ASSERT(field_length <= MAX_FIELD_CHARLENGTH);
|
||||
DBUG_ASSERT(!zerofill || field_length <= MAX_FIELD_CHARLENGTH);
|
||||
float nr;
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
if (table->s->db_low_byte_first)
|
||||
@ -4512,7 +4512,7 @@ String *Field_double::val_str(String *val_buffer,
|
||||
String *val_ptr __attribute__((unused)))
|
||||
{
|
||||
ASSERT_COLUMN_MARKED_FOR_READ;
|
||||
DBUG_ASSERT(field_length <= MAX_FIELD_CHARLENGTH);
|
||||
DBUG_ASSERT(!zerofill || field_length <= MAX_FIELD_CHARLENGTH);
|
||||
double nr;
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
if (table->s->db_low_byte_first)
|
||||
|
@ -1295,10 +1295,12 @@ UNIV_INTERN
|
||||
void
|
||||
os_file_set_nocache(
|
||||
/*================*/
|
||||
int fd, /*!< in: file descriptor to alter */
|
||||
const char* file_name, /*!< in: file name, used in the
|
||||
diagnostic message */
|
||||
const char* operation_name) /*!< in: "open" or "create"; used in the
|
||||
int fd /*!< in: file descriptor to alter */
|
||||
__attribute__((unused)),
|
||||
const char* file_name /*!< in: used in the diagnostic message */
|
||||
__attribute__((unused)),
|
||||
const char* operation_name __attribute__((unused)))
|
||||
/*!< in: "open" or "create"; used in the
|
||||
diagnostic message */
|
||||
{
|
||||
/* some versions of Solaris may not have DIRECTIO_ON */
|
||||
|
Reference in New Issue
Block a user