Commit graph

1462 commits

Author SHA1 Message Date
thek@kpdesk.mysql.com
fd99994faf Bug#22828 complementary patch:
- 'false' not defined in C, use FALSE instead.
2006-11-02 13:26:57 +01:00
thek@kpdesk.mysql.com
35b833eb86 Merge kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint
2006-11-01 17:01:51 +01:00
thek@kpdesk.mysql.com
df82f58477 Merge kpdesk.mysql.com:/home/thek/dev/bug22828/my41-bug22828
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
2006-11-01 09:24:57 +01:00
thek@kpdesk.mysql.com
12d8f2bf31 Bug#22828 _my_b_read() ignores return values for my_seek() calls
- Because my_seek actually is capable of returning an error code we should
  exploit that in the best possible way.
- There might be kernel errors or other errors we can't predict and capturing
  the return value of all system calls gives us better understanding of
  possible errors.
2006-10-31 09:26:16 +01:00
tsmith/tim@siva.hindu.god
3af2089b13 Merge siva.hindu.god:/usr/home/tim/m/bk/g50
into  siva.hindu.god:/usr/home/tim/m/bk/50
2006-10-24 14:42:08 -06:00
Kristofer.Pettersson@naruto.
550c9e55f3 Merge naruto.:C:/cpp/bug23010/my50-bug23010
into  naruto.:C:/cpp/mysql-5.0-maint
2006-10-17 10:53:53 +02:00
tsmith/tim@siva.hindu.god
93d351f4c6 Merge siva.hindu.god:/usr/home/tim/m/bk/b4053/50
into  siva.hindu.god:/usr/home/tim/m/bk/tmp/mrgOct16/50
2006-10-16 20:03:43 -06:00
tsmith/tim@siva.hindu.god
43608c2583 Merge siva.hindu.god:/usr/home/tim/m/bk/b4053/41
into  siva.hindu.god:/usr/home/tim/m/bk/tmp/mrgOct16/41
2006-10-16 20:01:30 -06:00
istruewing@chilla.local
35c94b6e2d Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug8283
2006-10-11 17:57:47 +02:00
Kristofer.Pettersson@naruto.
3b316569a7 Bug#23010 _my_b_read() passing illegal file handles to my_seek()
- The io cache flag seek_not_done was not set properly in the reinit_
io_chache function call and this led my_seek to be called despite an
invalid file handle.
- Added a test in reinit_io_cache to ensure we have a valid file handle
before setting seek_not_done flag.
2006-10-09 21:13:37 +02:00
istruewing@chilla.local
c299de14ee Merge chilla.local:/home/mydev/mysql-4.1-bug8283-one
into  chilla.local:/home/mydev/mysql-5.0-bug8283
2006-10-09 20:03:12 +02:00
istruewing@chilla.local
1daa6a710d Merge chilla.local:/home/mydev/mysql-4.1-bug8283
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one
2006-10-09 19:40:16 +02:00
istruewing@chilla.local
5f08a83186 Bug#8283 - OPTIMIZE TABLE causes data loss
OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
parallel repair. This means that it does not only rebuild all 
indexes, but also the data file.

Non-quick parallel repair works so that there is one thread per 
index. The first of the threads rebuilds also the new data file.

The problem was that all threads shared the read io cache on the
old data file. If there were holes (deleted records) in the table,
the first thread skipped them, writing only contiguous, non-deleted
records to the new data file. Then it built the new index so that
its entries pointed to the correct record positions. But the other
threads didn't know the new record positions, but put the positions
from the old data file into the index.

The new design is so that there is a shared io cache which is filled
by the first thread (the data file writer) with the new contiguous
records and read by the other threads. Now they know the new record
positions.

Another problem was that for the parallel repair of compressed
tables a common bit_buff and rec_buff was used. I changed it so
that thread specific buffers are used for parallel repair.

A similar problem existed for checksum calculation. I made this
multi-thread safe too.
2006-10-09 19:26:55 +02:00
msvensson@shellback.(none)
3bed246481 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-10-03 01:01:06 +02:00
svoj@mysql.com/april.(none)
361c46eefe Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2006-10-02 14:52:09 +05:00
svoj@mysql.com/april.(none)
7afbe5f86e Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
2006-10-02 14:42:12 +05:00
cmiller@zippy.cornsilk.net
5275e2437a Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2006-09-29 16:24:21 -04:00
svoj@mysql.com/april.(none)
ad7da7f1de Merge mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-5.0-engines
2006-09-29 00:00:27 +05:00
svoj@mysql.com/april.(none)
b271d7653b BUG#21617 - crash when selecting from merge table with inconsistent indexes
Crash may happen when selecting from a merge table that has underlying
tables with less indexes than in a merge table itself.

If number of keys in merge table is not bigger than requested key number,
return error.
2006-09-28 22:10:06 +05:00
holyfoot/hf@mysql.com/deer.(none)
f8eeebbc4c Merge mysql.com:/home/hf/work/mysql-4.1.15428
into  mysql.com:/home/hf/work/mysql-5.0-mrg
2006-09-25 16:44:53 +05:00
tsmith/tim@siva.hindu.god
fb6625e495 Merge siva.hindu.god:/usr/home/tim/m/bk/tmp/41
into  siva.hindu.god:/usr/home/tim/m/bk/tmp/50
2006-09-14 23:22:25 -06:00
tsmith/tim@siva.hindu.god
43e8890abc Merge siva.hindu.god:/usr/home/tim/m/bk/tmp/40
into  siva.hindu.god:/usr/home/tim/m/bk/tmp/41
2006-09-14 23:20:13 -06:00
tsmith/tim@siva.hindu.god
7b9f4086fa Bug : too many of "error 1236: 'binlog truncated in the middle of event' from master"
- Fix my_read/my_write to handle return values from read/write correctly
- Add debugging 'deprecated function' warning to my_lread/my_lwrite
- Add debugging 'error, read/write interrupt not handled' warning to my_quick_read/my_quick_write

There is no test case associated with these changes.  However, this is a conservative change,
and no repeatable test case is available.
2006-09-14 23:19:24 -06:00
tsmith/tim@siva.hindu.god
5ec2bfe94c Bug : too many of "error 1236: 'binlog truncated in the middle of event' from master"
- Detect read failure in my_read_charset_file
2006-09-14 21:06:14 -06:00
jimw@rama.(none)
ce0846b862 Bug : compilation error with tcp_wrapper
Fix the functions in my_libwrap.c to return the results of the
  underlying call to libwrap.
2006-09-11 16:23:45 -07:00
holyfoot/hf@mysql.com/deer.(none)
c32f62bebb bug (UTF-8 indexing causes ER_NO_KEYFILE error)
The problem is that on some Mac OS X-es the file writing/reading
call with zero bytes to read/write returns error.
So here i try to eliminate that kinds of calls.
2006-09-04 19:47:24 +05:00
grichter@bk-internal.mysql.com
6993e3a3f7 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-cmake
2006-09-02 11:03:16 +02:00
georg@lmy002.wdf.sap.corp
5686da41ac Fixes for crashes and test failures 2006-09-01 14:34:37 +02:00
georg@lmy002.wdf.sap.corp
9d6471c33e make dist changes for Cmake build 2006-09-01 10:32:12 +02:00
georg@lmy002.wdf.sap.corp
27636d9303 Additional files for cmake support 2006-08-31 19:52:42 +02:00
cmiller@zippy.cornsilk.net
9c94dade04 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my41-bug04053
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
2006-08-31 12:45:49 -04:00
cmiller@zippy.cornsilk.net
fdb54d4f05 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my41-bug04053
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my50-bug04053
2006-08-30 21:52:17 -04:00
cmiller@zippy.cornsilk.net
5a3922fbf1 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my40-bug04053
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my41-bug04053
2006-08-30 17:33:28 -04:00
cmiller@zippy.cornsilk.net
2c356ec7db Bug#4053: too many of "error 1236: 'binlog truncated in the middle of \
event' from master"

Since there is no repeatable test case, and this is obviously wrong, this is
the most conservative change that might possibly work.  

The syscall  read()  wasn't checked for a negative return value for an
interrupted read.  The kernel  sys_read()  returns -EINTR, and the "library" 
layer maps that to return value of -1 and sets  errno  to EINTR.  It's 
impossible (on Linux) for  read()  to set errno EINTR without the return 
value being -1 .

So, if we're checking for EINTR behavior, we should not require that the
return value be zero.
2006-08-30 17:28:34 -04:00
georg@lmy002.wdf.sap.corp
5f5c7bade3 Bug : Wrong error number generated for a missing table 2006-08-02 10:00:28 +02:00
kroki/tomash@moonlight.intranet
cc98d26a23 Fix after manual merge. 2006-07-29 13:50:08 +04:00
kroki/tomash@moonlight.intranet
5c90b6f810 Merge moonlight.intranet:/home/tomash/src/mysql_ab/tmp_merge
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-merge
2006-07-29 13:43:34 +04:00
kroki/tomash@moonlight.intranet
4e845cccc4 BUG#21206: memory corruption when too many cursors are opened at once
Too many cursors (more than 1024) could lead to memory corruption.
This affects both, stored routines and C API cursors, and the
threshold is per-server, not per-connection.  Similarly, the
corruption could happen when the server was under heavy load
(executing more than 1024 simultaneous complex queries), and this is
the reason why this bug is fixed in 4.1, which doesn't support
cursors.

The corruption was caused by a bug in the temporary tables code, when
an attempt to create a table could lead to a write beyond allocated
space.  Note, that only internal tables were affected (the tables
created internally by the server to resolve the query), not tables
created with CREATE TEMPORARY TABLE.  Another pre-condition for the
bug is TRUE value of --temp-pool startup option, which, however, is a
default.

The cause of a bug was that random memory was overwritten in
bitmap_set_next() due to out-of-bound memory access.
2006-07-26 16:23:07 +04:00
monty@mysql.com
d76830faa5 Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2006-06-30 02:35:52 +03:00
monty@mysql.com
8e2099295d Fixed include file usage
hp_test2 now works again
Fixed wrong cast, which caused problems with gcc 4.0 and floats in prepared statements (Bug )
2006-06-30 02:25:35 +03:00
lars@mysql.com
0e45d26993 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-06-29 14:14:08 +02:00
gluh@mysql.com
e5dbc49bb0 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/gluh/MySQL/Merge/5.0-kt
2006-06-28 14:23:33 +05:00
aivanov@mysql.com
7dc30c68f4 Fixing BUG#17719 "Delete of binlog files fails on Windows"
and BUG#19208 "Test 'rpl000017' hangs on Windows".
 Both bugs are caused by attempting to delete an opened
 file and to create immediatedly a new one with the same
 name. On Windows it can be supported only on NT-platforms
 (by using FILE_SHARE_DELETE mode and with renaming the
 file before deletion). Because deleting not-closed files
 is not supported on all platforms (e.g. Win 98|ME) this
 is to be considered harmful and should be eliminated by
 a "code redesign".
2006-06-28 10:21:01 +04:00
konstantin@mysql.com
3cf181bb64 Fix compilation failures on Windows caused by the patch for Bug#17199.
Fix a minor issue with Bug#16206 (bdb.test failed if the tree is compiled 
without blackhole).
2006-06-27 14:56:24 +04:00
ingo@mysql.com
50477229b4 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/nfstmp1/ingo/autopush-75/mysql-5.0
2006-06-26 22:23:04 +02:00
anozdrin@mysql.com
8f4582db27 Merge mysql.com:/home/alik/MySQL/devel/5.0-tree
into  mysql.com:/home/alik/MySQL/devel/5.0-rt
2006-06-26 21:58:55 +04:00
ingo@mysql.com
0acdd0f773 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug16986-main
2006-06-26 19:43:28 +02:00
ingo@mysql.com
d27a15a81c Bug#16986 - Deadlock condition with MyISAM tables
Addendum fixes after changing the condition variable
for the global read lock.

The stress test suite revealed some deadlocks. Some were
related to the new condition variable (COND_global_read_lock)
and some were general problems with the global read lock.

It is now necessary to signal COND_global_read_lock whenever 
COND_refresh is signalled.

We need to wait for the release of a global read lock if one 
is set before every operation that requires a write lock.
But we must not wait if we have locked tables by LOCK TABLES.
After setting a global read lock a thread waits until all
write locks are released.
2006-06-26 19:14:35 +02:00
rburnett@bk-internal.mysql.com
3c6a8146be Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-06-26 16:56:28 +02:00
elliot@mysql.com
374495ffd1 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/data0/bk/mysql-5.0-maint
2006-06-26 04:48:16 +02:00