summaryrefslogtreecommitdiff
path: root/mysys
Commit message (Collapse)AuthorAgeFilesLines
* Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0unknown2007-12-046-66/+251
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Eliminate 'unused variable' warnings when compiling non-debug buildunknown2007-11-161-3/+12
| |
| * Merge trift2.:/MySQL/M50/mysql-5.0unknown2007-11-142-1/+50
| |\ | | | | | | | | | | | | | | | | | | | | | into trift2.:/MySQL/M50/push-5.0 include/my_sys.h: Auto merged
| | * Merge mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.1-enginesunknown2007-11-121-1/+10
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * Merge mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.0unknown2007-11-121-1/+10
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.1-engines mysys/my_symlink2.c: Auto merged mysql-test/r/symlink.result: SCCS merged mysql-test/t/symlink.test: SCCS merged
| | | | * BUG#32111 - Security Breach via DATA/INDEX DIRECORY and RENAME TABLEunknown2007-11-061-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | Merge mysql.com:/home/svoj/devel/mysql/BUG31159/mysql-4.1-enginesunknown2007-10-241-0/+40
| | |\ \ \ | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | BUG#31159 - fulltext search on ucs2 column crashes serverunknown2007-10-241-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | my_pthread.c:unknown2007-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | | Fix Windows build problems.unknown2007-11-091-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libmysql/CMakeLists.txt: Add new mysys/mf_arr_appstr.c source file mysys/default.c: Fix some bad code that caused warnings on Windows
| * | | | Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50unknown2007-11-074-65/+192
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | into ramayana.hindu.god:/home/tsmith/m/bk/build/b20748/50 include/my_sys.h: Auto merged
| | * | | Bug #20748: Configuration files should not be read more than onceunknown2007-11-074-65/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Replaced 'return' with DBUG_RETURN() in the fix for bug #31566.unknown2007-10-251-1/+1
| | | | |
* | | | | Merge polly.(none):/home/kaa/src/maint/bug31566/my50-bug31566unknown2007-10-241-0/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
| * | | | | Fix for bug #31566: my_write(fd, 0x0, 0, flags) fails with EFAULT onunknown2007-10-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Merge ramayana.hindu.god:/home/tsmith/m/bk/50unknown2007-10-222-7/+65
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | into ramayana.hindu.god:/home/tsmith/m/bk/maint/50
| * | | | | Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-baseunknown2007-10-182-7/+65
| |\ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | | Merge bk-internal.mysql.com:/home/bk/mysql-5.0unknown2007-10-082-7/+65
| | |\ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * | | Bug#30992 Wrong implementation of pthread_mutex_trylock()unknown2007-10-031-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | | Merge kindahl-laptop.dnsalias.net:/home/bk/b30992-mysql-5.0-rplunknown2007-10-012-7/+67
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kindahl-laptop.dnsalias.net:/home/bk/b30992-mysql-5.0-runtime include/my_pthread.h: Auto merged
| | | | * | | BUG#30992 (Wrong implementation of pthread_mutex_trylock()):unknown2007-10-012-7/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}().
* | | | | | | Merge polly.(none):/home/kaa/src/maint/bug31207/my50-bug31174unknown2007-10-185-9/+9
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/mysql-5.0-maint myisam/sort.c: Auto merged sql/sql_acl.cc: Auto merged sql/sql_select.cc: Auto merged
| * | | | | | Fix for bug #31207: Test "join_nested" shows different strategy on IA64unknown2007-10-175-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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().
* | | | | | | Merge ramayana.hindu.god:/home/tsmith/m/bk/50unknown2007-10-101-0/+14
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into ramayana.hindu.god:/home/tsmith/m/bk/maint/50 mysql-test/mysql-test-run.pl: Auto merged scripts/mysql_system_tables_data.sql: Auto merged
| * | | | | | avoid using GetTempFileName in a way it's documented to not work on windowsunknown2007-09-271-0/+14
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | mysys/mf_tempfile.c: Try to avoid passing null as first parameter to GetTempFileName, since it's documented that it won't work.
* | | | | | Merge polly.(none):/home/kaa/src/maint/bug5731/my50-bug5731unknown2007-10-041-0/+16
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
| * | | | | | Issue a warning if a user sets an option or a variable to a value that is ↵unknown2007-10-041-0/+16
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | greater than a defined maximum for the option/variable. 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.
* | | | | | Bug#27597 mysqld-debug brokenunknown2007-10-021-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - "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
* | | | | Merge polly.(none):/home/kaa/src/maint/bug5731/my50-bug5731_keycacheunknown2007-10-021-12/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/bug5731/my50-bug5731
| * | | | | Backport of the keycache changes from http://lists.mysql.com/commits/31517 ↵unknown2007-08-291-12/+13
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to make keycache 64-bit safe in 5.0. This is for bug #5731. include/keycache.h: Backport of the keycache changes from http://lists.mysql.com/commits/31517 to make keycache 64-bit safe in 5.0. mysys/mf_keycache.c: Backport of the keycache changes from http://lists.mysql.com/commits/31517 to make keycache 64-bit safe in 5.0.
* | | | | Backport of my_malloc() changes from 5.1 to make it 64-bit safe on Unix ↵unknown2007-08-293-28/+27
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | platforms. 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.
* | | | Fix for Bug#27970 "Fix for bug 24507 makes mysql_install_db fail"unknown2007-08-161-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge bk-internal.mysql.com:/home/bk/mysql-5.0unknown2007-08-081-8/+32
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Fix for bug #21281 "Pending write lock is incorrectly removed when itsunknown2007-08-051-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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().
* | | | | Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0unknown2007-08-051-0/+3
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
| * | | | Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b28875unknown2007-08-031-0/+3
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | Bug#28875 Conversion between ASCII and LATIN1 charsets does not functionunknown2007-08-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* | | | | CMakeLists.txt, README, configure.jsunknown2007-08-031-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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"
* | | | | CMakeLists.txt (several), make_win_bin_dist:unknown2007-08-021-9/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0unknown2007-07-212-2/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Bug #29325: create table overwrites .MYD file of other unknown2007-07-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Bug #29469: Client dies if a query is issued after hitting Ctrl + Cunknown2007-07-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Avoid the name conflict between the system-provided "md5.h" and the MySQL oneunknown2007-07-191-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by renaming "include/md5.h" to "include/my_md5.h". Fixes bug#14151. include/my_md5.h: Rename: include/md5.h -> include/my_md5.h
* | | | Merge mysql.com:/home/svoj/devel/mysql/BUG27564/mysql-4.1-enginesunknown2007-07-051-0/+19
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/BUG27564/mysql-5.0-engines mysys/hash.c: Auto merged
| * | | BUG#27564 - Valgrind: UDF does not cleanup correctlyunknown2007-07-051-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dropping an user defined function may cause server crash in case this function is still in use by another thread. The problem was that our hash implementation didn't update hash link list properly when hash_update() was called. mysys/hash.c: The following requirement wasn't met by hash_update() function causing corruption of hash links list: After a record was unlinked from the old chain during update, it holds random position. By the chance this position is equal to position for the first element in the new chain. That means updated record is the only record in the new chain.
| * | | Merge mysql.com:/home/svoj/devel/bk/mysql-4.1unknown2007-05-231-2/+13
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
| * | | | Fixed bug #20710.unknown2007-04-291-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug occurs when error message length exceeds allowed limit: my_error() function outputs "%s" sequences instead of long string arguments. Formats like %-.64s are very common in errmsg.txt files, however my_error() function simply ignores precision of those formats. mysys/my_error.c: Fixed bug #20710. This bug occurs when error message length exceeds allowed limit: my_error() function output "%s" sequences instead of long string arguments. my_error() function has been fixed to accept formats like %-.64s. mysql-test/t/alter_table.test: Added test case for bug #20710. mysql-test/r/alter_table.result: Added test case for bug #20710.
* | | | | Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rplunknown2007-06-182-15/+27
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
| * \ \ \ \ Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rplunknown2007-06-182-15/+27
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge mysql-test/t/innodb.test: Auto merged
| | * \ \ \ \ Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rplunknown2007-06-112-15/+27
| | |\ \ \ \ \ | | | | |_|/ / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge