Commit graph

42 commits

Author SHA1 Message Date
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
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
kent@mysql.com/kent-amd64.(none)
1b8bd0d246 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.0
2006-12-31 01:04:07 +01:00
kent@mysql.com/kent-amd64.(none)
6523aca729 my_strtoll10-x86.s:
Corrected spelling in copyright text
Makefile.am:
  Don't update the files from BitKeeper
Many files:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header 
Many files:
  Added GPL copyright text
Removed files:
  Docs/Support/colspec-fix.pl
  Docs/Support/docbook-fixup.pl
  Docs/Support/docbook-prefix.pl
  Docs/Support/docbook-split
  Docs/Support/make-docbook
  Docs/Support/make-makefile
  Docs/Support/test-make-manual
  Docs/Support/test-make-manual-de
  Docs/Support/xwf
2006-12-31 01:02:27 +01:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
82b03f29ac Merge xiphis.org:/home/antony/work2/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-engines-merge
2006-12-26 16:23:05 -08:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
istruewing@chilla.local
33b96c3036 Merge chilla.local:/home/mydev/mysql-4.1-axmrg
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2006-12-20 18:22:26 +01:00
istruewing@chilla.local
1d69857c4d Bug#25208 - Warnings in mi_packrec.c
Compiler warnings due to non-matching conversion
specifications in format strings in DBUG_PRINT calls.

Fixed DBUG_PRINT format specifiactions.
2006-12-20 15:18:09 +01:00
istruewing@chilla.local
3b41ef6a5c Merge chilla.local:/home/mydev/mysql-4.1-bug23139
into  chilla.local:/home/mydev/mysql-5.0-bug23139
2006-11-28 19:28:49 +01:00
istruewing@chilla.local
671575211b Bug#23139 - myisamchk and mysqld crash when trying to access table
A corrupted compressed table could crash the server and
myisamchk.

The data file of an uncompressed table contains just the records.
There is no header in the data file.

However the data file of a compressed table has a header.
The header describes how the table was compressed. This
information is necessary to extract the records from the
compressed data file.

Part of the compressed data file header are the [de]code tables.
They are numeric representations of the Huffman trees used for
coding and decoding. A Huffman tree is a binary tree. Every
node has two childs. A child can be a leaf or a branch. Leaves
contain the decoded value. Branches point to another tree node.

Since the [de]code table is represented as an array of childs,
the branches need to point at a child within the same array.
The corruption of the compressed data file from the bug report
was a couple of branches that pointed outside their array.
This condition had not been correctly checked.

I added some checks for the pointers in the decode tables.
This type of corruption will no longer crash the server or
myisamchk.

No test case. A corrupted compressed table is required.
2006-11-28 15:46:01 +01: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
svoj@may.pils.ru
6509ad6e8a Merge may.pils.ru:/home/svoj/devel/mysql/BUG19702/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG19702/mysql-5.0-engines
2006-08-23 20:06:56 +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)
8a7adb196d Merge april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1
into  april.(none):/home/svoj/devel/mysql/BUG17917/mysql-5.0
2006-04-15 16:08:03 +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
ramil@mysql.com
0352793605 Merge mysql.com:/usr/home/ram/work/4.1.b4214
into  mysql.com:/usr/home/ram/work/mysql-5.0
2005-09-05 18:28:56 +05:00
ramil@mysql.com
1fb4441782 a fix (bug #4214: Table corruption with myisampack and large BLOB objects). 2005-09-05 16:31:42 +05:00
ingo@mysql.com
e81358565b Bug#8321 - myisampack bug in compression algorithm
Added 64-bit extensions, comments, extended statistics 
and trace prints.
2005-06-24 19:34:55 +02:00
jimw@mysql.com
ee2b4ec959 Eliminate warnings noticed by VC7. This includes fixing my_mmap() on
Windows to call CreateFileMapping() with correct arguments, and
propogating the introduction of query_id_t to everywhere query ids are
passed around. (Bug #8826)
2005-03-18 16:12:25 -08:00
reggie@mdk10.(none)
579293a29f More changes to make 5.0.3 compile on Windows
sql_map.cc:
  moved include of sys/stat outside of HAVE_SYS_MMAN_H define
my_decimal.h:
  Added define for EMBEDDED_SERVER for call to string2my_decimal
mi_packrec.c:
  removed cast to caddr_t
2005-02-23 22:55:46 -06:00
reggie@mdk10.(none)
2ffd3a3a61 Changes to allow 5.0.3 to compile on Windows after XA was pushed
logging_ok:
  Logging to logging@openlogging.org accepted
mi_packrec.c:
  Using HAVE_SYS_MMAN_H to protect include of sys/mman.h and replaced calls to mmap and munmap with my_mmap and my_munmap
mi_extra.c:
  Now using HAVE_SYS_MMAN_H to protect include of sys/mman.h
my_mmap.c:
  Changed how no mmap message is printed for Windows
sql_map.cc:
  Changed HAVE_MMAP to HAVE_SYS_MMAN_H and replaced calls to mmap and munmap with my_mmap and my_munmap
2005-02-23 16:29:03 -06:00
serg@serg.mylan
c76405a7ee merged 2005-01-24 19:41:42 +01:00
serg@serg.mylan
67ba2e367a fixes/cleanups according to Coverity report 2005-01-24 15:48:25 +01:00
monty@mysql.com
3fb088a075 Add 0x before pointers (to help with debugging)
Add support for VARCHAR with 1 or 2 length bytes
Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly)
Give error if we got problems in temporary tables during a SELECT
Don't use new table generated by ALTER TABLE if index generation fails
Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
2004-12-18 05:19:21 +02:00
serg@serg.mylan
da92505db7 myisam/mi_packrec.c
more robust checks (catch more corruptions)
2004-12-02 15:14:36 +01:00
serg@serg.mylan
dd7ff9335a one more test for corrupted compressed MyISAM table 2004-12-01 22:46:39 +01:00
ram@gw.mysql.r18.ru
f231d9826b just tried to find all 'skipp' and replace it with 'skip'. 2004-02-02 20:25:39 +04:00
monty@narttu.mysql.fi
6153b0073d Correct fix for buffer overruns for compressed blobs.
(Bugs #770, #1304 and maybe #1295)
2003-09-24 14:33:23 +03:00
serg@serg.mylan
15b650fe72 more sanity checks for compressed files, BUG#770 2003-09-02 16:49:00 +02:00
serg@serg.mylan
06e5657993 MyISAM was erroneously using max_ref_length when estimating min_pack_length. 2003-08-12 15:30:20 +02:00
serg@serg.mysql.com
00db3c391b fixed crash with blobs in compressed table 2003-01-30 19:34:19 +01:00
serg@sergbook.mysql.com
43ef1198e9 MyISAM: always store alloced_rec_buff_length with the buffer itself 2002-07-26 14:42:51 +02: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
monty@hundin.mysql.fi
b658662ae4 Update copyright
Fixed memory leak on shutdown (Affects the embedded version & MyODBC)
2001-12-06 14:10:51 +02:00
monty@hundin.mysql.fi
9209210d30 Fix bug when repairing compressed MyISAM files
LOCATE() is now case sensitive
2001-11-22 13:50:50 +02:00
monty@hundin.mysql.fi
4c60b41954 Portability fix
Cleanup typos (like SKIPP -> SKIP)
2001-11-07 00:13:29 +02:00
monty@hundin.mysql.fi
b1cb5b6ff0 Portability fixes.
Let myisamchk generate a new checksum for compressed data.
Don't unconditionally force filenames to lower case on windows.
Update mysqltest to match 4.0 source (to get some of the new bug fixes into 3.23)
2001-08-18 10:49:00 +03:00
monty@tik.mysql.fi
1f409baf4c Changed compare in MyISAM to use my_pread()
Fixed that @VAR shows all decimals
Fixed problem with FLUSH TABLES and LOCK TABLE
CREATE ... SELECT now creates keys later
Reset AUTO_INCREMENT order if droping AUTO_INCREMENT key
2001-06-11 15:01:28 +03:00
bk@work.mysql.com
f4c589ff6c Import changeset 2000-07-31 21:29:14 +02:00