Commit graph

1273 commits

Author SHA1 Message Date
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
svoj@june.mysql.com
0539080296 Merge mysql.com:/home/svoj/devel/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29299/mysql-5.0-engines
2007-07-02 12:31:34 +05:00
svoj@mysql.com/june.mysql.com
ff9aeb560c BUG#29299 - repeatable myisam fulltext index corruption
Fulltext index may get corrupt by certain gbk characters.

The problem was that when skipping leading non-true-word-characters,
we assumed that these characters are always 1 byte long. This is not
the case with gbk character set, since non-true-word-characters may
be 2 bytes long.

Affects 5.0 only.
2007-06-27 18:10:19 +05:00
gkodinov/kgeorge@magare.gmz
0b421fad4a Bug #26642: create index corrupts table definition in .frm
Thanks to Martin Friebe for finding and submitting a fix for this bug!
  
  A table with maximum number of key segments and maximum length key name
  would have a corrupted .frm file, due to an incorrect calculation of the
  complete key length.  Now the key length is computed correctly (I hope) :-)
  
  MyISAM would reject a table with the maximum number of keys and the maximum
  number of key segments in all keys.  It would allow one less than this total
  maximum.  Now MyISAM accepts a table defined with the maximum.  (This is a
  very minor issue.)
2007-06-27 14:35:49 +03:00
igor@olga.mysql.com
6a4b2343db Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug29087
2007-06-26 16:37:02 -07:00
igor@olga.mysql.com
6f98ec66b6 Fixed bug #29087. This bug manifested itself for queries that performed
a lookup into a BINARY index by a key ended with spaces. It caused
an assertion abort for a debug version and wrong results for non-debug
versions.

The problem occurred because the function _mi_pack_key stripped off 
the trailing spaces from binary search keys while the function _mi_make_key
did not do it when keys were inserted into the index.

Now the function _mi_pack_key does not remove the trailing spaces from
search keys if they are of the binary type.
2007-06-25 22:44:22 -07:00
iggy@amd64.(none)
1378e94aa0 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  amd64.(none):/src/bug27029/my50-bug27029
2007-06-21 12:52:20 -04:00
iggy@amd64.(none)
39416f50a5 Bug#27029 alter table ... enable keys crashes mysqld on large table
- When creating an index for the sort, the number of rows plus 1 is used 
to allocate a buffer.  In this test case, the number of rows 4294967295 
is the max value of an unsigned integer, so when 1 was added to it, a 
buffer of size 0 was allocated causing the crash.
- Create new test suite for this bug's test suite as per QA.
2007-06-21 12:45:56 -04:00
svoj@mysql.com/june.mysql.com
122167bb4b Merge mysql.com:/home/svoj/devel/bk/mysql-5.0
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2007-05-23 12:39:33 +05:00
dkatz@damien-katzs-computer.local
41dac22271 Bug #27119 server crash with integer division by zero during filesort on huge result
Added checks to detect integer overflow and fixed other bugs on the error path.
2007-05-16 16:14:13 -04:00
svoj@mysql.com/april.(none)
bf473b1069 Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines
2007-05-17 00:40:26 +05:00
svoj@mysql.com/april.(none)
3ea2ee357b BUG#25712 - insert delayed and check table run together report crashed
tables

In case system doesn't have native pread/pwrite calls (e.g. Windows)
and there is CHECK TABLE runs concurrently with another statement that
reads from a table, the table may be reported as crashed.

This is fixed by locking file descriptor when my_seek is executed on
MyISAM index file and emulated pread/pwrite may be executed concurrently.

Affects MyISAM tables on platforms that do not have native
pread/pwrite calls (e.g. Windows).

No deterministic test case for this bug.
2007-05-16 23:42:32 +05:00
cmiller@zippy.cornsilk.net
5f895fef79 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my41-bug27976
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my50-bug27976
2007-05-04 19:04:09 -04:00
cmiller@zippy.cornsilk.net
b6502ddb19 Bug #27976: Misleading error message, 'Sort buffer to small'
The message is gramatically wrong, and factually wrong.

Change it to refer to the myisam_sort_buffer_size variable and change
"to" to "too".
2007-05-04 17:38:29 -04:00
svoj@mysql.com/april.(none)
ce55046fbd Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2007-04-27 00:56:50 +05:00
iggy@recycle.(none)
7a358c4b5c Bug#24732 Executables do not include Vista manifests
- Added script to generate application specific manifest.
- Added new CMake MACRO to add customer build events which will first
generate a manifest and then embeds that manifest into an executable.
2007-04-23 15:41:24 -04:00
svoj@mysql.com/june.mysql.com
4653cc495b Merge mysql.com:/home/svoj/devel/mysql/warn/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/warn/mysql-5.0-engines
2007-04-19 11:56:06 +05:00
svoj@mysql.com/june.mysql.com
d55cddad93 Fixed a warning on win64. 2007-04-19 11:53:25 +05:00
svoj@mysql.com/june.mysql.com
2d64de7d7e Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.0-engines
2007-04-18 16:22:23 +05:00
svoj@mysql.com/june.mysql.com
ed81a81a9e BUG#27516 - divide by zero crash during optimize table
When a table status is requested by statement like SHOW TABLE
STATUS and there is another statement (e.g. DELETE) sets
number of records to 0 concurrently, we may get division by
zero error, which crashes a server.

This is fixed by using thread local variable x->records instead
of shared info->state->records when we check if it is zero and
divide by it.
2007-04-13 12:38:27 +05:00
svoj@mysql.com/april.(none)
bcbcacb8da BUG#24342 - Incorrect results with query over MERGE table
MERGE engine may return incorrect values when several representations
of equal keys are present in the index. For example "groß" and "gross"
or "gross" and "gross " (trailing space), which are considered equal,
but have different lengths.

The problem was that key length was not recalculated after key lookup.

Only MERGE engine is affected.
2007-04-11 01:40:35 +05:00
istruewing@chilla.local
a2d7a05f88 Merge chilla.local:/home/mydev/mysql-4.1-axmrg
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-03-28 10:25:51 +02:00
istruewing@chilla.local
2ce22c3f6f Merge chilla.local:/home/mydev/mysql-4.1-bug26231
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-03-28 08:57:46 +02:00
istruewing@chilla.local
c33486ff1b Bug#26231 - select count(*) on myisam table returns wrong value
when index is used

When the table contained TEXT columns with empty contents
('', zero length, but not NULL) _and_ strings starting with
control characters like tabulator or newline, the empty values
were not found in a "records in range" estimate. Hence count(*)
missed these records.

The reason was a different set of search flags used for key
insert and key range estimation.

I decided to fix the set of flags used in range estimation.
Otherwise millions of databases around the world would require
a repair after an upgrade.

The consequence is that the manual must be fixed, which claims
that TEXT columns are compared with "end space padding". This
is true for CHAR/VARCHAR but wrong for TEXT. See also bug 21335.
2007-03-16 10:28:48 +01:00
svoj@mysql.com/april.(none)
d7311aab77 Removed tabs. 2007-03-14 02:30:05 +04:00
svoj@mysql.com/april.(none)
de21b9b8ef Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
2007-03-13 18:11:47 +04:00
svoj@mysql.com/april.(none)
cb132bea8f BUG#26881 - Large MERGE tables report incorrect specification when no
differences in tables
Certain merge tables were wrongly reported as having incorrect definition:
- Some fields that are 1 byte long (e.g. TINYINT, CHAR(1)), might
  be internally casted (in certain cases) to a different type on a
  storage engine layer. (affects 4.1 and up)
- If tables in a merge (and a MERGE table itself) had short VARCHAR column (less
  than 4 bytes) and at least one (but not all) tables were ALTER'ed (even to an
  identical table: ALTER TABLE xxx ENGINE=yyy), table definitions went ouf of
  sync. (affects 4.1 only)

This is fixed by relaxing a check for underlying conformance and setting
field type to FIELD_TYPE_STRING in case varchar is shorter than 4
when a table is created.
2007-03-13 18:02:06 +04:00
svoj@mysql.com/april.(none)
11384fece2 Merge mysql.com:/home/svoj/devel/bk/mysql-5.0
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
2007-03-13 16:58:52 +04:00
istruewing@chilla.local
0c77069ca6 Merge chilla.local:/home/mydev/mysql-4.1-bug25673
into  chilla.local:/home/mydev/mysql-5.0-bug25673
2007-03-09 16:40:30 +01:00
istruewing@chilla.local
af17853d5e Bug#25673 - spatial index corruption, error 126 incorrect key file for table
Fixed a compiler warning, deteced by pushbuild only.
2007-03-09 16:19:42 +01:00
istruewing@chilla.local
c029dbecf7 Merge chilla.local:/home/mydev/mysql-4.1-bug25673
into  chilla.local:/home/mydev/mysql-5.0-bug25673
2007-03-08 19:23:36 +01:00
istruewing@chilla.local
90f23116e2 Bug#25673 - spatial index corruption, error 126 incorrect key file for table
After backport fix.
Added forgotten DBUG_RETURNs, which was detected in 5.1 only.
2007-03-08 19:22:43 +01:00
istruewing@chilla.local
760714758e Merge chilla.local:/home/mydev/mysql-4.1-bug25673
into  chilla.local:/home/mydev/mysql-5.0-bug25673
2007-03-08 10:10:17 +01:00
istruewing@chilla.local
2d6ad76abd Bug#25673 - spatial index corruption, error 126
incorrect key file for table

In certain cases it could happen that deleting a row could
corrupt an RTREE index.

According to Guttman's algorithm, page underflow is handled
by storing the page in a list for later re-insertion. The
keys from the stored pages have to be inserted into the
remaining pages of the same level of the tree. Hence the
level number is stored in the re-insertion list together
with the page.

In the MySQL RTree implementation the level counts from zero
at the root page, increasing numbers for levels down the tree.

If during re-insertion of the keys the tree height grows, all
level numbers become invalid. The remaining keys will be
inserted at the wrong level.

The fix is to increment the level numbers stored in the
reinsert list after a split of the root block during reinsertion.
2007-03-08 09:54:37 +01:00
monty@mysql.com/narttu.mysql.fi
e5cc397f33 Fixed compiler warnings (for linux and win32 and win64)
Fixed a couple of usage of not initialized warnings (unlikely cases)
2007-02-22 16:59:57 +02:00
monty@mysql.com/narttu.mysql.fi
26aa385bc5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2007-02-21 14:07:08 +02:00
istruewing@chilla.local
79e099e8a6 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-01-29 17:20:18 +01:00
svoj@mysql.com/april.(none)
ea7fe60fbc Merge mysql.com:/home/svoj/devel/bk/mysql-5.0
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2007-01-25 01:26:57 +04:00
svoj@mysql.com/june.mysql.com
94d834c7b6 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.0-engines
2007-01-24 11:40:45 +04:00
svoj@mysql.com/june.mysql.com
02212e6ace Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-4.1-engines
2007-01-24 11:38:23 +04:00
svoj@mysql.com/june.mysql.com
fb2172d20b Merge mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.0-engines
2007-01-23 16:35:17 +04:00
svoj@mysql.com/june.mysql.com
afaebb6d62 BUG#24401 - MySQL server crashes if you try to retrieve data from
corrupted table

Accessing a table with corrupted column definition results in server
crash.

This is fixed by refusing to open such tables. Affects MyISAM only.
No test case, since it requires crashed table.
2007-01-22 16:34:58 +04:00
monty@mysql.com/narttu.mysql.fi
a04157fbb3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2007-01-22 14:04:40 +02:00
istruewing@chilla.local
4c57e823bd Merge chilla.local:/home/mydev/mysql-4.1-bug24607
into  chilla.local:/home/mydev/mysql-5.0-bug24607
2007-01-18 11:35:54 +01:00
istruewing@chilla.local
568106c297 Merge chilla.local:/home/mydev/mysql-4.1--team
into  chilla.local:/home/mydev/mysql-4.1-bug24607
2007-01-17 14:52:36 +01:00
msvensson@pilot.mysql.com
3b8695911c Merge pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
2007-01-17 12:14:34 +01:00
msvensson@pilot.mysql.com
29be5ce836 Bug#25505 Myisam library compiler error on Windows 2007-01-17 11:51:52 +01:00
svoj@mysql.com/june.mysql.com
ba6537ea8b Merge mysql.com:/home/svoj/devel/mysql/BUG24855/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24855/mysql-5.0-engines
2007-01-17 12:59:54 +04:00
svoj@mysql.com/june.mysql.com
c606e30f35 BUG#24855 - Crash mysqld 4.1.21 with corrupted tables
Accessing fixed record format table with crashed key definition results
in server/myisamchk segmentation fault.

This is fixed by refusing to open such tables. Affects MyISAM only.
No test case, since it requires crashed table.
2007-01-16 18:05:37 +04:00
istruewing@chilla.local
a66da6203d Bug#24607 - MyISAM pointer size determined incorrectly
The function mi_get_pointer_length() computed too small
pointer size for very large tables.

Inserted missing 'else' between the branches for very
large tables.
2007-01-05 10:26:51 +01:00