when high concurrency": remove HASH::current_record and make it
an external search parameter, so that it can not be the cause of a
race condition under high concurrent load.
The bug was in a race condition in table_hash_search,
when column_priv_hash.current_record was overwritten simultaneously
by multiple threads, causing the search for a suitable grant record
to fail.
No test case as the bug is repeatable only under concurrent load.
several times, it was causing corruption of charset data stored in once_mem_pool.
my_end() deallocated once_mem pool, but did not put a flag that charsets have
to be reloaded. The fix addresses this problem.
my_sopen() on win32 which allows to use FILE_SHARE_DELETE flag to
allow deleting opened files. my_sopen() implementation is added to
support this functionality.
1. Made sure that base64 string is terminated with NUL.
2. Made calculation of needed size for base64 string exact.
Added checks in test for the above two fixes.
Bug#13238 mysqldump and mysqladmin hangs
Avoid recursion into init_available_charsets.
Serg's version didn't work for me: I got
double mutex locking.
Pushing this version instead
(It was approved by Serg anyway)
during replication.
Modified my_dir(). Now this function skips hidden and system
files which sometimes are created by Windows.
NOTE. The fix is similar to the previuos one (05 July 2004)
except for correct setting of the 'attrib' variable value
(within the previous fix this variable was left uninitialized
when my_dir() was called with My_flags & MY_WANT_STAT == 0).
so a typo on flags will go unnoticed; I put flags in this my_free() definition (as a no-op which
will still make the compiler check correctness of the flags). Applied: this caught a typo in my_realloc.c. Kindly approved by Konstantin and Mats.
- CHAR() now returns binary string as default
- CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
- Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
(Some old systems returns ETIME and it's safer to test for both values
than to try to write a wrapper for each old system)
- Fixed new introduced bug in NOT BETWEEN X and X
- Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
- Use octet2hex() for all conversion of string to hex
- Simplify and optimize code
Ensure that ccache is also used for C programs
mysql: Ensure that 'delimiter' works the same way in batch mode as in normal mode
mysqldump: Change to use ;; (instead of //) as a stored procedure/trigger delimiter
Fixed test cases by adding missing DROP's and rename views to be of type 'v#'
Removed MY_UNIX_PATH from fn_format()
Removed current_db_used from TABLE_LIST
Removed usage of 'current_thd' in Item_splocal
Removed some compiler warnings
A bit faster longlong2str code