There was possible stack overrun in an edge case which handles invalid body of
a SP in mysql.proc . That should be case when mysql.proc has been changed
manually. Though, due to bug 21513, it can be exploited without having access
to mysql.proc only being able to create a stored routine.
mysql-test/r/sp.result:
update result
mysql-test/t/sp.test:
add a test case for the bug
sql/sp.cc:
Fix stack overrun. This happen mostly when mysql.proc is damaged, though
it's possible due to another bug which creates invalid SP body in mysql.proc
(leading quote from a label being cut) to create stack overrun even without
having direct access to mysql.proc
Re-execution of a parametrized prepared statement or a stored routine
with a SELECT that use LEFT JOIN with second table having only one row
could yield incorrect result.
The problem appeared only for left joins with second table having only
one row (aka const table) and equation conditions in ON or WHERE clauses
that depend on the argument passed. Once the condition was false for
second const table, a NULL row was created for it, and any field involved
got NULL-value flag, which then was never reset.
The cause of the problem was that Item_field::null_value could be set
without being reset for re-execution. The solution is to reset
Item_field::null_value in Item_field::cleanup().
mysql-test/r/ps.result:
Add result for bug#21081: SELECT inside stored procedure returns wrong
results.
mysql-test/t/ps.test:
Add test case for bug#21081: SELECT inside stored procedure returns wrong
results.
sql/item.cc:
Reset Item_field::null_value flag for re-execution.
The STACK_MIN_SIZE is currently set to 8192, when we actually need
(emperically discovered) 9236 bytes to raise an fatal error, on Ubuntu
Dapper Drake, libc6 2.3.6-0ubuntu2, Linux kernel 2.6.15-27-686, on x86.
I'm taking that as a new lower bound, plus 100B of wiggle-room for sundry
word sizes and stack behaviors.
The added test verifies in a cross-platform way that there are no gaps
between the space that we think we need and what we actually need to report
an error.
DOCUMENTERS: This also adds "let" to the mysqltest commands that evaluate
an argument to expand variables therein. (Only right of the "=", of course.)
client/mysqltest.c:
Add "let" to the list of mysqltest commands that evaluates its arguments (only
the right-hand-side of the equals-sign expression).
mysql-test/r/mysqltest.result:
Added test to show that mysqltest "let" will evaluate the RHS correctly (and
expand the backslash test).
mysql-test/t/mysqltest.test:
Added test to show that mysqltest "let" will evaluate the RHS correctly (and
expand the backslash test).
sql/mysql_priv.h:
Increase the amount we require to be available for the stack, since
experience told us that the previous amount was too little by at least
1044 bytes.
mysql-test/r/execution_constants.result:
New BitKeeper file ``mysql-test/r/execution_constants.result''
mysql-test/t/execution_constants.test:
New BitKeeper file ``mysql-test/t/execution_constants.test''
- Create the file netware/libmysql.imp from libmysql/libmysql.def
- Remove the outdated netware/libmysql.imp file from version control
BitKeeper/deleted/.del-libmysql.imp:
Delete: netware/libmysql.imp
BitKeeper/etc/ignore:
Added netware/libmysql.imp to the ignore list
netware/Makefile.am:
Build libmysql.imp from libmysql/libmysql.def
- Trying to use unctions declared as static being used from another file, change them to be inline
extra/yassl/taocrypt/mySTL/helpers.hpp:
Change 'GetMemory' and 'FreeMemory' function te be inline instead of static.
mysql-test/mysql-test-run.pl:
Rewrite the setup of LD_LIBRARY_PATH and DYLD_LIBRARY_PATH to make it easier to modify
Valgrind need to be run with debug libraries otherwise it's almost impossible to add
correct supressions, that means if "/usr/lib/debug" is available, it should be added to
LD_LIBRARY_PATH
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
myisammrg/myrg_open.c:
Auto merged
mysql-test/t/merge.test:
Auto merged
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
Auto merged
mysql-test/r/repair.result:
Use local.
sql/table.cc:
Use local.
mysql-test/r/merge.result:
Manual merge
- reversed the patch for 5.0 and moved to 5.1
mysql-test/r/group_by.result:
Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
- reversed the patch for 5.0
mysql-test/t/group_by.test:
Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
- reversed the patch for 5.0
sql/sql_select.cc:
Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
- reversed the patch for 5.0
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21414
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
extra/yassl/src/Makefile.am:
Auto merged
extra/yassl/taocrypt/benchmark/Makefile.am:
Auto merged
extra/yassl/taocrypt/src/Makefile.am:
Auto merged
extra/yassl/taocrypt/test/Makefile.am:
Auto merged
extra/yassl/testsuite/Makefile.am:
Auto merged
- As the slaves are restarted for each testcase, take the opportunity to restore their databases to a known state with the help of the snapshot(s)
- Count max number of slaves used in testcases
- Use copy_install_db to speed up "Installing db" phase
mysql-test/mysql-test-run.pl:
Count max number of slaves used for a test run and use that when installing slave databases etc.
Use "copy_install_db" for all but the first db to install
After having stopped the slave database, restore it's database files from the snapshot.
into trift2.:/MySQL/M50/push-5.0
mysql-test/r/func_time.result:
Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/type_date.result:
Auto merged
mysql-test/r/view.result:
Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
mysql-test/t/func_time.test:
Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
mysql-test/t/type_date.test:
Auto merged
mysql-test/t/view.test:
Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
sql/item_cmpfunc.cc:
Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.