Commit graph

183 commits

Author SHA1 Message Date
gkodinov/kgeorge@magare.gmz
306371a850 bug #27531: 5.1 part of the fix:
- added join cache indication in EXPLAIN (Extra column).
 - prefer filesort over full scan over 
   index for ORDER BY (because it's faster).
 - when switching from REF to RANGE because
   RANGE uses longer key turn off sort on
   the head table only as the resulting 
   RANGE access is a candidate for join cache
   and we don't want to disable it by sorting
   on the first table only.
2007-05-04 18:06:06 +03:00
istruewing@chilla.local
3f0bfd831a Merge chilla.local:/home/mydev/mysql-5.0-axmrg
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-03-28 17:06:09 +02: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
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
gluh@eagle.(none)
975a23ed0f Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-02-26 15:54:43 +04:00
igor@olga.mysql.com
a2d4a042d0 Fixed bug #25971: indexes on text columns were ignored when ref accesses
were evaluated.
According to the new rules for string comparison partial indexes on text
columns can be used in the same cases when partial indexes on varchar
columns can be used.
2007-02-14 22:06:41 -08: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@april.(none)
3efc296508 Merge mysql.com:/home/svoj/devel/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
2007-01-25 01:44:30 +04: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
istruewing@chilla.local
0dc064536f Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug24607
2007-01-24 15:52:19 +01:00
istruewing@chilla.local
b9b3120580 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug24607
2007-01-24 15:47:04 +01:00
istruewing@chilla.local
e74331b3f7 After merge fix 2007-01-24 15:45:41 +01:00
istruewing@chilla.local
1417840cb9 Merge chilla.local:/home/mydev/mysql-5.0-bug24607
into  chilla.local:/home/mydev/mysql-5.1-bug24607
2007-01-24 13:32:36 +01:00
istruewing@chilla.local
23debf8662 Bug#24607 - MyISAM pointer size determined incorrectly
After merge fix
2007-01-24 13:29:46 +01:00
istruewing@chilla.local
050ddb2032 Merge chilla.local:/home/mydev/mysql-4.1-bug24607
into  chilla.local:/home/mydev/mysql-5.0-bug24607
2007-01-24 13:26:06 +01:00
istruewing@chilla.local
928d672c46 Bug#24607 - MyISAM pointer size determined incorrectly
Fixed test. On 32-bit machines which compile without
-DBIG_TABLES, MAX_ROWS is truncated to a 32-bit value.
Using a value below 4G is portable.
2007-01-24 13:17:01 +01:00
svoj@june.mysql.com
a6de0419d4 Merge mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.1-engines
2007-01-24 11:56:18 +04:00
svoj@mysql.com/june.mysql.com
0e5aa80e8a After merge fix. 2007-01-24 11:53:09 +04:00
istruewing@chilla.local
26153490ec Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug24607
2007-01-23 22:27:03 +01:00
istruewing@chilla.local
2a0ca5df8c Merge chilla.local:/home/mydev/mysql-5.0-bug24607
into  chilla.local:/home/mydev/mysql-5.1-bug24607
2007-01-19 13:08:09 +01:00
istruewing@chilla.local
8b77bd979d After merge fix 2007-01-19 13:06:22 +01: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
msvensson@pilot.mysql.com
543bc0165f Bug#21122 SHOW CREATE TABLE: directory output only sometimes
Bug #25000  	myisam.test fails on 'pb-valgrind-*' Valgrind
 - Move tests that need symlink to symlink.test
2007-01-17 12:22:00 +01:00
msvensson@pilot.mysql.com
248c768230 Cset exclude: msvensson@pilot.mysql.com|ChangeSet|20070117102733|42618 2007-01-17 12:12:24 +01:00
msvensson@pilot.mysql.com
55ed38e533 Cset exclude: msvensson@neptunus.(none)|ChangeSet|20060825084614|09755 2007-01-17 11:27:33 +01:00
cmiller@zippy.cornsilk.net
a16eaf3301 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint-greener
2007-01-07 09:31:49 -05: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
svoj@june.mysql.com
9d106f7a10 Merge mysql.com:/home/svoj/devel/mysql/BUG21310/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21310/mysql-5.1-engines
2006-12-29 17:33:34 +04:00
svoj@mysql.com/april.(none)
32c7187952 Merge mysql.com:/home/svoj/devel/mysql/BUG21310/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21310/mysql-5.0-engines
2006-12-20 20:01:31 +04:00
svoj@mysql.com/april.(none)
5ad9035605 BUG#21310 - Trees in SQL causing a "crashed" table with MyISAM storage engine
An update that used a join of a table to itself and modified the
table on one side of the join reported the table as crashed or
updated wrong rows.

Fixed by creating temporary table for self-joined multi update statement.
2006-12-20 19:05:35 +04:00
tsmith/tim@siva.hindu.god
9788de036b Merge siva.hindu.god:/usr/home/tim/m/bk/50
into  siva.hindu.god:/usr/home/tim/m/bk/51
2006-12-14 17:03:44 -07:00
tsmith/tim@siva.hindu.god
9cbe0621b8 Merge siva.hindu.god:/usr/home/tim/m/bk/41
into  siva.hindu.god:/usr/home/tim/m/bk/50
2006-12-14 16:51:12 -07:00
tsmith/tim@siva.hindu.god
8e5be1ad97 myisam.result: a test was moved from the .test file, but the results were not updated. 2006-12-14 16:23:54 -07:00
tsmith/tim@siva.hindu.god
6b5bd643a4 Merge siva.hindu.god:/usr/home/tim/m/bk/50
into  siva.hindu.god:/usr/home/tim/m/bk/51
2006-12-14 13:02:12 -07:00
tsmith/tim@siva.hindu.god
8fbfaeb51f Merge siva.hindu.god:/usr/home/tim/m/bk/41
into  siva.hindu.god:/usr/home/tim/m/bk/50
2006-12-14 13:01:08 -07:00
thek@kpdesk.mysql.com
070ff2ac72 Merge kpdesk.mysql.com:/home/thek/dev/bug17489/my50-bug17498
into  kpdesk.mysql.com:/home/thek/dev/bug17489/my51-bug17498
2006-12-14 13:53:13 +01:00
thek@kpdesk.mysql.com
7e60087441 Bug#17498 failed to put data file in custom directory use "data directory" option
Merged 4.1->5.0. Updated myisam.test
2006-12-14 13:45:17 +01:00
istruewing@chilla.local
1264d85341 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-merge
2006-10-27 15:07:45 +02:00
istruewing@chilla.local
931f7dbc89 Bug#22119 - Changing MI_KEY_BLOCK_LENGTH makes a wrong myisamchk
Added the promised test case.
2006-10-25 17:23:32 +02:00
gkodinov@dl145s.mysql.com
bb0422a0b0 Merge bk-internal:/home/bk/mysql-5.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
2006-10-20 11:12:35 +02:00
gkodinov@dl145s.mysql.com
a93cc1b70b Merge bk-internal:/home/bk/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-10-20 11:02:56 +02:00
gkodinov@dl145s.mysql.com
aaed398254 Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
2006-10-19 16:43:46 +02:00
istruewing@chilla.local
b15a23a79e Merge chilla.local:/home/mydev/mysql-5.0-bug8283
into  chilla.local:/home/mydev/mysql-5.1-bug8283
2006-10-09 22:24:55 +02:00
istruewing@chilla.local
014c1c885e Bug#8283 - OPTIMIZE TABLE causes data loss
After merge fix. MyISAM version 10.
2006-10-09 22:16:22 +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
gkodinov/kgeorge@macbook.local
13633864bb Bug #22781: SQL_BIG_RESULT fails to influence sort plan
Currently SQL_BIG_RESULT is checked only at compile time.
 However, additional optimizations may take place after
 this check that change the sort method from 'filesort'
 to sorting via index. As a result the actual plan
 executed is not the one specified by the SQL_BIG_RESULT
 hint. Similarly, there is no such test when executing
 EXPLAIN, resulting in incorrect output.
 The patch corrects the problem by testing for
 SQL_BIG_RESULT both during the explain and execution
 phases.
2006-10-09 19:51:41 +04:00
svoj@may.pils.ru
43097593e3 Merge may.pils.ru:/home/svoj/devel/mysql/merge/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/merge/mysql-4.1-engines
2006-09-18 20:35:33 +05: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