Commit graph

948 commits

Author SHA1 Message Date
holyfoot/hf@mysql.com/deer.(none)
8eec4bf164 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  mysql.com:/home/hf/work/21888/my41-21888
2006-10-01 19:04:08 +05:00
holyfoot/hf@mysql.com/deer.(none)
8190b7231b bug #21888 (Query on GEOMETRY field crashes the server)
RTree keys are really different from BTree and need specific
paramters to be set by optimizer to work.
Sometimes optimizer doesn't set those properly.
Here we decided just to add code to check that the parameters
are correct. Hope to fix optimizer sometimes.
2006-09-29 17:56:02 +05:00
gkodinov@dl145s.mysql.com
55cc4fd5c6 Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
2006-09-28 10:19:25 +02:00
holyfoot/hf@mysql.com/deer.(none)
14b16d89d9 Merge mysql.com:/home/hf/work/mysql-4.1.12991
into  mysql.com:/home/hf/work/mysql-4.1.15428
2006-09-25 16:35:57 +05:00
istruewing@chilla.local
47dc3fbe8a Merge bk-internal:/home/bk/mysql-4.0
into  chilla.local:/home/mydev/mysql-4.1-bug14400-monty
2006-09-19 10:17:25 +02:00
istruewing@chilla.local
45f7514d03 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug14400
2006-09-15 14:02:43 +02:00
istruewing@chilla.local
d53ac19620 Bug#14400 - Query joins wrong rows from table which is subject of
"concurrent insert"
After merge fix.
2006-09-14 16:55:57 +02:00
istruewing@chilla.local
38886ffa2b Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug14400
2006-09-12 11:40:24 +02:00
istruewing@chilla.local
45ceab9ec5 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400
2006-09-07 16:46:20 +02:00
istruewing@chilla.local
39c0f0a484 Bug#14400 - Query joins wrong rows from table which is subject of
"concurrent insert"
Additional fix for full keys and test case.
2006-09-07 15:39:31 +02:00
holyfoot/hf@mysql.com/deer.(none)
668a57b10a bug #12991 (compile error --without-geometry) 2006-09-06 19:56:19 +05: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
istruewing@chilla.local
7439a52434 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400
2006-08-29 21:08:40 +02:00
istruewing@chilla.local
0b2a9d01ed Bug#14400 - Query joins wrong rows from table which is
subject of "concurrent insert"
Better fix by Monty: "The previous bug fix didn't work
when using partial keys."
2006-08-29 20:45:04 +02:00
svoj@april.(none)
f7c8ed108d Merge april.(none):/home/svoj/devel/bk/mysql-4.1-engines
into  april.(none):/home/svoj/devel/mysql/BUG19702/mysql-4.1
2006-08-22 13:13:28 +05:00
svoj@may.pils.ru
eccd9969c7 BUG#19702 - Using myisampack/myisamchk on a FULLTEXT indexed
table results in table corrupt

Fulltext key has always two keysegs, thus we need to update
FT_SEGS (last) element from seg array in case of compressed table.
Also we must update ft2_keyinfo.
2006-08-17 21:23:00 +05:00
svoj@april.(none)
a55d18e746 Merge april.(none):/home/svoj/devel/bk/mysql-4.1
into  april.(none):/home/svoj/devel/mysql/BUG18874/mysql-4.1
2006-08-14 18:13:50 +05:00
svoj@may.pils.ru
d4bdba176f BUG#18874 - Setting myisam_repair_threads > 1, index cardinality always 1
Fixed by moving update_key_parts() down to be after write_index().
2006-08-14 17:05:02 +05:00
monty@mysql.com/narttu.mysql.fi
7d0b042ec5 Better bug fix for #14400 "Query joins wrong rows from table which is subject of "concurrent insert""
The previous bug fix didn't work when using partial keys.
Don't use GNUC min/max operations are they are depricated.
Fixed valgrind warning
2006-08-10 22:41:19 +03:00
ramil/ram@mysql.com/myoffice.izhnet.ru
50ae5b7989 Fix for bug #20709: Collation not used in group by on 4.1.
myisam/mi_uniue.c:mi_check_unique() should skip trailing spaces comparing 
TEXT and VARTTEXT key segments.
2006-08-10 15:06:22 +05:00
svoj@may.pils.ru
81b70f9798 BUG#20060 - mysqld option "--flush " doesn't work for update statement
Problem described in this bug report affects MyISAM tables only.

Running mysqld --flush instructs mysqld to sync all changes to disk
after each SQL statement. It worked well for INSERT and DELETE
statements, but it did sync for UPDATE only in case if there was
index change (change of colum that has an index). If no updated column
has an index, data wasn't synced to disk.

This fix makes UPDATE statement to sync data to disk even if there is
no index change (that is only data change) and mysqld is run with
--flush option.
2006-08-09 14:28:39 +05:00
ingo/mydev@chilla.local
987abbc253 Merge chilla.local:/home/mydev/mysql-4.1-bug19835
into  chilla.local:/home/mydev/mysql-4.1-amerge
2006-07-08 19:27:16 +02:00
ingo/mydev@chilla.local
d341ca941f Merge chilla.local:/home/mydev/mysql-4.1-bug17877
into  chilla.local:/home/mydev/mysql-4.1-amerge
2006-07-08 19:26:18 +02:00
ingo/mydev@chilla.local
065cdb030a Merge chilla.local:/home/mydev/mysql-4.1-bug14400
into  chilla.local:/home/mydev/mysql-4.1-amerge
2006-07-08 19:25:01 +02:00
ingo/mydev@chilla.local
eaa9350c90 Merge chilla.local:/home/mydev/mysql-4.1-bug11824
into  chilla.local:/home/mydev/mysql-4.1-amerge
2006-07-08 19:23:55 +02:00
acurtis@xiphis.org
86132d5d8f Bug#8706
"temporary table with data directory option fails"
  myisam should not use user-specified table name when creating
  temporary tables and use generated connection specific real name.
  Test included.
2006-07-05 17:18:59 -07:00
ingo@mysql.com
40c103478d Merge mysql.com:/home/mydev/mysql-4.0-bug14400
into  mysql.com:/home/mydev/mysql-4.1-bug14400
2006-07-04 19:10:13 +02:00
ingo@mysql.com
99ad23ec7c Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
It was possible that fetching a record by an exact key value 
(including the record pointer) could return a record with a 
different key value. This happened only if a concurrent insert 
added a record with the searched key value after the fetching 
statement locked the table for read.

The search succeded on the key value, but the record was
rejected as it was past the file length that was remembered
at start of the fetching statement. With other words it was 
rejected as being a concurrently inserted record.

The action to recover from this problem was to fetch the 
record that is pointed at by the next key of the index. 
This was repeated until a record below the file length was 
found.

I do now avoid this loop if an exact match was searched. 
If this match is beyond the file length, it is now treated 
as "key not found". There cannot be another key with the 
same record pointer.
2006-06-28 18:55:30 +02:00
ingo@mysql.com
9dd5bc3843 Bug#19835 - Binary copy of corrupted tables crash the server when issuing a query
A corrupt table with dynamic record format can crash the 
server when trying to select from it.
        
I fixed the crash that resulted from the particular type 
of corruption that has been reported for this bug.

No test case. To test it, one needs a table with a very special
corruption. The bug report contains a file with such a table.
2006-06-28 16:07:39 +02:00
ingo@mysql.com
d8499f2d8f Bug#17877 - Corrupted spatial index
CHECK TABLE could complain about a fully intact spatial index.
A wrong comparison operator was used for table checking. 
The result was that it checked for non-matching spatial keys. 
This succeeded if at least two different keys were present, 
but failed if only the matching key was present.

I fixed the key comparison.
2006-06-28 14:27:37 +02:00
ingo@mysql.com
e67bdaf604 Bug#11824 - internal /tmp/*.{MYD,MYI} files remain, causing subsequent queries to fail
Very complex select statements can create temporary tables
that are too big to be represented as a MyISAM table.

This was not checked at table creation time, but only at
open time. The result was an attempt to delete the 
"impossible" table.

But if the server is built --with-raid, MyISAM tries to 
open the table before deleting the files. It needs to find 
out if the table uses the raid support and how many raid 
chunks there are. This is done with an open "for repair",
which will almost always succeed.

But in this case we have an "impossible" table. The open
failed. Hence the files were not deleted. Also the error
message was a bit unspecific.

I turned an open error in this situation into the assumption 
of having no raid support on the table. Thus the normal data 
file is tried to be deleted. This may however leave existing 
raid chunks behind.

I also added a check in mi_create() to prevent the creation
of an "impossible" table. A more decriptive error message is
given in this case.

No test case. The required select statement is way too
large for the test suite. I added a test script to the
bug report.
2006-06-27 11:26:41 +02:00
ingo@mysql.com
3c317fef53 Merge mysql.com:/home/mydev/mysql-4.0-bug10405
into  mysql.com:/home/mydev/mysql-4.1-bug10405
2006-04-29 19:38:41 +02:00
paul@polar.kitebird.com
3cd7e135d4 myisam_ftdump.c:
myisam_ftdump options: --help first, then rest in
  lexical order.
2006-04-23 19:26:56 -05:00
svoj@april.(none)
7412db5e56 BUG#17917 - SELECT from compressed MyISAM table crashes MySQL server
Retrieving data from compressed MyISAM table which is bigger than 4G on 32-bit box
with mmap() support results in server crash.

mmap() accepts length of bytes to be mapped in second param, which is 32-bit
size_t. But we pass data_file_length, which is 64-bit my_off_t. As a result only
first data_file_length % 4G were mapped.

This fix adds additional condition for mmap() usage, that is use mmap() for
compressed table which size is no more than 4G on 32-bit platform.
2006-04-13 14:37:03 +05:00
ingo@mysql.com
d1e25f9770 Bug#10405 - myisamchk damages auto_increment columns when changing character set
Whenever 'myisamchk' needed to recreate a table,
the auto increment information was lost.

Now the forgotten element of the table creation
information is set correctly.
2006-04-10 13:38:56 +02:00
monty@mysql.com
84e7c9633a Fix error in prefix compression of keys in MyISAM when key length changed from 254 -> 255
Bug #17705 "FT Index corruption occurs with UTF8 data..."
(Actually, the bug had nothing to do with FT index but with general key compression)
2006-03-30 01:50:52 +03:00
ingo@mysql.com
d0c6eb885d Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
For "count(*) while index_column = value" an index read
is done. It consists of an index scan and retrieval of
each key.

For efficiency reasons the index scan stores the key in
the special buffer 'lastkey2' once only. At the first 
iteration it notes this fact with the flag 
HA_STATE_RNEXT_SAME in 'info->update'.

For efficiency reasons, the key retrieval for blobs
does not allocate a new buffer, but uses 'lastkey2'...

Now I clear the HA_STATE_RNEXT_SAME flag whenever the 
buffer has been polluted. In this case, the index scan
copies the key value again (and sets the flag again).
2006-03-10 15:03:04 +01:00
svoj@april.(none)
4dc4502ab3 BUG#16489 - utf8 + fulltext leads to corrupt index file.
Fixed that UPDATE statement crashes multi-byte charset fulltext index.
2006-01-23 17:15:33 +04:00
monty@mysql.com
fd4a040325 Fixes during review of new pushed code:
Remove wrong fix for Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
Safety fix for bug #13855 "select distinct with group by caused server crash"
2006-01-06 21:42:17 +02:00
serg@serg.mylan
297d80dc11 BUG#11336 - fulltext index corruption after repair_by_sort and mi_delete
for uca collation isalnum and strnncollsp don't agree on whether
0xC2A0 is a space (strnncollsp is right, isalnum is wrong).

they still don't, the bug was fixed by avoiding strnncollsp
2005-12-18 13:30:01 +01:00
jani@a193-229-222-105.elisa-laajakaista.fi
d88d8081da Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.0
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
2005-12-04 15:34:47 +02:00
jani@a193-229-222-105.elisa-laajakaista.fi
669a12fdb0 A set of Netware related patches. 2005-12-04 15:02:06 +02:00
serg@serg.mylan
701de9be0a followup for for the bug#5686 2005-11-26 19:36:11 +01:00
svoj@mysql.com
5d8cefe0b4 Fix for BUG#5686 - #1034 - Incorrect key file for table - only utf8 2005-11-12 11:25:14 +04:00
sergefp@mysql.com
41bc233699 Merge mysql.com:/home/psergey/mysql-4.1-bug13814
into mysql.com:/home/psergey/mysql-4.1-nov08-push
2005-11-08 05:36:25 +03:00
monty@mysql.com
19502e8eb5 Review of new pushed code
Removed wrong fix for bug #14009 (use of abs() on null value causes problems with filesort)
Mark that add_time(), time_diff() and str_to_date() can return null values
2005-11-01 13:00:02 +02:00
sergefp@mysql.com
8b9bab2763 Fix for BUG#13814: in mi_pack_key(), when processing NULL value for TINYBLOB key segment,
do advance the source pointer over 2 bytes that specify value length.
2005-10-28 23:31:32 +04:00
jani@ua141d10.elisa.omakaista.fi
3042591a9f Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
2005-10-25 12:12:10 +03:00
jani@ua141d10.elisa.omakaista.fi
45066745cc Changed some dbug print options. 2005-10-25 12:11:31 +03:00
monty@mysql.com
3e653fb922 Added more tests for new UPDATE ... ORDER BY ... LIMIT optimization 2005-10-25 02:27:40 +03:00