Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
Added protocol::flush() for easier embedded-server code
Increase block allocation variables a bit as they where a bit too small for MySQL 4.1
Added option --silent to client_test
having approval for it since 4.1.4, I also have some assurance that
very few people actually used this: to enable these calls a user
had to #define HAVE_DEPRECATED_411_API and recompile the client library.
Simple optimzations and cleanups
Removed compiler warnings and fixed portability issues
Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
Fixes for purify
statements and negative time/date values".
The bug was in wrong sprintf format used in the client library.
The fix moves TIME -> string conversion functions to sql-common and
utilized them in the client library.
Bug #5492
"set @@session.read_rnd_buffer_size=33554432" crashes server on query
1. added warning comments for uint3korr (need one more byte allocated)
2. unsigned long in uint3korr was replaced by unsigned int to
avoid problems on 64-bits platforms
3. shorten warning comments in init_rr_cache in sql/records.cc
with the system-reserved (and system-defined) '_REENTRANT'
CPP identifier.
Especially, it must not be "undefine"d, because the Tru64 compiler
needs it if threads are enabled.
with memory roots in THD/Statement/Item_arena.
Added assertions preventing memory allocation on bzero'ed MEM_ROOT since it is worked by
pure luck and was very ineffective.
used in the handle_options() function (instead of using additional
handle_option() parameter). The default value of the
my_getopt_error_reporter is default_reporter(). One can set it to
other functions if case of need.
Use 'mysqltest' as test database instead of test_$1 or test1,test2 to not accidently delete an important database
Safety fix for mailformed MERGE files
functionality. The existing code takes advantage of this when
"typedef"ing 'longlong' in 'my_global.h'. This holds for Alpha CPUs.
If the compiler then has prototypes for C99 functions 'strtoll()' and
'strtoull()' but no implementation, the existing code in 'strtoull.c'
collides with that prototype. These collisions are avoided now.
(backport from 4.1)
functionality. The existing code takes advantage of this when
"typedef"ing 'longlong' in 'my_global.h'. This holds for Alpha CPUs.
If the compiler then has prototypes for C99 functions 'strtoll()' and
'strtoull()' but no implementation, the existing code in 'strtoull.c'
collides with that prototype. These collisions are avoided now.