An error occurred fetching the project authors.
- 21 Jan, 2008 1 commit
-
-
hezx@mail.hezx.com authored
-
- 15 Nov, 2007 1 commit
-
-
istruewing@stella.local authored
corrupts a MERGE table Bug 26867 - LOCK TABLES + REPAIR + merge table result in memory/cpu hogging Bug 26377 - Deadlock with MERGE and FLUSH TABLE Bug 25038 - Waiting TRUNCATE Bug 25700 - merge base tables get corrupted by optimize/analyze/repair table Bug 30275 - Merge tables: flush tables or unlock tables causes server to crash Bug 19627 - temporary merge table locking Bug 27660 - Falcon: merge table possible Bug 30273 - merge tables: Can't lock file (errno: 155) The problems were: Bug 26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table 1. A thread trying to lock a MERGE table performs busy waiting while REPAIR TABLE or a similar table administration task is ongoing on one or more of its MyISAM tables. 2. A thread trying to lock a MERGE table performs busy waiting until all threads that did REPAIR TABLE or similar table administration tasks on one or more of its MyISAM tables in LOCK TABLES segments do UNLOCK TABLES. The difference against problem #1 is that the busy waiting takes place *after* the administration task. It is terminated by UNLOCK TABLES only. 3. Two FLUSH TABLES within a LOCK TABLES segment can invalidate the lock. This does *not* require a MERGE table. The first FLUSH TABLES can be replaced by any statement that requires other threads to reopen the table. In 5.0 and 5.1 a single FLUSH TABLES can provoke the problem. Bug 26867 - LOCK TABLES + REPAIR + merge table result in memory/cpu hogging Trying DML on a MERGE table, which has a child locked and repaired by another thread, made an infinite loop in the server. Bug 26377 - Deadlock with MERGE and FLUSH TABLE Locking a MERGE table and its children in parent-child order and flushing the child deadlocked the server. Bug 25038 - Waiting TRUNCATE Truncating a MERGE child, while the MERGE table was in use, let the truncate fail instead of waiting for the table to become free. Bug 25700 - merge base tables get corrupted by optimize/analyze/repair table Repairing a child of an open MERGE table corrupted the child. It was necessary to FLUSH the child first. Bug 30275 - Merge tables: flush tables or unlock tables causes server to crash Flushing and optimizing locked MERGE children crashed the server. Bug 19627 - temporary merge table locking Use of a temporary MERGE table with non-temporary children could corrupt the children. Temporary tables are never locked. So we do now prohibit non-temporary chidlren of a temporary MERGE table. Bug 27660 - Falcon: merge table possible It was possible to create a MERGE table with non-MyISAM children. Bug 30273 - merge tables: Can't lock file (errno: 155) This was a Windows-only bug. Table administration statements sometimes failed with "Can't lock file (errno: 155)". These bugs are fixed by a new implementation of MERGE table open. When opening a MERGE table in open_tables() we do now add the child tables to the list of tables to be opened by open_tables() (the "query_list"). The children are not opened in the handler at this stage. After opening the parent, open_tables() opens each child from the now extended query_list. When the last child is opened, we remove the children from the query_list again and attach the children to the parent. This behaves similar to the old open. However it does not open the MyISAM tables directly, but grabs them from the already open children. When closing a MERGE table in close_thread_table() we detach the children only. Closing of the children is done implicitly because they are in thd->open_tables. For more detail see the comment at the top of ha_myisammrg.cc. Changed from open_ltable() to open_and_lock_tables() in all places that can be relevant for MERGE tables. The latter can handle tables added to the list on the fly. When open_ltable() was used in a loop over a list of tables, the list must be temporarily terminated after every table for open_and_lock_tables(). table_list->required_type is set to FRMTYPE_TABLE to avoid open of special tables. Handling of derived tables is suppressed. These details are handled by the new function open_n_lock_single_table(), which has nearly the same signature as open_ltable() and can replace it in most cases. In reopen_tables() some of the tables open by a thread can be closed and reopened. When a MERGE child is affected, the parent must be closed and reopened too. Closing of the parent is forced before the first child is closed. Reopen happens in the order of thd->open_tables. MERGE parents do not attach their children automatically at open. This is done after all tables are reopened. So all children are open when attaching them. Special lock handling like mysql_lock_abort() or mysql_lock_remove() needs to be suppressed for MERGE children or forwarded to the parent. This depends on the situation. In loops over all open tables one suppresses child lock handling. When a single table is touched, forwarding is done. Behavioral changes: =================== This patch changes the behavior of temporary MERGE tables. Temporary MERGE must have temporary children. The old behavior was wrong. A temporary table is not locked. Hence even non-temporary children were not locked. See Bug 19627 - temporary merge table locking. You cannot change the union list of a non-temporary MERGE table when LOCK TABLES is in effect. The following does *not* work: CREATE TABLE m1 ... ENGINE=MRG_MYISAM ...; LOCK TABLES t1 WRITE, t2 WRITE, m1 WRITE; ALTER TABLE m1 ... UNION=(t1,t2) ...; However, you can do this with a temporary MERGE table. You cannot create a MERGE table with CREATE ... SELECT, neither as a temporary MERGE table, nor as a non-temporary MERGE table. CREATE TABLE m1 ... ENGINE=MRG_MYISAM ... SELECT ...; Gives error message: table is not BASE TABLE.
-
- 31 May, 2007 1 commit
-
-
df@pippilotta.erinye.com authored
after-merge fixes: test cases that were moved to extra/binlog_tests do not need to check for binlog being enabled
-
- 30 Mar, 2007 1 commit
-
-
mats@romeo.(none) authored
- Eliminating some compiler warnings
-
- 24 Jul, 2006 2 commits
-
-
ingo/mydev@chilla.local authored
-
ingo/mydev@chilla.local authored
-
- 24 Feb, 2006 1 commit
-
-
mats@mysql.com authored
Adaptions to make it work with NDB.
-
- 22 Dec, 2005 1 commit
-
-
lars@mysql.com authored
This includes both code and test cases.
-
- 02 Dec, 2005 1 commit
-
-
elliot@mysql.com authored
Now when rolling back a transaction on a blackhole table, the transaction will not be written to the binlog.
-
- 28 Jul, 2005 1 commit
-
-
monty@mysql.com authored
-
- 26 Apr, 2005 1 commit
-
-
gbichot@quadita2.mysql.com authored
no rows of the blackhold engine (for this engine to be a binlog propagator). NOTE: blackhole.test currently hangs in 5.0 BUG#10175 so I'll merge without running this test; the person who fixes the hang will correct the merged blackhole.result or ask me to).
-
- 25 Mar, 2005 1 commit
-
-
brian@zim.(none) authored
-
- 23 Mar, 2005 1 commit
-
-
brian@zim.(none) authored
Additional storage engine called "blackhole". Customer request, and for that matter a Zawodny request. With this you can alter table to a type of table that would never store data. Its a /dev/null for a database.
-
- 26 Jan, 2005 1 commit
-
-
ingo@mysql.com authored
Moved initialization code into a new init function. Added a new cleanup function. Added a call to close the meta file.
-
- 09 Dec, 2004 1 commit
-
-
brian@avenger.(none) authored
A few simple fixes plus the added support of being able to repair the meta data file via REPAIR TABLE. More information is now provided in SHOW TABLE STATUS.
-
- 30 Nov, 2004 1 commit
-
-
brian@avenger.(none) authored
Changes to support optimized bulk inserts. This will solve the problem of selects occurring during a bulk insert, and causing the compression factor to drop.
-
- 21 Sep, 2004 1 commit
-
-
brian@brian-akers-computer.local authored
OPTIMIZE TABLE <archive table> This recompresses the table, thus removing any additional gzip headers caused by opening/closing or flushing the table.
-
- 25 May, 2004 1 commit
-
-
brian@avenger.(none) authored
Added tests for archive. Cleaned up a merge mistake and added some information on how well archive compresses.
-
- 22 Jan, 2004 1 commit
-
-
ram@gw.mysql.r18.ru authored
<monty> ramil, in MySQL/MyISAM we should only strip end space, not 'space-like' characters. <monty> This is according to SQL; When doing a comparision end space and only end space are ignored.
-
- 10 Dec, 2003 1 commit
-
-
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
-
- 30 Oct, 2003 1 commit
-
-
bell@sanja.is.com.ua authored
added code covarage for functions convert(), nullif(), crc32(), is_used_lock(), char_lengtrh(), bit_xor() added string length for more speed made code covarage for print() method of Item fixed printability of some items (SCRUM) (WL#1274)
-
- 16 Sep, 2003 1 commit
-
-
kostja@oak.local authored
-
- 25 Jul, 2003 1 commit
-
-
serg@serg.mylan authored
bug#926
-
- 26 Jun, 2003 1 commit
-
-
monty@mashka.mysql.fi authored
-
- 13 Mar, 2003 1 commit
-
-
serg@serg.mysql.com authored
-
- 11 Mar, 2003 1 commit
-
-
bell@sanja.is.com.ua authored
-
- 07 Mar, 2003 1 commit
-
-
monty@mashka.mysql.fi authored
Some after merge fixes
-
- 05 Jan, 2003 1 commit
-
-
monty@mashka.mysql.fi authored
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names. changed store_warning() -> push_warning_print()
-
- 13 Dec, 2002 1 commit
-
-
vva@eagle.mysql.r18.ru authored
-
- 04 Dec, 2002 1 commit
-
-
Sinisa@sinisa.nasamreza.org authored
LIMIT clause when filesort had to be used. In that case LIMIT was applied to filesort of one of the tables, although it could not be. This fix solved problems with LEFT JOIN too...
-
- 15 Oct, 2002 1 commit
-
-
pem@mysql.com authored
Fixed the remaining join variations, (left, right, natural, etc). (Previous fix only solved "," and "[cross] join".)
-
- 12 Oct, 2002 1 commit
-
-
pem@mysql.com authored
This is a simple fix, allowing a join_table_list in the right reduction of a normal_join sequence, instead of just a join_table. This makes things like "t1, (t2 left join t3)" work, but it also allows "join" and "cross join" instead of ",". This should fix the bug reported as: Subject: ODBC SQL syntax issue From: Ivan Vazharov Date: Mon, 30 Sep 2002 12:02:42 +0200
-
- 11 Oct, 2002 1 commit
-
-
Sinisa@sinisa.nasamreza.org authored
-
- 03 Sep, 2002 1 commit
-
-
monty@mashka.mysql.fi authored
Check if AND/OR expression can be NULL; Fixed bug in GROUP BY and-or-expression where expression could be NULL Bug fix for SHOW OPEN TABLES when user didn't have privilege to access all open tables. Better fix for ALTER TABLE on BDB tables.
-
- 17 Aug, 2002 1 commit
-
-
monty@hundin.mysql.fi authored
Fixed bug in SAFEMALLOC for systems that requires longlong data to be aligned on 8 byte boundaries (like sparc) Removed thread marking of safemalloc blocks (becasue of alignment problems) Temporary fix for bigint comparison.
-
- 16 Aug, 2002 1 commit
-
-
Sinisa@sinisa.nasamreza.org authored
Same princpile can be applied to other expressions
-
- 15 Jun, 2002 1 commit
-
-
Sinisa@sinisa.nasamreza.org authored
for a seemingly impoosbile conds in WHERE.... This crashed MySQL in 4.0.2
-
- 17 Dec, 2001 1 commit
-
-
monty@hundin.mysql.fi authored
-
- 03 Jun, 2001 1 commit
-
-
monty@hundin.mysql.fi authored
New postgresql crash-me file. Increased blob size in benchmarks from 65K to 1M.
-
- 21 Mar, 2001 1 commit
-
-
mikef@nslinux.bedford.progress.com authored
Fix bug when read return error
-