Commit graph

24776 commits

Author SHA1 Message Date
Mikael Ronstrom
ec38999ae7 Reverted DTrace fix 2009-02-06 14:35:00 +01:00
Mikael Ronstrom
b040b460ed Added support for rep; nop replacing PAUSE due to Solaris bug
Replaced abs_top_srcdir with top_srcdir, not sure it's an
improvement but at least it's known that abs_top_srcdir
in cases have a problem and this is a more common variable
to use for the same purpose.
2009-02-03 12:46:52 +01:00
MySQL Build Team
36cec0679a Fix dependency issue for dtrace 2009-01-28 00:04:05 +01:00
Alexey Kopytov
aa16280c95 Fixed the circular dependency in a DTrace-related Makefile part. 2008-12-30 14:27:21 +03:00
Alexey Kopytov
708e0d482d Merge from the main tree. 2008-12-23 14:40:19 +03:00
Alexey Kopytov
8f40756168 Fixed DTrace-related build failures. 2008-12-23 12:05:30 +03:00
Mikael Ronstrom
b01f5ef118 Fixed the magic since it seems also spurious -n's are generated by
the magic script.
2008-12-23 02:22:59 +01:00
Mikael Ronstrom
0478e0508d Fixing DTrace issue in mysqld.cc
Disabling ndb DTrace probes temporarily
Hacking some DTrace Makefile magic to make it work
All temporary solutions to make it work quickly
2008-12-23 00:56:44 +01:00
Mikael Ronstrom
bceeb36b45 DTrace fixes plus fixing a too long file name 2008-12-22 18:10:24 +01:00
Mikael Ronstrom
806cf36be0 A number of fixes to DTrace patch
Removed instance manager from builds
2008-12-20 15:16:46 +01:00
Mikael Ronstrom
460cde4c6e Merge dtrace patch with latest performance version 2008-12-20 11:53:27 +01:00
Mikael Ronstrom
16a024c486 Backport of DTrace patches from 6.0 2008-12-20 11:01:41 +01:00
Mikael Ronstrom
7fdeda17b1 Fix to make it compile on Solaris 2008-12-19 09:25:03 +01:00
Mikael Ronstrom
cb52ac91da Merge latest 5.1 into performance version 2008-12-15 09:47:39 +01:00
Mikael Ronstrom
abae8a2c9c Added large page support for Solaris
Change defaults, now large page support is default if supported
Introduced super-large-pages support for Solaris to use 256 MByte
page size rather than 4 MByte.
2008-12-05 19:43:45 +01:00
Vladislav Vaintroub
4dfbf2ec93 Bug#38522: 5 seconds delay when closing application using embedded server
The problem here is that embedded server starts handle_thread manager 
thread  on mysql_library_init() does not stop it on mysql_library_end().
At shutdown, my_thread_global_end() waits for thread count to become 0,
but since we did not stop the thread it will give up after 5 seconds.
             
Solution is to move shutdown for handle_manager thread from kill_server()
(mysqld specific) to clean_up() that is used by both embedded and mysqld.
            
This patch also contains some refactorings - to avoid duplicate code,
start_handle_manager() and stop_handle_manager() functions are introduced.
Unused variables are eliminated. handle_manager does not rely on global
variable abort_loop anymore to stop (abort_loop is not set for embedded).
            
Note: Specifically on Windows and when using DBUG version of libmysqld, 
the complete solution requires removing obsolete code my_thread_init() 
from my_thread_var(). This has a side effect that a DBUG statement 
after my_thread_end() can cause thread counter to be incremented, and 
embedded will hang for some seconds. Or worse, my_thread_init() will 
crash if critical sections have been deleted by the global cleanup 
routine that runs in a different thread. 

This patch also fixes and revert prior changes for Bug#38293 
"Libmysqld crash in mysql_library_init if language file missing".

Root cause of the crash observed in Bug#38293  was bug in my_thread_init() 
described above
2008-12-04 19:41:53 +01:00
Mikael Ronstrom
2ed1383f6b call ha_release_temporary_latches to fix bug 32149 2008-12-04 16:03:02 +01:00
Georgi Kodinov
9e91c8d6c2 Fixed a bad merge (5.0->5.1) of the fix for bug 37339.
There was a missing initialization.
2008-12-02 13:21:05 +02:00
Georgi Kodinov
8f8183eee3 merged bug 39920 and 5.1-main to 5.1-bugteam 2008-12-01 17:22:16 +02:00
Georgi Kodinov
d21c85037f merged bug 39920 to 5.0-bugteam 2008-12-01 16:41:22 +02:00
Georgi Kodinov
8f36a23c00 Bug #39920: MySQL cannot deal with Leap Second expression in string literal.
Updated MySQL time handling code to react correctly on UTC leap second additions.
MySQL functions that return the OS current time, like e.g. CURDATE(), NOW() etc
will return :59:59 instead of :59:60 or 59:61.
As a result the reader will receive :59:59 for 2 or 3 consecutive seconds 
during the leap second.
This fix will not affect the values returned by UNIX_TIMESTAMP() for leap seconds.
But note that when converting the value returned by UNIX_TIMESTAMP() to broken 
down time the correction of leap seconds will still be applied.
Note that this fix will make a difference *only* if the OS is specially configured
to return leap seconds from the OS time calls or when using a MySQL time zone 
defintion that has leap seconds.
Even after this change date/time literals (or other broken down time 
representations) with leap seconds (ending on :59:60 or 59:61) will still be 
considered illegal and discarded by the server with an error or 
a warning depending on the sql mode.
Added a test case to demonstrate the effect of the fix.
2008-12-01 16:18:35 +02:00
Gleb Shchepa
a3cb8c68c3 After-push commit for bug #33461 to make valgrind happy:
TABLE_LIST doesn't free Strings in its string lists
(TABLE_LIST::use_index and TABLE_liST::ignore_index), so
calling c_ptr_safe() on that Strings leads to memleaks.
OTOH "safe" c_ptr_safe() is not necessary there and we can
replace it with c_ptr().
2008-12-01 12:14:02 +04:00
Ingo Struewing
b2563ca8ff auto-merge 2008-11-28 21:55:52 +01:00
Gleb Shchepa
44beb2475d manual merge 5.0-bugteam --> 5.1-bugteam (bug 33461) 2008-11-28 21:35:48 +04:00
Gleb Shchepa
c762d934cc Bug #40745: Error during WHERE clause calculation in UPDATE
leads to an assertion failure

Any run-time error in stored function (like recursive function
call or update of table that is already updating by statement
which invoked this stored function etc.) that was used in some
expression of the single-table UPDATE statement caused an
assertion failure.
Multiple-table UPDATE (as well as INSERT and both single- and
multiple-table DELETE) are not affected.
2008-11-28 20:36:07 +04:00
Gleb Shchepa
228c913ee5 Bug #33461: SELECT ... FROM <view> USE INDEX (...) throws
an error

Even after the fix for bug 28701 visible behaviors of
SELECT FROM a view and SELECT FROM a regular table are
little bit different:

1. "SELECT FROM regular table USE/FORCE/IGNORE(non
   existent index)" fails with a "ERROR 1176 (HY000):
   Key '...' doesn't exist in table '...'"

2. "SELECT FROM view USING/FORCE/IGNORE(any index)" fails
   with a "ERROR 1221 (HY000): Incorrect usage of
   USE/IGNORE INDEX and VIEW".  OTOH "SHOW INDEX FROM
   view" always returns empty result set, so from the point
   of same behaviour view we trying to use/ignore non
   existent index.

To harmonize the behaviour of USE/FORCE/IGNORE(index)
clauses in SELECT from a view and from a regular table the
"ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX
and VIEW" message has been replaced with the "ERROR 1176
(HY000): Key '...' doesn't exist in table '...'" message
like for tables and non existent keys.
2008-11-28 20:13:12 +04:00
Georgi Kodinov
8479932c42 merged bug 37339 to 5.1-bugteam 2008-11-28 17:27:12 +02:00
Georgi Kodinov
ccc3404f1b merged bug 37339 to 5.0-bugteam 2008-11-28 16:32:04 +02:00
Georgi Kodinov
0708ad5f98 Bug #37339: SHOW VARIABLES not working properly with multi-byte datadir
The SHOW VARIABLES LIKE .../SELECT @@/SELECT ... FROM INFORMATION_SCHEMA.VARIABLES
were assuming that all the system variables are in system charset (UTF-8).
However the variables that are settable through command line will have a different
character set (character_set_filesystem).
Fixed the server to remember the correct character set of basedir, datadir, tmpdir,
ssl, plugin_dir, slave_load_tmpdir, innodb variables; init_connect and init_slave 
variables and use it when processing data.
2008-11-28 16:25:16 +02:00
Ingo Struewing
57b8f758f0 merge 2008-11-28 12:38:49 +01:00
Sergey Glukhov
a0ddfab9ff 5.0-bugteam->5.1-bugteam merge 2008-11-28 15:04:09 +04:00
Sergey Glukhov
17cd69ccf4 pushbuild failure fixes 2008-11-28 14:50:13 +04:00
Ingo Struewing
1d69696658 merge 2008-11-27 20:39:54 +01:00
Tatiana A. Nurnberg
92c8ab0867 auto-merge 2008-11-27 17:32:34 +01:00
Tatiana A. Nurnberg
99fe5e523e auto-merge 2008-11-27 17:17:16 +01:00
Ingo Struewing
4ffe3bce70 merge 2008-11-27 16:28:50 +01:00
Sergey Glukhov
302152fc86 5.0-bugteam->5.1-bugteam merge 2008-11-27 19:03:13 +04:00
Sergey Glukhov
63bca358ca Bug#37284 Crash in Field_string::type()
The bug is repeatable with latest(1.0.1) InnoDB plugin on Linux, Win,
If MySQL is compiled with valgrind there are errors about
using of uninitialized variable(orig_table).
The fix is to set field->orig_table correct value.
2008-11-27 18:54:23 +04:00
Sergey Glukhov
04824289dd 5.0-bugteam->5.1-bugteam merge 2008-11-27 18:11:54 +04:00
Sergey Glukhov
2fb574214e Bug#37460 Assertion failed: !table->file || table->file->inited == handler::NONE
enable uncacheable flag if we update a view with check option
and check option has a subselect, otherwise, the check option
can be evaluated after the subselect was freed as independent
(See full_local in JOIN::join_free())
2008-11-27 17:57:34 +04:00
Tatiana A. Nurnberg
84ea45fbe3 auto-merge 2008-11-27 14:50:28 +01:00
Tatiana A. Nurnberg
238c5bfa2f auto-merge 2008-11-27 14:45:41 +01:00
Tatiana A. Nurnberg
4c850d62b6 auto-merge 2008-11-27 14:05:50 +01:00
Sergey Glukhov
8a43bcc33a 5.0-bugteam->5.1-bugteam merge 2008-11-27 17:05:38 +04:00
Sergey Glukhov
7b488c46a0 Bug#40365 Prepared statements may insert invalid dates.
set DATE|DATETIME value to 0 if ALLOW_INVALID_DATES sql_mode is not enabled.
2008-11-27 16:41:25 +04:00
Tatiana A. Nurnberg
d57c7dcff8 auto-merge 2008-11-27 12:50:51 +01:00
Tatiana A. Nurnberg
9700cd87d9 auto-merge 2008-11-27 12:33:04 +01:00
Ingo Struewing
b903835265 Bug#28234 - global/session scope - documentation vs implementation
Post-pushbuild fix.

- Windows does not have 'socket' system variable.
- Compiler warning in sql/slave.cc
2008-11-27 11:50:28 +01:00
Tatiana A. Nurnberg
ae0c6a949c Bug#37553: MySql Error Compare TimeDiff & Time
We pretended that TIMEDIFF() would always return positive results;
this gave strange results in comparisons of the TIMEDIFF(low,hi)<TIME(0)
type that rendered a negative result, but still gave false in comparison.
We also inadvertantly dropped the sign when converting times to
decimal.

CAST(time AS DECIMAL) handles signs of the times correctly.
TIMEDIFF() marked up as signed. Time/date comparison code switched to
signed for clarity.
2008-11-26 09:28:17 +01:00
Vladislav Vaintroub
c3f07acfdd merge 2008-11-25 20:18:43 +01:00