Commit graph

1121 commits

Author SHA1 Message Date
msvensson@neptunus.(none)
7c935a9964 Bug#10608 mysqladmin breaks on "database" variable in my.cnf
- Add printout of "Warning" or "Note" for non error messages in default_reporter
 - Add test for the above in new mysqladmin.test
2006-11-10 13:25:10 +01:00
cmiller@zippy.cornsilk.net
e235c8c421 Fix merge collision. 2006-11-02 18:27:52 -05:00
cmiller@zippy.cornsilk.net
c34f3219b3 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
2006-11-02 17:27:42 -05:00
thek@kpdesk.mysql.com
3f16931527 Bug#22828 complementary patch:
- 'false' not defined in C, use FALSE instead.
2006-11-02 13:33:26 +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
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
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
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
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
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 #4053: 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 #4053: 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
holyfoot/hf@mysql.com/deer.(none)
c32f62bebb bug #12620 (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
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
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
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
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 #19694)
2006-06-30 02:25:35 +03:00
msvensson@neptunus.(none)
22ff4c2865 Bug#15328 Segmentation fault occured if my.cnf is invalid for escape sequence
- Check that length of value is longer than 1 before decrementing length by 2.
 - Backport from 5.0, make it possible to use my_print_defaults in tests
2006-05-11 14:13:14 +02:00
igor@rurik.mysql.com
950214abfc Fixed bug #19079.
The bug caused a reported index corruption in the cases when
key_cache_block_size was not a multiple of myisam_block_size,
e.g. when key_cache_block_size=1536 while myisam_block_size=1024.
2006-04-18 20:57:31 -07:00
ingo@mysql.com
c5a638cee0 Merge mysql.com:/home/mydev/mysql-4.1
into  mysql.com:/home/mydev/mysql-4.1-bug11527
2006-03-04 14:06:52 +01:00
ingo@mysql.com
718ae78972 Bug#11527 - Setting myisam_repair_threads to >1 leads to corruption
A wrong cast led to numeric overflow for data files
greater than 4GB. The parallel repair assumed end of
file after reading the amount of data that the file
was bigger than 4GB. It truncated the data file and
noted the number of records it found so far in the
index file header as the number of rows in the table.
Removing the cast fixed the problem.
I added some cosmetic changes too.

The normal repair worked because it uses a different
function to read from the data file.
2006-02-16 19:45:57 +01:00
SergeyV@selena.
b0136378cf Merge svlasenko@bk-internal.mysql.com:/home/bk/mysql-4.1
into  selena.:H:/MYSQL/src/#06536-mysql-4.1
2006-02-13 17:29:35 +03:00
konstantin@mysql.com
9105d06dd6 A fix for Bug#13944 "libmysqlclient exporting sha1_result function":
rename sha1_* to mysql_sha1_*
2006-01-11 17:31:52 +03:00
konstantin@mysql.com
f7d6fa6f17 A fix for Bug#7209 "Client error with "Access Denied" on updates
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.
2006-01-04 17:35:30 +03:00
SergeyV@selena.
885abbf3fb Fixes bug #6536. When MyODBC or any other client do my_init()/my_end()
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.
2005-12-01 23:17:00 +03:00
jimw@mysql.com
a01cd74647 Merge mysql.com:/home/jimw/my/mysql-4.1-12925
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-10-25 10:11:47 -07:00
jimw@mysql.com
e8eed35c6a Fix incorrect casts in my_getopt code that capped the maximum of longlong
options to the wrong value. (Bug #12925)
2005-10-25 10:10:53 -07:00
monty@mysql.com
3e653fb922 Added more tests for new UPDATE ... ORDER BY ... LIMIT optimization 2005-10-25 02:27:40 +03:00
sergefp@mysql.com
ea3ea9ed10 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-nulls-stats-r2
2005-10-23 02:49:57 +04:00
sergefp@mysql.com
e3f623d6e8 BUG#9622: post-review-fixes: better comments 2005-10-23 02:46:10 +04:00
sergefp@mysql.com
15a78334c3 BUG#9622, stage 2, work together with fix for BUG#12232:
added "nulls_ignored" index statistics collection method for MyISAM tables.
(notification trigger: this is about BUG#9622).
2005-10-21 06:29:17 +04:00
bar@mysql.com
af3d8bd4ad charset.c:
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)
2005-10-20 10:30:51 +05:00
aivanov@mysql.com
2a7c88c50d Merge mysql.com:/home/alexi/mysql-4.1
into  mysql.com:/home/alexi/dev/mysql-4.1-4375
2005-10-19 21:07:08 +04:00
aivanov@mysql.com
e203a42dfc Fix for BUG#4375: Windows specific directories are copied
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).
2005-10-19 18:01:23 +04:00
jimw@mysql.com
c8a6c2c614 Fix wait_timeout (and kill) handling on Mac OS X by cleaning up how
signal handlers are set up, the blocking flags for sockets are set,
and which thread-related functions are used. (Bug #8731)
2005-10-11 09:12:12 -07:00
msvensson@neptunus.(none)
1105d4293d Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/fix_mysqltest/my41-fix_mysqltest
2005-09-27 16:48:41 +02:00
msvensson@neptunus.(none)
00bcf8cd8e Bug #7037 Test "mysql_protocols" fails on Solaris 8 + 9 /x86 2005-09-23 14:07:31 +02:00
msvensson@neptunus.(none)
7ba13b16bd BUG#7037 MySQL Bugs: #7037: Test "mysql_protocols" fails on Solaris 8 + 9 /x86 2005-09-23 09:47:41 +02:00
SergeyV@selena.
c2f734ce42 Merge svlasenko@bk-internal.mysql.com:/home/bk/mysql-4.1
into  selena.:H:/MYSQL/src/#12929-mysql-4.1
2005-09-20 20:11:38 +04:00
SergeyV@selena.
988c8e92d8 Small update for lock functions used in my_cgets() 2005-09-20 20:03:51 +04:00
SergeyV@selena.
2e9e0b33c5 Fixes bug #12929. Uses my_cgets instead of _cgets function, thus eliminating
a restriction to 255 chars for editable buffer.
2005-09-16 01:56:16 +04:00
ingo@mysql.com
6e725adc00 Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
2005-09-14 13:18:16 +02:00
ingo@mysql.com
7314307762 Bug#12920 - key_read_requests counter appears to re-set
Enlarged the counter variables to ulonglong.
2005-09-14 09:56:49 +02:00
jimw@mysql.com
00b17c1c17 Fix handling of filenames that start the same as reserved filenames
on Windows. (Bug #12325)
2005-08-31 18:32:15 -07:00
monty@mishka.local
0c5ca9be62 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mishka.local:/home/my/mysql-4.1
2005-08-25 09:39:09 +03:00
monty@mishka.local
6773d24704 Remove function that was accidently added back 2005-08-25 09:03:41 +03:00
serg@sergbook.mysql.com
714b27c71c merged 2005-08-25 00:08:02 +04:00