into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/r/delayed.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/merge.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/func_misc.result:
manual merge
mysql-test/r/innodb_mysql.result:
manual merge
mysql-test/t/func_misc.test:
manual merge
mysql-test/t/innodb_mysql.test:
manual merge
sql/sql_insert.cc:
manual merge
into mysql.com:/misc/mysql/31177/50-31177
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_6bdb.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
additional fixes for BDB and correct assignment of both signed
and unsigned 64-bit data to unsigned system variables
mysql-test/r/ps_2myisam.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_3innodb.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_4heap.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_5merge.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_6bdb.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_7ndb.result:
account for UNSIGNED_FLAG
mysys/my_getopt.c:
We have correct signed/unsigned information now, so we no longer
need to err on the side of caution.
sql/item_func.cc:
Copy unsigned info over from entry so the item's data
correctly describe it.
sql/mysqld.cc:
BDB log buffer size: default can't be less than minimum
sql/set_var.cc:
Handle signedness of in-values correctly when assigning to
unsigned types, all the way up to 64-bit. Use handler from
all three unsigned sysvar types.
sql/set_var.h:
thd_ulonglong: Override default check with one for unsigned types
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Manual merge
mysql-test/r/ctype_ucs.result:
Manual merge
mysql-test/r/func_misc.result:
Manual merge
mysql-test/t/binlog_killed.test:
Manual merge
mysql-test/t/ctype_ucs.test:
Manual merge
mysql-test/t/func_misc.test:
Manual merge
sql/item_strfunc.h:
Manual merge
strings/ctype-simple.c:
Manual merge
additional fixes for 64-bit
mysql-test/t/variables.test:
replace 32-bit and 64-bit values
mysys/my_getopt.c:
'mod' no longer used.
on 64-bit, limit to (signed) (LONG)LONG_MAX to prevent badness
in classes using longlong.
into mysql.com:/misc/mysql/31177/50-31177
client/mysql.cc:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_bit.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysqld.cc:
Auto merged
Default values of variables were not subject to upper/lower bounds
and step, while setting variables was. Bounds and step are also
applied to defaults now; defaults are corrected quietly, values
given by the user are corrected, and a correction-warning is thrown
as needed. Lastly, very large values could wrap around, starting
from 0 again. They are bounded at the maximum value for the
respective data-type now if no lower maximum is specified in the
variable's definition.
client/mysql.cc:
correct maxima in options array
client/mysqltest.c:
adjust minimum for "sleep" option so default value is no longer
out of bounds.
include/m_string.h:
ullstr() - the unsigned brother of llstr()
include/my_getopt.h:
Flag if we bounded the value (that is, correct anything aside from
making value a multiple of block-size)
mysql-test/r/delayed.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/index_merge.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/innodb.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/innodb_mysql.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/key_cache.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/packet.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/ps.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/subselect.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/type_bit.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/type_bit_innodb.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/variables.result:
correct results: bounds and step apply to variables' default values, too
mysql-test/t/variables.test:
correct results: bounds and step apply to variables' default values, too
mysys/my_getopt.c:
- apply bounds/step to default values of variables (based on work by serg)
- print complaints about incorrect values for variables (truncation etc.,
by requestion of consulting)
- if no lower maximum is specified in variable definition, bound unsigned
values at their maximum to prevent wrap-around
- some calls to error_reporter had a \n, some didn't. remove \n from calls,
let reporter-function handle it, so the default reporter behaves like that
in mysqld
sql/mysql_priv.h:
correct RANGE_ALLOC_BLOCK_SIZE (cleared with monty)
sql/mysqld.cc:
correct maxima to correct data-type.
correct minima where higher than default.
correct range-alloc-block-size.
correct inno variables so GET_* corresponds to actual variable's type.
sql/set_var.cc:
When the new value for a variable is out of bounds, we'll send the
client a warning (but not if the value was simply not a multiple of
'blocksize'). sys_var_thd_ulong had this, sys_var_long_ptr_global
didn't; broken out and streamlined to avoid duplication of code.
strings/llstr.c:
ullstr() - the unsigned brother of llstr()
into mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-5.0-engines
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/symlink.test:
Auto merged
mysys/my_symlink2.c:
Auto merged
A user could not override system-wide settings in their ~/.my.cnf,
because the DEFAULT_SYSCONFDIR was being searched last. Also, in
some configurations (especially when the --sysconfdir compile-time
option is set to /etc or /etc/mysql), the system-wide my.cnf file
was read multiple times, causing confusion and potential problems.
Rearrange default directories to conform to the manual and logic.
Move --sysconfdir=<path> (DEFAULT_SYSCONFDIR) from the last default
directory to the middle of the list. $HOME/.my.cnf should be last,
so the user is able to override the system-wide settings.
Change init_default_directories() to remove duplicates from the
list.
include/my_sys.h:
Add array_append_string_unique(), from mf_arr_appstr.c
libmysql/Makefile.shared:
Add new mf_arr_appstr.lo object
mysys/CMakeLists.txt:
Add new mf_arr_appstr.c source.
mysys/Makefile.am:
Add new mf_arr_appstr.c source.
mysys/default.c:
Change order in which defaults files are added to default_directories,
in order to conform to the manual (and to common sense). This fixes
a particularly bad problem on Unix, where ~/.my.cnf was read before
/usr/local/etc/my.cnf.
Also, don't add duplicate entries; move the existing entry to the
end of the list instead.
Here is a comparison of the order of defaults files, BEFORE and AFTER
this patch.
On Windows:
BEFORE: C:\, GetWindowsDirectory(), GetSystemWindowsDirectory(),
$MYSQL_HOME, defaults-extra-file, INSTALLDIR
AFTER: GetSystemWindowsDirectory(), GetWindowsDirectory(), C:\,
INSTALLDIR, $MYSQL_HOME, defaults-extra-file
GetSystemWindowsDirectory() is moved before GetWindowsDirectory() because
the former is shared by all Terminal Services users, while the latter is
private for each user.
On Netware (no change):
BEFORE: sys:/etc/, $MYSQL_HOME, defaults-extra-file
AFTER: sys:/etc, $MYSQL_HOME, defaults-extra-file
On OS/2:
BEFORE: $ETC, /etc, $MYSQL_HOME, defaults-extra-file
AFTER: /etc, $ETC, $MYSQL_HOME, defaults-extra-file
On everything else (general Unix):
BEFORE: /etc, $MYSQL_HOME, defaults-extra-file, ~/, --sysconfdir
AFTER: /etc/, --sysconfdir, $MYSQL_HOME, defaults-extra-file, ~/
The BEFORE code added --sysconfdir on all systems, but only the
Unix build system actually defined a value for it.
mysys/mf_arr_appstr.c:
BitKeeper file /home/tsmith/m/bk/build/50-b20748/mysys/mf_arr_appstr.c
RENAME TABLE against a table with DATA/INDEX DIRECTORY overwrites
the file to which the symlink points.
This is security issue, because it is possible to create a table with
some name in some non-system database and set DATA/INDEX DIRECTORY
to mysql system database. Renaming this table to one of mysql system
tables (e.g. user, host) would overwrite the system table.
Return an error when the file to which the symlink points exist.
mysql-test/r/symlink.result:
A test case for BUG#32111.
mysql-test/t/symlink.test:
A test case for BUG#32111.
mysys/my_symlink2.c:
Return an error when the file to which the symlink points exist.
some platforms
Since the behavior of write(fd, buf, 0) is undefined, it may fail with
EFAULT on some architectures when buf == NULL. The error was propagated
up to a caller, since my_write() code did not handle it properly.
Fixed by checking the 'number of bytes' argument in my_write() and
returning before calling the write() system call when there is nothing
to write.
mysys/my_write.c:
Return from my_write() before calling the write() system call when the
number of bytes to be written is 0, since the behavior of write() in
this case is not portable.
into mysql.com:/home/svoj/devel/mysql/BUG31159/mysql-5.0-engines
include/my_sys.h:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysys/charset.c:
Manual merge.
sql/item_func.cc:
Manual merge.
ucs2 doesn't provide required by fulltext ctype array. Crash
happens because fulltext attempts to use unitialized ctype
array.
Fixed by converting ucs2 fields to compatible utf8 analogue.
include/my_sys.h:
Added a function to find compatible character set with ctype array
available. Currently used by fulltext search to find compatible
substitute for ucs2 collations.
mysql-test/r/ctype_ucs.result:
A test case for BUG#31159.
mysql-test/t/ctype_ucs.test:
A test case for BUG#31159.
mysys/charset.c:
Added a function to find compatible character set with ctype array
available. Currently used by fulltext search to find compatible
substitute for ucs2 collations.
sql/item_func.cc:
Convert ucs2 fields to utf8. Fulltext requires ctype array, but
ucs2 doesn't provide it.
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge
mysql-test/r/udf.result:
Auto merged
mysql-test/t/udf.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/udf_example.c:
Auto merged
sql/udf_example.def:
Auto merged
CPUs / Intel's ICC compile
The bug is a combination of two problems:
1. IA64/ICC MySQL binaries use glibc's qsort(), not the one in mysys.
2. The order relation implemented by join_tab_cmp() is not transitive,
i.e. it is possible to choose such a, b and c that (a < b) && (b < c)
but (c < a). This implies that result of a sort using the relation
implemented by join_tab_cmp() depends on the order in which
elements are compared, i.e. the result is implementation-specific. Since
choose_plan() uses qsort() to pre-sort the
join tables using join_tab_cmp() as a compare function, the results of
the sorting may vary depending on qsort() implementation.
It is neither possible nor important to implement a better ordering
algorithm in join_tab_cmp(). Therefore the only way to fix it is to
force our own qsort() to be used by renaming it to my_qsort(), so we don't depend
on linker to decide that.
This patch also "fixes" bug #20530: qsort redefinition violates the
standard.
include/my_sys.h:
Renamed qsort() and qsort2() to my_qsort() and my_qsort2(). Since
previously we relied on stdlib.h to provide a declaration for qsort(), a
separate declaration for my_qsort() is now required.
libmysql/Makefile.shared:
Added mf_qsort.c to libmysql, since my_lib.c now uses my_qsort() instead of qsort().
myisam/ft_boolean_search.c:
Replaced qsort2() with my_qsort2().
myisam/ft_nlq_search.c:
Replaced qsort2() with my_qsort2().
myisam/myisampack.c:
Replaced qsort() with my_qsort().
myisam/sort.c:
Replaced qsort2() with my_qsort2().
mysys/mf_keycache.c:
Replaced qsort() with my_qsort().
mysys/mf_qsort.c:
Renamed qsort() to my_qsort() and qsort2() to my_qsort2().
mysys/mf_sort.c:
Replaced qsort2() with my_qsort2().
mysys/my_lib.c:
Replaced qsort() with my_qsort().
mysys/queues.c:
Replaced qsort2() with my_qsort2().
sql/item_cmpfunc.cc:
Replaced qsort2() with my_qsort2().
sql/item_cmpfunc.h:
Replaced qsort2() with my_qsort2().
sql/opt_range.cc:
Replaced qsort() with my_qsort().
sql/records.cc:
Replaced qsort() with my_qsort().
sql/sql_acl.cc:
Replaced qsort() with my_qsort().
sql/sql_array.h:
Replaced qsort() with my_qsort().
sql/sql_help.cc:
Replaced qsort() with my_qsort().
sql/sql_select.cc:
Replaced qsort() with my_qsort().
sql/examples/ha_tina.cc:
Replaced qsort() with my_qsort().
sql/sql_table.cc:
Replaced qsort() with my_qsort().
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/sql_parse.cc:
Auto merged
This is for bug #29446 "Specifying a myisam_sort_buffer > 4GB on 64 bit machines not possible". Support for myisam_sort_buffer_size > 4 GB on 64-bit Windows will be looked at later in 5.2.
mysql-test/r/variables.result:
Fixed the test.
mysql-test/t/variables.test:
Fixed the test.
mysys/my_getopt.c:
Print a warning to the error log if a user sets an option to a value greater than the option's maximum value.
sql/set_var.cc:
Issue an SQL warning if a user assignes a value greater than the variable's maximum value.
It's not possible to use WaitForSingleObject to wait
on a CRITICAL_SECTION, instead use the TryEnterCriticalSection function.
- if "mutex" was already taken => return EBUSY
- if "mutex" was aquired => return 0
include/config-win.h:
Make windows.h define TryEnterCriticalSection
mysys/my_winthread.c:
Use the TryEnterCriticalSection function to implement pthread_mutex_trylock
Prevent recursive behaviour by looking at the RecursionCount variable
in the CRITICAL_SECTION struct and return EBUSY from function if
the mutex was already locked once.
- "on" -> "restore" to avoid warning in MSVC when compiling with debug
mysys/my_init.c:
Fix spelling error that cause MSVC to throw a warning
when compiling with debug.
Use "restore" instaed of "on" to turn runtime checks back on
Adding support for correct handling of pthread_mutex_trylock() on Win32
systems as well as when using the safe mutexes.
include/my_pthread.h:
Adding win_pthread_mutex_trylock() function as wrapper function for
Windows implementation of pthread_mutex_trylock().
Adding flag to safe_mutex_lock() that is shall not abort if the mutex
is already locked and instead return EBUSY since this is the POSIX
behaviour.
mysys/my_winthread.c:
Added Win32 wrappper function to handle pthread_mutex_trylock().
mysys/thr_mutex.c:
Added parameter 'try_lock' to safe_mutex_lock() to allow it to do double-
duty as a pthread_mutex_trylock() in addition to working as
pthread_mutex_lock().
The code needs to return EBUSY instead of throwing an error in the event
that the mutex is re-locked (we do not have recursive mutexes), but it
also requires some special handling to avoid race conditions when
calling the real pthread_mutex_{lock,trylock}().
This is required to allow key_buffer_size > 4 GB (bug #5731).
include/my_sys.h:
Backport of my_malloc() changes from 5.1 to make it 64-bit safe on Unix platforms.
mysys/my_largepage.c:
Backport of my_malloc() changes from 5.1 to make it 64-bit safe on Unix platforms.
mysys/my_malloc.c:
Backport of my_malloc() changes from 5.1 to make it 64-bit safe on Unix platforms.
mysys/safemalloc.c:
Backport of my_malloc() changes from 5.1 to make it 64-bit safe on Unix platforms.
include/my_pthread.h:
Fix for Bug#27970 "Fix for bug 24507 makes mysql_install_db fail".
Removed macro NPTL_PTHREAD_EXIT_BUG, because it doesn't work in dynamic
environment. One can switch between NPTL and LT on the fly on Linux.
Added pthread_dummy(ESRCH) for those platforms that don't have pthread_kill.
This ensures that there won't be an error in mysqld.cc where the return value
is being checked from the function call.
mysys/my_thr_init.c:
Check for a Linux is enough. There is an additional test if
NPTL is in use before spwaning the extra thread.
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
mysql-test/r/federated.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
sql/item.cc:
Auto merged
statement being KILLed".
When statement which was trying to obtain write lock on then table and
which was blocked by existing read lock was killed, concurrent statements
that were trying to obtain read locks on the same table and that were
blocked by the presence of this pending write lock were not woken up and
had to wait until this first read lock goes away.
This problem was caused by the fact that we forgot to wake up threads
which pending requests could have been satisfied after removing lock
request for the killed thread.
The patch solves the problem by waking up those threads in such situation.
Test for this bug will be added to 5.1 only as it has much better
facilities for its implementation. Particularly, by using I_S.PROCESSLIST
and wait_condition.inc script we can wait until thread will be blocked on
certain table lock without relying on unconditional sleep (which usage
increases time needed for test runs and might cause spurious test
failures on slower platforms).
mysys/thr_lock.c:
After removing lock request from the list of waiting lock requests
(e.g. when we discover that current thread was killed) we should
wake up other threads waiting for the same lock which pending
requests now can be satisfied. To implement this behavior we
move code responsible for waking up threads which pending requests
can be satisfied from thr_unlock() to new wake_up_waiters() procedure
and use it in wait_for_lock() and hr_abort_locks_for_thread().
Several adjustments to make client libraries pass the link test
on both win32 and winx64, Visual Studio 2003 and 2005 (bug#30118)
win/README:
- Removed references to PARTITION engine, 5.1 only
win/configure.js:
- Removed references to PARTITION engine, 5.1 only
extra/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
myisam/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
scripts/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
server-tools/instance-manager/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
sql/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
mysys/CMakeLists.txt:
Restored include path to "mysys" itself
dbug/CMakeLists.txt:
Changed to optionally be included to give a file list only
extra/yassl/CMakeLists.txt:
Changed to optionally be included to give a file list only
extra/yassl/taocrypt/CMakeLists.txt:
Changed to optionally be included to give a file list only
zlib/CMakeLists.txt:
Changed to optionally be included to give a file list only
libmysql/CMakeLists.txt:
For compatibility with Visual Studio 2005, list all files that are to
be part of the library build, i.e. libraries can't be built from other
libraries. Set SOURCE_SUBLIBS and include the file listings from
"zlib", "dbug", "taocrypt" and "yassl"
into mysql.com:/home/bar/mysql-work/mysql-5.0-rpl
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
strings/conf_to_src.c:
Auto merged
strings/ctype-extra.c:
Auto merged
mysql-test/r/ctype_ucs.result:
After merge fix
mysql-test/t/ctype_ucs.test:
After merge fix
(Regression, caused by a patch for the bug 22646).
Problem: when result type of date_format() was changed from
binary string to character string, mixing date_format()
with a ascii column in CONCAT() stopped to work.
Fix:
- adding "repertoire" flag into DTCollation class,
to mark items which can return only pure ASCII strings.
- allow character set conversion from pure ASCII to other character sets.
include/m_ctype.h:
Defining new flags.
Adding new function prototypes.
mysql-test/r/ctype_ucs.result:
Adding tests.
mysql-test/r/ctype_utf8.result:
Adding tests.
mysql-test/r/func_time.result:
Adding tests.
mysql-test/t/ctype_ucs.test:
Adding tests.
mysql-test/t/ctype_utf8.test:
Adding tests.
mysql-test/t/func_time.test:
Adding test.
mysys/charset.c:
Adding pure ASCII detection when loading a dynamic character set.
sql/item.cc:
- Moving detection of a Unicode superset into function.
- Adding detection of a ASCII subset.
- Adding creation of to-ASCII character set convertor when
safe_charset_converter() failed and when the argument.
repertoire is know to be pure ASCII.
sql/item.h:
- Adding "repertoire" member into DTCollation class.
- Adding "repertoire" argument to constructors.
- Adding new methods:
set_repertoire_from_charset()
set_repertoire_from_value()
sql/item_func.cc:
Adding "repertoire" argument.
sql/item_strfunc.cc:
Adding "repertoire" argument.
sql/item_timefunc.cc:
Initializing the result repertoire taking into account the "is_ascii"
flag of the current locale.
sql/sql_lex.cc:
Detect 7bit strings, return in Lex->text_string_is_7bit.
sql/sql_lex.h:
Adding new member into LEX structure.
Adding new member into Lex_input_stream
sql/sql_string.cc:
Allow simple copy from pure ASCII to a ASCII-based character set.
sql/sql_yacc.yy:
Depening on Lex->text_string_is_7bit and character set features,
create Item_string with MY_REPERTOIRE_ASCII when it is possible.
strings/conf_to_src.c:
- Adding printing of the "MY_CS_PUREASCII" flag
- Adding printing of copyright
strings/ctype-extra.c:
Recreating ctype-extra.c: ascii_general_ci and ascii_bin
are now marked with MY_CS_PUREASCII flag.
strings/ctype.c:
Adding new functions.
Aligned client library build and use with the Unix version when it
comes to what source to include directly in the builds, and what
libraries to link with (bug#30118).
Also reviewed, corrected and made more clear when static or dynamic
Thread Local Storage is to be used. Some code duplication was removed,
and some redundant library usage were removed, reducing the risk of
incorrect TLS usage.
client/CMakeLists.txt:
- Removed code duplication by moving build of "mysqlclient" to
the "libmysql" directory
- Link clients with the new "mysqlclient_notls", to protect for
the case the clients use more than the client API, and access
thread data directly.
- Synced explicit target addition of sources with Unix.
dbug/CMakeLists.txt:
No need to set CXX flags, no C++ code
libmysql/CMakeLists.txt:
- Aligned more with Unix version when it comes to included source files
- Build both DLL and static library in this directory
- Produce separe static TLS version of the static client library, for
use when building clients in this build that might access TLS
storage directly.
mysys/CMakeLists.txt:
We only have to build the static TLS version, as no clients are
linking directly with the "mysys" library.
scripts/make_win_bin_dist:
Ajusted paths to new "mysqlclient.lib" location in source tree
sql/CMakeLists.txt:
Removed duplicate "ha_blackhole.cc" in file listing
Removed explicit link to "dbug.lib" not needed
Link with the static TLS "mysqlclient_notls"
tests/CMakeLists.txt:
Removed explicit link to "dbug", "mysys", "yassl", "taocrypt" and
"zlib" not needed.
Added explicit source addition "../mysys/my_memmem.c".
No need for setting CXX flags, no C++ code.
Use the static TLS "mysqlclient_notls" for linkage.
zlib/CMakeLists.txt:
No need for a dynamic TLS version of this library, no access to thread
storage is done from it. Also no need to define MYSQL_CLIENT, not used,
or __WIN32__ that is handled by the library header without this define.
Backport of correction for Mac OS X build problem, global variable not
initiated is "common" and can't be used in shared libraries, unless
special flags are used (bug#26218)
mysys/my_pthread.c:
Backport of correction for Mac OS X build problem, global variable not
initiated is "common" and can't be used in shared libraries, unless
special flags are used (bug#26218)
into mysql.com:/home/kent/bk/tmp3/mysql-5.0-build
libmysql/libmysql.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/field.cc:
Auto merged
table (datadir)
Set errno when retunring an error in my_create_with_symlink.
mysys/my_symlink2.c:
Bug #29325: set errno when retunring
an error in my_create_with_symlink
The Ctrl-C handler in mysql closes the console while ReadConsole()
waits for console input.
But the main thread was detecting that ReadConsole() haven't read
anything and was processing as if there're data in the buffer.
Fixed to handle correctly this error condition.
No test case added as the test relies on Ctrl-C sent to the client
from its console.
client/mysql.cc:
Bug #29469: handle correctly console read error
mysys/my_conio.c:
Bug #29469:
1. handle correctly console read error
2. add boundry checks for console buffer.