Commit graph

58 commits

Author SHA1 Message Date
joerg@trift2.
2ab3d0bfb4 Merge trift2.:/MySQL/M41/clone-4.1
into  trift2.:/MySQL/M41/push-4.1
2006-11-10 15:52:53 +01:00
iggy@rolltop.ignatz42.dyndns.org
1d66d35fb3 Fix compile failure. 2006-11-02 21:03:41 -05:00
kent/mysqldev@suse9-x86.mysql.com
7c2ff3c307 sort.c:
Create block around DBUG_ENTER late in function
2006-11-03 02:35:09 +01: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
svoj@mysql.com/april.(none)
a2e0059f3c BUG#23175 - MYISAM crash/repair failed during repair
Repair table could crash a server if there is not sufficient
memory (myisam_sort_buffer_size) to operate. Affects not only
repair, but also all statements that use create index by sort:
repair by sort, parallel repair, bulk insert.

Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.

Also fixed memory leak if thr_find_all_keys returns an error.
2006-10-18 17:57:29 +05:00
andrey@example.com
a846909e6a Fix a typo regarding checking whether HA_VAR_LENGTH_KEY is
set. This has always worked because when flag is !=0 then
HA_VAR_LENGTH_KEY is always set. Therefore, a test case cannot
reveal a faulty behavior.

Fix for bug#23074: typo in myisam/sort.c
2006-10-11 11:07:25 +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
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
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
svoj@mysql.com
a4d6113d22 After merge fix. 2005-08-02 12:57:26 +05:00
svoj@mysql.com
0f98bf44ef Merge mysql.com:/home/svoj/devel/mysql/BUG11684/mysql-4.0
into  mysql.com:/home/svoj/devel/mysql/BUG11684/mysql-4.1
2005-08-02 12:12:37 +05:00
svoj@mysql.com
19fe33e16c BUG#11684 fix.
Repair crashes mysql when table has fulltext index.
2005-08-02 11:33:26 +05:00
serg@serg.mylan
67ba2e367a fixes/cleanups according to Coverity report 2005-01-24 15:48:25 +01:00
konstantin@mysql.com
2083ecd124 myisam/sort.c:my_var_write and mysys/hash.c:hash_key made static inline,
not simply inline, to fix the linking failure on Sun Solaris 9 (sparc)
with Sun Studio 9, reported by Peter Harvey.
2004-12-16 02:43:35 +03:00
serg@serg.mylan
b60713c033 bug in my_strnncoll_utf8 (and friends) fixed
cleanups
better, charset-dependent, ft_max_len_for_sort value
2004-08-30 08:37:36 +02:00
monty@mysql.com
3ad2158b42 Portability fixes 2004-05-27 12:03:16 +03:00
serg@serg.mylan
3f1d0acbad make a clear distinction between max_word_length in *characters* and in *bytes* 2003-12-04 21:58:28 +01:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
monty@mashka.mysql.fi
e741c893ea Fix to remove compiler warnings 2003-04-28 19:05:57 +03:00
monty@mashka.mysql.fi
dd377bfba6 Fixed problem when comparing a key for a multi-byte-character set. (bug 152)
Use 0x.... as strings if 'new' mode. (bug 152)
Don't report -max on windows when InnoDB is enabled. (bug 332)
Reset current_linfo;  This could cause a hang when doing PURGE LOGS.
Fix for row numbers in EXPLAIN (bug 322)
 Fix that USE_FRM works for all table types (bug 97)
2003-04-27 22:12:08 +03:00
monty@mashka.mysql.fi
3bed7a6131 Merge with 4.0.13 2003-03-26 18:37:38 +02:00
serg@sergbook.mysql.com
6c033b9854 make myisam usable without threads (and even w/o pthread_t) 2003-03-24 11:19:28 +01:00
serg@serg.mysql.com
eced8a1df9 bug in ft2 repair-by-sort fixed (sort_key_cmp() using ft2_keydef for ft keys) 2003-02-18 18:06:28 +01:00
monty@mashka.mysql.fi
25de9c19b2 After merge fixes & remove compiler warnings
Added lengths for all MYSQL_FIELD string parameters
Changed field length to 2 byte in .frm files
2003-02-07 15:47:24 +02:00
serg@serg.mysql.com
0dff67cba2 Two-level index structure for FULLTEXT indexes 2003-01-21 19:24:34 +01:00
monty@mashka.mysql.fi
859b688476 Merge with 4.0.6 2002-12-05 19:38:42 +02:00
monty@mashka.mysql.fi
6603d75213 New multi-table-update code
New (simpler) internal timestamp handling.
More debuging to heap tables.
Small cleanups to multi-table-delete
false -> 0 and true -> 1  (We should use TRUE and FALSE)
2002-11-29 16:40:18 +02:00
wax@mysql.com
ff368e9590 Merge mysql.com:/home/wax/mysql-4n into mysql.com:/home/wax/mysql-4mi 2002-11-28 15:24:55 +05:00
wax@mysql.com
add98cd188 Correct view of sort.c and mi_too_big_key_for_sort() 2002-11-28 15:16:56 +05:00
monty@mashka.mysql.fi
dac6498f9b Merge with 4.0 2002-11-21 15:56:48 +02:00
wax@mysql.com
625b57b556 Move MI_SORT_PARAM and BUFFPEK to myisamdef.h, delete KEY_STORE, change functions
of store keys to temp. file
2002-11-17 05:41:42 +05:00
wax@mysql.com
f19fa1762c add functions for store keys to temporary file with variable length 2002-11-13 03:53:45 +05:00
monty@butch.
a2bdf9265f Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes. 2002-11-07 03:54:00 +02:00
serg@serg.mysql.com
43599856b2 make REPAIR killable 2002-10-22 00:25:36 +00:00
serg@serg.mysql.com
e65536b147 --tmpdir=dir1:dir2:... support in myisamchk 2002-10-08 14:34:04 +00:00
monty@mashka.mysql.fi
c702a1f8fd Removed wrong implementation of CUBE/ROLLUP
Fixed bugfix of INSERT ... SET db_name.table_name.column_name
Changed locking to external-locking
Fix client hangup for some invalid SQL queries.
2002-07-24 19:55:08 +03:00
serg@sergbook.mysql.com
2fe3fec4e4 parallel repair needs rec_buff local for thread !!! 2002-07-14 21:47:46 +02:00
serg@serg.mysql.com
0a1de562a7 merged 2002-06-30 16:14:48 +00:00
serg@serg.mysql.com
53ac59b913 "myisamchk -p" for parallel recover works (no extensive testing though) 2002-06-30 14:17:29 +00:00
monty@hundin.mysql.fi
578a9d9901 Updated windows files (VC++ files and winmysqladmin).
Portability fixes.
Removed compiler warnings.
2002-06-28 17:26:11 +03:00
monty@hundin.mysql.fi
33f84cf8fe Fixed bug in REPAIR table.
Portability fix in safemalloc.c
2002-06-28 15:06:04 +03:00
monty@hundin.mysql.fi
ade20c5b19 Indentation cleanup & new comments 2002-06-28 09:18:23 +03:00
serg@serg.mysql.com
5c83ae3fca multithreaded repair-by-sort code
parallel read access to IO_CACHE
2002-06-19 23:54:45 +00:00
serg@serg.mysql.com
900788b2a1 init_dynamic_array MyODBC compatibility fix 2002-04-28 21:22:37 +00:00
monty@hundin.mysql.fi
30209c1d66 Portability fix.
Fixed linking problem with InnoDB.
2001-11-07 02:30:34 +02:00
monty@work.mysql.com
18474d8419 Merge with 3.23.42 2001-09-13 09:52:35 +02:00
monty@hundin.mysql.fi
7a19987805 OS2 patch 2001-09-12 23:53:31 +03:00
monty@work.mysql.com
447c18954e merge with 3.23.42 2001-09-02 18:38:33 +02:00