Commit graph

1323 commits

Author SHA1 Message Date
gluh@eagle.(none)
e039595029 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-12-13 14:52:49 +04:00
tsmith@ramayana.hindu.god
10cab933b2 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-12-04 20:58:21 -07:00
istruewing@stella.local
6c39d13209 BUG#31277 - myisamchk --unpack corrupts a table
Another try to fix a compiler warning on win64.
2007-11-26 14:48:49 +01:00
holyfoot/hf@hfmain.(none)
d6e94bc994 Merge mysql.com:/home/hf/work/30284/my41-30284
into  mysql.com:/home/hf/work/30284/my50-30284
2007-11-24 14:47:32 +04:00
istruewing@stella.local
1d2a0d1d6e BUG#31277 - myisamchk --unpack corrupts a table
Fixed a compiler warning on win64. Backport from 5.1.
2007-11-23 12:52:29 +01:00
holyfoot/hf@mysql.com/hfmain.(none)
140dd4f322 Bug #30284 spatial key corruption.
SPATIAL key is fine actually, but the chk_key() function
mistakenly returns error. It tries to compare checksums
of btree and SPATIAL keys while the checksum for the SPATIAL isn't
calculated (always 0). Same thing with FULLTEXT keys is handled
using full_text_keys counter, so fixed by counting both
SPATIAL and FULLTEXT keys in that counter.
2007-11-19 11:03:03 +04:00
istruewing@stella.local
a0aad59f03 Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-16 13:27:23 +01:00
istruewing@stella.local
398caa9ad8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  stella.local:/home2/mydev/mysql-5.0-bug4692
2007-11-14 14:42:11 +01:00
gluh@eagle.(none)
246c6c35a9 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-11-14 17:26:22 +04:00
gluh@mysql.com/eagle.(none)
ea3bfdb26d Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2007-11-14 17:22:03 +04:00
istruewing@stella.local
43a5312157 Bug#4692 - DISABLE/ENABLE KEYS waste a space
Post-pushbuild fix

Added a purecov comment and a test for coverage of parallel
enable keys.
2007-11-14 12:02:20 +01:00
svoj@june.mysql.com
b4ad73d079 Merge mysql.com:/home/svoj/devel/mysql/BUG31277/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG31277/mysql-5.0-engines
2007-11-14 14:38:26 +04:00
svoj@mysql.com/june.mysql.com
7f9298b919 Merge mysql.com:/home/svoj/devel/mysql/BUG29083/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG31277/mysql-4.1-engines
2007-11-14 14:29:49 +04:00
holyfoot/hf@hfmain.(none)
83a2781894 Merge mysql.com:/home/hf/work/31305/my41-31305
into  mysql.com:/home/hf/work/31305/my50-31305
2007-11-12 13:06:27 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
91e2f91897 Bug #31305 myisam tables crash when they are near capacity.
When we insert a record into MYISAM table which is almost 'full',
we first write record data in the free space inside a file, and then
check if we have enough space after the end of the file.
So if we don't have the space, table will left corrupted.
Similar error also happens when we updata MYISAM tables.

Fixed by modifying write_dynamic_record and update_dynamic_record functions
to check for free space before writing parts of a record
2007-11-12 13:00:22 +04:00
svoj@mysql.com/june.mysql.com
7bd370fe87 BUG#31277 - myisamchk --unpack corrupts a table
With certain data sets (when compressed record length gets bigger than
uncompressed) myisamchk --unpack may corrupt data file.

Fixed that record length was wrongly restored from compressed table.
2007-11-07 12:55:28 +04:00
istruewing@stella.local
fbe3e32b58 Merge stella.local:/home2/mydev/mysql-5.0-ateam
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-06 13:55:42 +01:00
istruewing@stella.local
30b409bd6f Bug#4692 - DISABLE/ENABLE KEYS waste a space
Disabling and enabling indexes on a non-empty table grows the
index file.

Disabling indexes just sets a flag per non-unique index and does not
free the index blocks of the affected indexes. Re-enabling indexes
creates new indexes with new blocks. The old blocks remain unused
in the index file.

Fixed by dropping and re-creating all indexes if non-empty disabled
indexes exist when enabling indexes. Dropping all indexes resets
the internal end-of-file marker to the end of the index file header.
It also clears the root block pointers of every index and clears the
deleted blocks chains. This way all blocks are declared as free.
2007-11-06 13:41:32 +01:00
svoj@june.mysql.com
1cce1a0be1 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG31950/mysql-5.0-engines
2007-11-06 11:54:56 +04:00
istruewing@stella.local
377f187066 Merge stella.local:/home2/mydev/mysql-4.1-ateam
into  stella.local:/home2/mydev/mysql-4.1-axmrg
2007-11-02 14:48:36 +01:00
svoj@mysql.com/june.mysql.com
f8c2f9d195 BUG#31950 - repair table hangs while processing multicolumn utf8
fulltext index

Having a table with broken multibyte characters may cause fulltext
parser dead-loop.

Since normally it is not possible to insert broken multibyte sequence
into a table, this problem may arise only if table is damaged.

Affected statements are:
- CHECK/REPAIR against damaged table with fulltext index;
- boolean mode phrase search against damaged table with or
  without fulltext inex;
- boolean mode searches without index;
- nlq searches.

No test case for this fix. Affects 5.0 only.
2007-11-01 16:27:01 +04:00
svoj@mysql.com/june.mysql.com
cbd3dfbbcb BUG#11392 - fulltext search bug
Fulltext boolean mode phrase search may crash server on platforms
where size of pointer is not equal to size of unsigned integer
(in other words some 64-bit platforms).

The problem was integer overflow.

Affects 4.1 only.
2007-10-30 14:46:43 +04:00
gluh@eagle.(none)
237383f0fe Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-10-23 18:51:43 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
9f323e1a3a type conversions fixed to avoid warnings on Windows 2007-10-23 14:27:11 +05:00
gluh@mysql.com/eagle.(none)
29ea825e57 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2007-10-23 14:06:56 +05:00
kaa@polly.(none)
3af902ec47 Merge polly.(none):/home/kaa/src/maint/bug31207/my50-bug31174
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-10-18 13:47:35 +04:00
kaa@polly.(none)
6d1f3e8de5 Fix for bug #31207: Test "join_nested" shows different strategy on IA64
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.
2007-10-17 20:08:58 +04:00
kaa@polly.(none)
5cb0d70646 Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-10-16 19:20:00 +04:00
kaa@polly.(none)
f80541e370 Fix for bug #31174: "Repair" command on MyISAM crashes with small
myisam_sort_buffer_size.

An incorrect length of the sort buffer was used when calculating the
maximum number of keys. When myisam_sort_buffer_size is small enough,
this could result in the number of keys < number of
BUFFPEK structures which in turn led to use of uninitialized BUFFPEKs.

Fixed by correcting the buffer length calculation.
2007-10-11 14:28:12 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
b95dd64d50 Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/30286/my41-30286
2007-10-05 15:48:42 +05:00
holyfoot/hf@hfmain.(none)
36ecbf5ff8 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/30286/my50-30286
2007-10-05 15:47:55 +05:00
holyfoot/hf@hfmain.(none)
0b79b24f03 Merge mysql.com:/home/hf/work/30286/my41-30286
into  mysql.com:/home/hf/work/30286/my50-30286
2007-10-05 15:41:56 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
54b0cf97b3 Bug #30286 spatial index cause corruption and server crash!
As the result of DOUBLE claculations can be bigger
than DBL_MAX constant we use in code, we shouldn't use this constatn
as a biggest possible value.
Particularly the rtree_pick_key function set 'min_area= DBL_MAX' relying
that any rtree_area_increase result will be less so we return valid
key. Though in rtree_area_increase function we calculate the area
of the rectangle, so the result can be 'inf' if the rectangle is
huge enough, which is bigger than DBL_MAX.

Code of the rtree_pick_key modified so we always return a valid key.
2007-10-05 15:40:32 +05:00
istruewing@synthia.local
f0c883f3fb Merge synthia.local:/home/mydev/mysql-5.0-amain
into  synthia.local:/home/mydev/mysql-5.0-axmrg
2007-08-13 20:45:36 +02:00
istruewing@synthia.local
45647d3bd9 Merge synthia.local:/home/mydev/mysql-4.1-amain
into  synthia.local:/home/mydev/mysql-4.1-axmrg
2007-08-13 19:22:35 +02:00
kent@mysql.com/kent-amd64.(none)
a6d082f36d CMakeLists.txt, README, configure.js
Several adjustments to make client libraries pass the link test
  on both win32 and winx64, Visual Studio 2003 and 2005 (bug#30118)
2007-08-03 21:51:37 +02:00
jperkin@production.mysql.com
0a7599a71e Merge production.mysql.com:/usersnfs/jperkin/bk/trees/build/mysql-4.1
into  production.mysql.com:/usersnfs/jperkin/bk/trees/build/mysql-5.0
2007-08-02 18:57:50 +02:00
jperkin@production.mysql.com
b088c6a3dc myisamchk.c:
Fix typo in usage.
2007-08-02 18:51:11 +02:00
istruewing@chilla.local
209ea105d1 Merge chilla.local:/home/mydev/mysql-4.1-bug29838
into  chilla.local:/home/mydev/mysql-5.0-bug29838
2007-08-01 12:02:18 +02:00
istruewing@chilla.local
e117a36c33 Bug#29838 - myisam corruption using concurrent select ... and update
When using concurrent insert with parallel index reads, it could
happen that reading sessions found keys that pointed to records
yet to be written to the data file. The result was a report of
a corrupted table. But it was false alert.

When inserting a record in a table with indexes, the keys are
inserted into the indexes before the record is written to the data
file. When the insert happens concurrently to selects, an
index read can find a key that references the record that is not
yet written to the data file. To avoid any access to such record,
the select saves the current end of file position when it starts.
Since concurrent inserts are always appended at end of the data
file, the select can easily ignore any concurrently inserted record.

The problem was that the ignore was only done for non-exact key
searches (partial key or using >, >=, < or <=).

The fix is to ignore concurrently inserted records also for
exact key searches.

No test case. Concurrent inserts cannot be tested with the test
suite. Test cases are attached to the bug report.
2007-08-01 11:54:24 +02:00
istruewing@chilla.local
edc859ffe1 Merge chilla.local:/home/mydev/mysql-5.0-ateam
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-07-28 11:45:31 +02:00
istruewing@chilla.local
a5981b9556 Backported mi_test_all.sh from 5.1. 2007-07-28 10:25:50 +02:00
svoj@june.mysql.com
81905ee14f Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.0-engines
2007-07-27 14:36:43 +05:00
svoj@mysql.com/june.mysql.com
9d1bfec265 BUG#29957 - alter_table.test fails
INSERT/DELETE/UPDATE followed by ALTER TABLE within LOCK TABLES
may cause table corruption on Windows.

That happens because ALTER TABLE writes outdated shared state
info into index file.

Fixed by removing obsolete workaround.

Affects MyISAM tables on Windows only.
2007-07-27 14:30:25 +05:00
gkodinov/kgeorge@magare.gmz
1e4d690476 fixed uninitialized variable introduced by the fix for bug 29325 2007-07-11 12:37:47 +03:00
gkodinov/kgeorge@magare.gmz
1f7a28bda1 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29325-5.0-opt
2007-07-11 11:59:46 +03:00
gkodinov/kgeorge@magare.gmz
015e1290a1 Bug #29325:
By default MyISAM overwrites .MYD and .MYI files no 
DATA DIRECTORY option is used. This can lead to two tables
using the same .MYD and .MYI files (that can't be dropped).

To prevent CREATE TABLE from overwriting a file a new option
is introduced : keep_files_on_create
When this is on the CREATE TABLE throws an error if either
the .MYD or .MYI exists for a MyISAM table.
The option is off by default (resulting in compatible behavior).
2007-07-11 10:49:54 +03:00
gkodinov/kgeorge@magare.gmz
ea9825d67b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29070-5.0-opt
2007-07-10 10:40:49 +03:00
gkodinov/kgeorge@magare.gmz
3e9679e1fa Bug #29070: Error in spatial index
1. Threat MBR for a key as double[] and convert it only
when about to store it on disk.
2. Remove the redundant function get_double().
2007-07-09 17:41:24 +03:00
antony@ppcg5.local
2b52524ea5 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines.merge
2007-07-06 09:00:40 -07:00