Commit graph

47 commits

Author SHA1 Message Date
svoj@mysql.com/april.(none)
bcbb50c1d2 Merge mysql.com:/home/svoj/devel/mysql/BUG23526/mysql-5.0-engines2
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2006-12-30 03:44:25 +04: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
svoj@mysql.com/april.(none)
3cfd578ea7 BUG#23526 - show table status reports incorrect values for MyISAM tables
This problem could happen when show table status get outdated copy
of TABLE object from table cache.

MyISAM updates state info when external_lock() method is called. Though
I_S does not lock a table to avoid deadlocks. If I_S opens a table which
is in a table cache it will likely get outdated state info copy.

In this case shared state copy is more recent than local copy. This problem
is fixed by correctly restoring myisam state info pointer back to original
value, that is to shared state.

Affects MyISAM only. No good deterministic test case for this fix.
2006-12-05 18:44:14 +04:00
monty@mysql.com/nosik.monty.fi
e825879800 Remove compiler warnings
(Mostly in DBUG_PRINT() and unused arguments)
Fixed bug in query cache when used with traceing (--with-debug)
Fixed memory leak in mysqldump
Removed warnings from mysqltest scripts (replaced -- with #)
2006-11-20 22:42:06 +02:00
ingo@mysql.com
d27a15a81c Bug#16986 - Deadlock condition with MyISAM tables
Addendum fixes after changing the condition variable
for the global read lock.

The stress test suite revealed some deadlocks. Some were
related to the new condition variable (COND_global_read_lock)
and some were general problems with the global read lock.

It is now necessary to signal COND_global_read_lock whenever 
COND_refresh is signalled.

We need to wait for the release of a global read lock if one 
is set before every operation that requires a write lock.
But we must not wait if we have locked tables by LOCK TABLES.
After setting a global read lock a thread waits until all
write locks are released.
2006-06-26 19:14:35 +02:00
monty@mysql.com
f5fdf3e87a Reviewing new pushed code
- CHAR() now returns binary string as default
- CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
- Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
  (Some old systems returns ETIME and it's safer to test for both values
   than to try to write a wrapper for each old system)
- Fixed new introduced bug in NOT BETWEEN X and X
- Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
- Use octet2hex() for all conversion of string to hex
- Simplify and optimize code
2005-10-12 00:58:22 +03:00
jimw@mysql.com
a3eaf4eec2 Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-08-15 12:37:45 -07:00
jimw@mysql.com
194360397c Rename rest() macro in my_list.h to list_rest(). (Bug #12327) 2005-08-09 18:02:36 -07:00
monty@mishka.local
8437e9c1be Fixes during review of new pushed code
Change bool in C code to my_bool
Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.
2005-07-31 12:49:55 +03:00
monty@mysql.com
15d48525af Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2005-07-28 17:09:54 +03:00
monty@mysql.com
24d45c5c30 Merge mysql.com:/home/my/mysql-4.0
into  mysql.com:/home/my/mysql-4.1
2005-07-27 13:24:59 +03:00
monty@mysql.com
4098c40d87 Review fixes:
Fixed portability problem with bool in C programs
Moved close_thread_tables out from LOCK_thread_count mutex (safety fix)
my_sleep() -> pthread_cond_timedwait()
2005-07-26 17:55:58 +03:00
jimw@mysql.com
6e955625f6 Merge mysql.com:/home/jimw/my/mysql-5.0-build
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-22 12:36:17 -07:00
jimw@mysql.com
e15dd02241 Remove use of non-portable gettimeofday() in thr_lock.c (Bug #12100) 2005-07-22 12:01:42 -07:00
pappa@c-450ae253.1238-1-64736c10.cust.bredbandsbolaget.se
6026054ead Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into  c-450ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.0
2005-07-21 01:29:57 -04:00
pappa@c-450ae253.1238-1-64736c10.cust.bredbandsbolaget.se
9663b9a974 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.0
into  c-450ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-4.1
2005-07-20 21:58:33 -04:00
konstantin@mysql.com
14344b658a A fix and a test case for Bug#10760 and complementary cleanups.
The idea of the patch
is that every cursor gets its own lock id for table level locking.
Thus cursors are protected from updates performed within the same 
connection. Additionally a list of transient (must be closed at
commit) cursors is maintained and all transient cursors are closed
when necessary. Lastly, this patch adds support for deadlock
timeouts to TLL locking when using cursors.
+ post-review fixes.
2005-07-19 22:21:12 +04:00
mronstrom@mysql.com
2d23c691f7 Bug #10600
remove_table_from_cache fails to signal other thread and gets
blocked when other thread also gets blocked
2005-07-19 00:29:19 +02:00
monty@mysql.com
25a2c4a71e Cleanup during review
Simple optimization for 2 argument usage to function of variable arguments
Fix stack overrun when using 1+1+1+1+1+1+1+....
Update crash-me results for 5.0
Don't call post_open if pre_open() fails (optimization)
2005-06-05 17:01:20 +03:00
monty@mishka.local
2d25da2a4b concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
myisam_max_extra_sort_file_size is depricated
Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors
2005-05-13 12:08:08 +03:00
monty@mysql.com
a37e91e435 Changed interface for my_strntod() to make it more general and more portable 2005-01-15 12:28:38 +02:00
monty@mysql.com
e1218474b8 Merge with 4.0 2004-10-20 16:24:28 +03:00
monty@mysql.com
b32ffec8fd Fix test case for innodb-lock 2004-10-20 16:04:28 +03:00
monty@mysql.com
309d691e65 Changed %lx -> 0x%lx (for easier comparison of debug files)
Cosmetic cleanups
Don't call 'delete_elements' on copy_funcs as this causes elements to be freed twice
2004-08-23 13:46:51 +03:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
monty@narttu.mysql.fi
2bca1221cd Removed wrong "Found lock of type # that is write and read locked" warnings. 2003-07-18 04:37:37 +03:00
monty@narttu.mysql.fi
a434bca704 Merge with 4.0 2003-03-16 19:17:54 +02:00
monty@narttu.mysql.fi
2a7dfa172c Fixed bug in LOCK TABLE + DROP TABLE when other thread was waiting for a table that was locked bug not droped 2003-03-04 12:22:35 +02:00
Sinisa@sinisa.nasamreza.org
5fbd7b63c5 changes for mysqladmin debug
and a bug fix for derived tables
2002-10-30 16:52:12 +02: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
5738117970 Fix race condition in ANALYZE TABLE.
Fixed bug where one got an empty set instead of a DEADLOCK error when using BDB tables.
2001-11-26 02:16:38 +02:00
monty@hundin.mysql.fi
e24bdfa8bb More debug info
Fix DBUG_ASSERT()
Optimization for BDB tables
Fix for BDB under Win98
2001-09-08 11:47:34 +03:00
monty@hundin.mysql.fi
7f4aee1c90 Make killing of threads safer 2001-09-01 10:38:16 +03:00
monty@hundin.mysql.fi
e251f9d827 Fixed problem with INSERT DELAYED
Make killing threads safer
2001-08-31 23:02:09 +03:00
monty@hundin.mysql.fi
5a8e734b9a Upgrade TL_WRITE_CONCURRENT_INSERT to TL_WRITE_LOW_PRIORITY if
--low-priority-updates is used and the file has holes.
2001-07-18 23:34:04 +03:00
monty@hundin.mysql.fi
aecef7614e Removed wrong warning from thr_lock
Fixed problem with UPDATE and BDB tables
Fixed problem with GRANT FILE privilege on database level
mysqld --warnings works now
Fixed problem with SHOW OPEN TABLES when not using BDB
Added some tests for ALTER TABLE to the test scripts
2001-07-17 21:04:01 +03:00
monty@tik.mysql.fi
684082ce79 Updated documentation of how to add new native functions.
Small cleanups
2001-05-23 02:30:17 +03:00
monty@donna.mysql.fi
2ba0846a60 Fixed bug when using MERGE on files > 4G
Fixed bug in SELECT db1.table.* FROM db1.table,db2.table
Fixed bug in INSERT DELAYED when doing shutdown and a table was locked
Changed that tmp_table_size =4G-1 means unlimited.
2001-05-17 00:46:50 +03:00
monty@donna.mysql.fi
add70fc1ba Changed pthread_mutex_init() to use new MY_MUTEX_INIT.. macro
(For glibc 2.2)
2001-03-26 01:05:04 +03:00
monty@donna.mysql.com
d218ebcc51 Added locks needed for Innobase
Fixed mutex problem when doing automatic repair of MyISAM tables
2001-02-18 00:03:37 +02:00
jcole@tetra.spaceapes.com
3634353e60 Changes prompted by manual comments. 2001-02-01 06:25:51 -06:00
sasha@mysql.sashanet.com
70f619856b fixed up lock counting code - Monty's suggestions
updated manual about table lock counter
fixed coredump in DROP DATABASE with long bogus name by non-root user
fixed bug in handling STOP immediately after ROTATE
added test case for buffer overrun on DROP DATABASE by non-root user
added test case for the STOP bug in replication
2001-01-27 15:33:31 -07:00
sasha@mysql.sashanet.com
5f6561ec88 Table_locks_waited
Table_locks_immediate
2001-01-26 20:00:42 -07:00
monty@donna.mysql.com
d43b4a2ae1 Fixed performance bug in lock tables 2000-11-20 22:25:59 +02:00
monty@narttu.mysql.fi
22415489f2 Fixes for bugs in the usage of IO_CACHE 2000-11-17 02:36:46 +02:00
monty@donna.mysql.com
f0952ce3e1 FLUSH TABLE table_list
Fixes for RENAME TABLE
Portability fixes
2000-08-22 00:18:32 +03:00
bk@work.mysql.com
f4c589ff6c Import changeset 2000-07-31 21:29:14 +02:00