on Windows): applied required patches on top of the 4.1.12
release (will be published as 4.1.12a for Windows)
myisammrg/myrg_open.c:
- Backport of the patch to fix BUG#10687 (Merge engine fails
under Windows): use fn_format to convert pathnames if the files
in the merge file have a pathname
mysys/my_getwd.c:
- Backport of the patch to fix BUG#10687 (Merge engine fails
on Windows): Added test to see if FN_LIBCHAR != '/' before
doing comparison to avoid redundant comparison
sql/ha_myisammrg.cc:
- Backport of the patch to fix BUG#10687 (Merge engine fails
on Windows): added extra debug output
Only acquire necessary write lock for multi-delete
mysql-test/r/lock.result:
Test for Bug#7241
mysql-test/t/lock.test:
Test for Bug#7241
sql/sql_parse.cc:
Bug#7241
Don't acquire write lock on all tables.
Make sure to set lock_type on real table_list
into bk-internal.mysql.com:/data0/bk/mysql-5.0
BitKeeper/etc/gone:
auto-union
BitKeeper/etc/logging_ok:
auto-union
mysql-test/r/lowercase_table.result:
Auto merged
mysql-test/t/lowercase_table.test:
Auto merged
mysys/my_open.c:
Auto merged
Memory leak in locally evalutated expressions during SP execution fixed by
reusing allocated item slots when possible.
Note: No test case added, since the test is a stress test that tries to make
the machine to run out of memory.
Second attempt, now tested with debug build, valgrind build, max (optimized)
build, with and without --debug, --vagrind and --ps-protocol.
Errors in trigger and view test with --debug in debug build where present
before this patch, and likewise for valgrind warnings for view test in
valgrind build with --ps-protocol.
sql/item.cc:
Init rsize in Item (for SP item reusal).
sql/item.h:
Addes special new operator for reuse of Items, for SP internal use only.
sql/sp_head.cc:
Reuse items assigned internally in SPs when possible.
sql/sp_rcontext.cc:
Reuse items assigned internally in SPs when possible.
Moved the local variable assignment here (from sp_head) to avoid
duplicated code.
sql/sp_rcontext.h:
New arg to sp_rcontext::set_item_eval() (and some coding style).
sql/sql_class.cc:
Adjusted call to new set_item_eval().
fixups of test case and comment formatting
BitKeeper/deleted/.del-reserved_win_names-master.opt~e56da049a7ce9a5b:
***MISSING TEXT***
mysql-test/r/lowercase_table.result:
added my test for bug #9148 to this test case
mysql-test/t/lowercase_table.test:
added my test for bug #9148 to this test case
mysys/my_fopen.c:
reformatted comments
mysys/my_open.c:
reformatted comments
Added BLACKHOLE and FEDERATED storage engines for max builds
Some preparations for including yaSSL
ha_federated.cc:
Use local seach path for "mysql_priv.h"
sql/ha_federated.cc:
Use local seach path for "mysql_priv.h"
VC++Files/sql/mysqld.dsp:
Added BLACKHOLE and FEDERATED storage engines for max builds
Some preparations for including yaSSL
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-tmp
include/my_global.h:
Auto merged
ndb/src/cw/cpcd/Process.cpp:
Auto merged
strings/my_vsnprintf.c:
Auto merged
include/my_global.h:
Auto merged
ndb/src/cw/cpcd/Process.cpp:
Auto merged
ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
Auto merged
strings/my_vsnprintf.c:
Auto merged
This final cset is to fix a syntax problem in ha_myisammrg.cc where a / was left out of a format string.
It also adds a check in has_path to avoid a possible redundant comparison.
ha_myisammrg.cc:
Replaced missing / in format string
my_getwd.c:
Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
mysys/my_getwd.c:
Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
sql/ha_myisammrg.cc:
Replaced missing / in format string
This cset is to roll out the cset applied earlier from Ingo.
This bug has been fixed with a different cset.
sql/ha_myisammrg.cc:
removed the patch applied earlier
strings/my_vsnprintf.c:
removed the patch applied earlier. The patch was to add %c ability.
Monty has already done this.
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-tmp
VC++Files/mysys/mysys.dsp:
Auto merged
include/my_global.h:
Auto merged
myisam/rt_split.c:
Auto merged
sql/field_conv.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
strings/my_vsnprintf.c:
Auto merged
include/my_global.h:
icc does not define __ICC when emulating gcc. Use __INTEL_COMPILER to check for icc.
ndb/src/cw/cpcd/Process.cpp:
Remove rlimit64
ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
Remove dirent64
This is a replacement for the original patch given by Ingo. This one comes
from Monty.
The problem is that merge files now use unix style pathnames on all
platforms. The merge file open code was not properly converting those
pathnames back to non-unix when necessary.
myisammrg/myrg_open.c:
use fn_format to convert pathnames if the files in the merge file have a pathname
mysys/my_getwd.c:
add a test for '/' in the code that determines if a string inlucdes a pathname
Check _LONGLONG_TYPE as well, to define 'word64', to make it
work on Solaris 10 x86_64.
Can't assume all x86_64 share the same assembler syntax.
For now disabled assembler for x86_64 and Solaris.
extra/yassl/taocrypt/include/misc.hpp:
Check _LONGLONG_TYPE as well, to define 'word64', to make it
work on Solaris 10 x86_64.
Can't assume all x86_64 share the same assembler syntax.
For now disabled assembler for x86_64 and Solaris.
Use MY_STAT to declare argument to my_fstat()
des_key_file.cc:
Use local seach path for "mysql_priv.h"
mysys.dsp, libmysqld.dsp, libmysql.dsp:
New file needed, "../mysys/default_modify.c"
VC++Files/libmysql/libmysql.dsp:
New file needed, "../mysys/default_modify.c"
VC++Files/libmysqld/libmysqld.dsp:
New file needed, "../mysys/default_modify.c"
VC++Files/mysys/mysys.dsp:
New file needed, "../mysys/default_modify.c"
sql/des_key_file.cc:
Use local seach path for "mysql_priv.h"
mysys/default_modify.c:
Use MY_STAT to declare argument to my_fstat()
This is a second patch needing another review. The first patch didn't solve
the entire problem. open and fopen on Windows will still open
files like "com1.sym" when they shouldn't. This patch
checks that the file exists before trying to open it.
mysys/my_fopen.c:
on Windows, if we are not creating a file the we call my_access to make sure the
file exists before trying to open it.
mysys/my_open.c:
on Windows, if we are not creating a file the we call my_access to make sure the
file exists before trying to open it.
The natural InnoDB type for NEWDECIMAL is FIXBINARY, not BINARY, since there probably is no benefit from stripping trailing bytes 0x20; note that tables created with 5.0.6 and containing DECIMAL do not need to be rebuilt, as BINARY works as well; note that because of Jani's fix to bug 10465, tables created with 5.0.? - 5.0.5 DO NEED TO BE REBUILT if they contain DECIMAL
sql/ha_innodb.cc:
The natural InnoDB type for NEWDECIMAL is FIXBINARY, not BINARY, since there probably is no benefit from stripping trailing bytes 0x20; note that tables created with 5.0.6 and containing DECIMAL do not need to be rebuilt, as BINARY works as well; note that because of Jani's fix to bug 10465, tables created with 5.0.? - 5.0.5 DO NEED TO BE REBUILT if they contain DECIMAL
Added test cases for optimization request #10561.
opt_range.cc, sql_select.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
sql/sql_select.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
sql/opt_range.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
mysql-test/t/range.test:
Added test cases for optimization request #10561.
mysql-test/r/range.result:
Added test cases for optimization request #10561.
The problem was that on Windows the access method indicates that access to file
such as "com1" and "lpt1" is allowed (since they are device names) and
this causes mysql to attempt to open them as databases or tables.
The fix was to write our own my_access method that uses other Win32 functions
to determine if the given argument is indeed a file and has to requested
mode.
VC++Files/mysys/mysys.dsp:
added my_access
VC++Files/mysys/mysys_ia64.dsp:
added my_access.c
include/my_sys.h:
if on windows, we use my_access.
if not on windows, then my_access points to the native access method
mysys/Makefile.am:
added my_access to mysys build file
mysys/mf_pack.c:
changed call to access to my_access
sql/sql_db.cc:
changed call to access to my_access
extra/yassl/include/yassl_types.hpp:
A fix for Sun Forte 7
extra/yassl/mySTL/helpers.hpp:
Better comment for the previous fix.
extra/yassl/mySTL/list.hpp:
A fix for Sun Forte 7
procedure.
by simply disabling 'load' in stored procedures, like it's already disabled
for prepared statements. (They must be made "re-execution" safe before
working with either PS or SP.)
mysql-test/r/sp-error.result:
New test case for BUG#10537.
mysql-test/t/sp-error.test:
New test case for BUG#10537.
sql/sql_yacc.yy:
Disable LOAD in stored procedures (just as for prepared statements).
extra/yassl/include/openssl/ssl.h:
Fix -std=c++98 mode compilation failures.
extra/yassl/include/yassl_error.hpp:
Fix -std=c++98 mode compilation failures.
extra/yassl/include/yassl_types.hpp:
Fix -std=c++98 mode compilation failures.
extra/yassl/mySTL/helpers.hpp:
Fix AIX 5.2 compilation problem.
extra/yassl/taocrypt/include/asn.hpp:
Fix -std=c++98 mode compilation failures.
vio/Makefile.am:
Add a dummy C++ file to SSL tests to make libtool use a C++ linker:
this lets ssl tests link when using yaSSL and a non-gcc C++ compiler.
Portability fixes
extra/yassl/include/buffer.hpp:
Use assert.h instead of less portable cassert
extra/yassl/include/log.hpp:
Use stdio.h instead of less portable cstdio
extra/yassl/include/socket_wrapper.hpp:
Use assert.h instead of less portable cassert
extra/yassl/mySTL/helpers.hpp:
Use stdlib.h instead of less portable cstdlib
extra/yassl/mySTL/stdexcept.hpp:
Use string.h instead of less portable cstring
extra/yassl/mySTL/vector.hpp:
Use assert.h instead of less portable cassert
extra/yassl/src/ssl.cpp:
Use stdio.h instead of less portable cstdio
extra/yassl/taocrypt/include/block.hpp:
Use stddef.h instead of less portable cstddef, always use ptrdiff_t instead of less portable std::ptrdiff_t
extra/yassl/taocrypt/include/file.hpp:
Use stdio.h instead of less portable cstdio
extra/yassl/taocrypt/include/integer.hpp:
Use string.h instead of less portable cstring
extra/yassl/taocrypt/include/runtime.hpp:
Use stdlib.h instead of less portable cstdlib
extra/yassl/taocrypt/src/dh.cpp:
Use math.h instead of less portable cmatch