- Honor unsigned_flag in the corresponding functions
- Use compare_int_signed_unsigned()/compare_int_unsigned_signed() instead of explicit comparison in GREATEST() and LEAST()
mysql-test/r/case.result:
Added test case for bug #20924
mysql-test/r/func_if.result:
Added test case for bug #20924
mysql-test/r/func_test.result:
Added test case for bug #20924
mysql-test/r/user_var.result:
Added test case for bug #20924
mysql-test/t/case.test:
Added test case for bug #20924
mysql-test/t/func_if.test:
Added test case for bug #20924
mysql-test/t/func_test.test:
Added test case for bug #20924
mysql-test/t/user_var.test:
Added test case for bug #20924
sql/item_cmpfunc.cc:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
- Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
- Fixed IFNULL(), IF(), CASE() and COALESCE()
sql/item_cmpfunc.h:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
- Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
sql/item_func.cc:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
Fixed LEAST(), GREATEST() and "SET @a=..." parts
sql/item_func.h:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
Fixed "SET @a=..." part
sql/sql_class.h:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
Fixed "SET @a=..." part
Fix OPT_MYISAM_STATS_METHOD case, where the NULLS_EQUAL and NULLS_NOT_EQUAL methods were mixed up
sql/mysqld.cc:
Fix OPT_MYISAM_STATS_METHOD case, bug #21054
sql/stacktrace.c:
stacktrace dumps for amd64 (backport fix for bug 21250 to mysql-4.1)
sql/stacktrace.h:
stacktrace dumps for amd64 (backport fix for bug 21250 to mysql-4.1)
Provide a more extensible, easier-to-change way of reordering
test cases.
mysql-test/lib/mtr_cases.pl:
Provide a more extensible, easier-to-change way of reordering
test cases.
Zero-length variables caused failures when using the length to look
up the name in a hash. Instead, signal that no zero-length name can
ever be found and that to encounter one is a syntax error.
mysql-test/r/variables.result:
Results for test.
mysql-test/t/variables.test:
Insert tests to prove that zero-length variable names do not cause
faults.
sql/gen_lex_hash.cc:
If the length is zero, then there is nothing to look-up in the
hash.
sql/sql_lex.cc:
Names of variables must not be empty. Signal an error of that
happens.
Fixes:
- bug #19834: Using cursors when running in READ-COMMITTED can cause InnoDB to crash
- bug #21112: InnoDB slow with > 100,000 .ibd files
- bug #21113: Duplicate printout in SHOW INNODB STATUS
innobase/fil/fil0fil.c:
Applied innodb-5.0-ss677 snapshot.
Make the tablespace cache hash size 100 or 1000 times bigger. Fixes bug #21112.
innobase/ibuf/ibuf0ibuf.c:
Applied innodb-5.0-ss677 snapshot.
ibuf_print(): Don't print redundant information. Fixes bug #21113.
sql/ha_innodb.cc:
Applied innodb-5.0-ss677 snapshot.
ha_innobase::start_stmt(): patch from Heikki:
Do not call read_view_close_for_mysql(). (Bug #19834)
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-merge
configure.in:
Auto merged
man/Makefile.am:
Auto merged
mysys/my_bitmap.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/field.cc:
Auto merged
sql/sql_locale.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
mysql-test/t/mysqlbinlog.test:
Manual merge.
sql/sql_select.cc:
Manual merge.
Converted "udf_example.cc" to C, avoids C++ runtime lib dependency (bug#21336)
sql/Makefile.am:
"udf_example.cc" converted to C, avoids C++ runtime lib dependency (bug#21336)
mysql-test/t/udf.test:
"udf_example.cc" converted to C, avoids C++ runtime lib dependency (bug#21336)
sql/udf_example.c:
Changes to be strict ansi, except long long
into mysql.com:/Users/kent/mysql/bk/mysql-4.1
configure.in:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
support-files/mysql.spec.sh:
SCCS merged
Man page for mysqld command move to section 8 (bug#21220)
configure.in:
Man page for mysqld command move to section 8 (bug#21220)
man/Makefile.am:
Man page for mysqld command move to section 8 (bug#21220)
Man page for "mysqld" command move to section 8 (bug#21220)
scripts/make_binary_distribution.sh:
Man page for "mysqld" command move to section 8 (bug#21220)
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new
netware/BUILD/mwasmnlm:
Auto merged
netware/BUILD/mwccnlm:
Auto merged
netware/BUILD/mwldnlm:
Auto merged
Renamed variable, to avoid name clash with macro "rem_size"
on AIX 5.3 and "/usr/include/sys/xmem.h" (bug#17648)
asn.cpp, asn.hpp:
Avoid name clash with NAME_MAX
sql/sql_select.cc:
Renamed variable, to avoid name clash with macro "rem_size"
on AIX 5.3 and "/usr/include/sys/xmem.h" (bug#17648)
extra/yassl/taocrypt/src/asn.cpp:
Avoid name clash with NAME_MAX
extra/yassl/taocrypt/include/asn.hpp:
Avoid name clash with NAME_MAX
Too many cursors (more than 1024) could lead to memory corruption.
This affects both, stored routines and C API cursors, and the
threshold is per-server, not per-connection. Similarly, the
corruption could happen when the server was under heavy load
(executing more than 1024 simultaneous complex queries), and this is
the reason why this bug is fixed in 4.1, which doesn't support
cursors.
The corruption was caused by a bug in the temporary tables code, when
an attempt to create a table could lead to a write beyond allocated
space. Note, that only internal tables were affected (the tables
created internally by the server to resolve the query), not tables
created with CREATE TEMPORARY TABLE. Another pre-condition for the
bug is TRUE value of --temp-pool startup option, which, however, is a
default.
The cause of a bug was that random memory was overwritten in
bitmap_set_next() due to out-of-bound memory access.
mysys/my_bitmap.c:
Local 'bitmap_size' is measured in bytes, no need to multiply it by 8.
sql/sql_select.cc:
Clear the temp_pool_slot bit only if we have set it previously.
tests/mysql_client_test.c:
Add test case for bug#21206: memory corruption when too many cursors
are opened at once.
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-main
VC++Files/sql/mysqld.vcproj:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/warnings.result:
Auto merged
mysql-test/t/warnings-master.opt:
Auto merged
mysql-test/t/warnings.test:
Auto merged
sql/handler.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
into siva.hindu.god:/usr/home/tim/m/bk/global-50
mysql-test/r/func_time.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql/field.cc:
Auto merged
Too many cursors (more than 1024) could lead to memory corruption.
This affects both, stored routines and C API cursors, and the
threshold is per-server, not per-connection. Similarly, the
corruption could happen when the server was under heavy load
(executing more than 1024 simultaneous complex queries), and this is
the reason why this bug is fixed in 4.1, which doesn't support
cursors.
The corruption was caused by a bug in the temporary tables code, when
an attempt to create a table could lead to a write beyond allocated
space. Note, that only internal tables were affected (the tables
created internally by the server to resolve the query), not tables
created with CREATE TEMPORARY TABLE. Another pre-condition for the
bug is TRUE value of --temp-pool startup option, which, however, is a
default.
The cause of a bug was that random memory was overwritten in
bitmap_set_next() due to out-of-bound memory access.
mysys/my_bitmap.c:
Local 'bitmap_size' is measured in bytes, no need to multiply it by 8.
sql/sql_select.cc:
Clear the temp_pool_slot bit only if we have set it previously.
innobase/btr/btr0cur.c:
Applied innodb-5.0-ss660 snapshot.
btr_cur_search_to_nth_level(): Reacquire btr_search_latch after
inserting to the insert buffer. This was noticed while analyzing
Bug#19081 but this shold not fix this bug since according to
Heikki, btr_search_latch is not reserved during an insert.
innobase/ibuf/ibuf0ibuf.c:
Applied innodb-5.0-ss660 snapshot.
ibuf_fixed_addr_page(): Add parameter space. As the insert buffer
B-tree is only located in the system tablespace (space 0),
IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
innobase/include/sync0rw.ic:
Applied innodb-5.0-ss660 snapshot.
rw_lock_s_unlock_func(): Change a debug assertion to a
production assertion in order to track down Bug#19081.
innobase/ibuf/ibuf0ibuf.c:
Applied innodb-4.1-ss32 snapshot.
ibuf_fixed_addr_page(): Add parameter space. As the insert
buffer B-tree is only located in the system tablespace
(space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
(Re-apply a patch from the general tree to the clone.)
mysql-test/mysql-test-run.pl:
"mysql-test-run.pl" must write a "Logging:" line for the evaluation of RPM build tests.
(Re-apply a patch from the general tree to the clone.)
BUG#20850: Assert during slave shutdown in many rpl_* tests
This patch has already been applied to 5.1.
sql/slave.cc:
BUG#20850: Assert during slave shutdown in many rpl_* tests
This patch has already been applied to 5.1.
- Send confusing output to /dev/null
mysql-test/t/mysqlbinlog.test:
Send confusing error messages to /dev/null so they don't appear in erro log if test case fails
into trift2.:/M50/merge-4.1-to-5.0
VC++Files/libmysqld/libmysqld.dsp:
Auto merged
VC++Files/libmysqld/libmysqld.vcproj:
Auto merged
VC++Files/libmysqld/libmysqld_ia64.dsp:
Auto merged
VC++Files/mysqldemb/mysqldemb.dsp:
Auto merged
VC++Files/sql/mysqld.dsp:
Auto merged
VC++Files/sql/mysqld.vcproj:
Auto merged
VC++Files/sql/mysqld_ia64.dsp:
Auto merged
VC++Files/sql/mysqldmax.dsp:
Auto merged
sql/field.cc:
Merge a backport == Null-merge == "ul".
sql/field.h:
Merge a backport == Null-merge == "ul".
sql/sql_locale.cc:
Changes were already present (and even better) == Null-merge == "ul".
into trift2.:/M50/merge-4.1-to-5.0
strings/strtod.c:
Manual merge: Null merge with header file cleanup ("my_base.h" includes "my_global.h", so we do not need both).