- 19 Dec, 2007 1 commit
-
-
davi@mysql.com/endora.local authored
Parser rejects ODBC's escape sequences for outer joins other than left outer join, yet the escape sequence BNF specifies that this syntax can be used for left, right, and full outer join syntax. The problem is that although the MySQL Connector/ODBC advertises "Outer Join Escape Sequence" capabilities, the parsing is done in the server and historically it only supported this syntax for left outer joins and applications such as Crystal Reports 11 tries to use this syntax for inner joins. The chosen solution is to reorganize a couple of parser rules to ignore any kind of SQL escape sequence. Ignoring the escape sequences is harmless because the various SQL join clauses are supported by the server.
-
- 13 Dec, 2007 8 commits
-
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
-
dkatz@damien-katzs-computer.local authored
into damien-katzs-computer.local:/Users/dkatz/51runtime
-
davi@endora.local authored
into mysql.com:/Users/davi/mysql/mysql-5.1-runtime
-
anozdrin/alik@station. authored
into station.:/mnt/raid/alik/MySQL/devel/5.1-rt
-
kostja@bodhi.(none) authored
last_insert_id introduced by the patch for Bug#12713 (part 1)
-
kostja@bodhi.(none) authored
-
kostja@bodhi.(none) authored
-
- 12 Dec, 2007 10 commits
-
-
davi@mysql.com/endora.local authored
The problem is that some DDL statements (ALTER TABLE, CREATE TRIGGER, FLUSH TABLES, ...) when under LOCK TABLES need to momentarily drop the lock, reopen the table and grab the write lock again (using reopen_tables). When grabbing the lock again, reopen_tables doesn't pass a flag to mysql_lock_tables in order to ignore the impending global read lock, which causes a assertion because LOCK_open is being hold. Also dropping the lock must not signal to any threads that the table has been relinquished (related to the locking/flushing protocol). The solution is to correct the way the table is reopenned and the locks grabbed. When reopening the table and under LOCK TABLES, the table version should be set to 0 so other threads have to wait for the table. When grabbing the lock, any other flush should be ignored because it's theoretically a atomic operation. The chosen solution also fixes a potential discrepancy between binlog and GRL (global read lock) because table placeholders were being ignored, now a FLUSH TABLES WITH READ LOCK will properly for table with open placeholders. It's also important to mention that this patch doesn't fix a potential deadlock if one uses two GRLs under LOCK TABLES concurrently.
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
istruewing@stella.local authored
Fixed case of comment.
-
dkatz@damien-katzs-computer.local authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.1-runtime
-
dkatz@damien-katzs-computer.local authored
Ensure default logging is "file" logging, for additional ways the option can be turned on. Verified on OS X, but not tested automatically.
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-12713-1
-
kostja@bodhi.(none) authored
cause ROLLBACK of statement", part 1. Review fixes. Do not send OK/EOF packets to the client until we reached the end of the current statement. This is a consolidation, to keep the functionality that is shared by all SQL statements in one place in the server. Currently this functionality includes: - close_thread_tables() - log_slow_statement(). After this patch and the subsequent patch for Bug#12713, it shall also include: - ha_autocommit_or_rollback() - net_end_statement() - query_cache_end_of_result(). In future it may also include: - mysql_reset_thd_for_next_command().
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
-
- 11 Dec, 2007 13 commits
-
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
dkatz@damien-katzs-computer.local authored
Changed thread_handling variable to a global only, read only variable, as it is currently used.
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.0-axmrg
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
df@pippilotta.erinye.com authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1
-
df@pippilotta.erinye.com authored
-
istruewing@stella.local authored
into stella.local:/home2/mydev/mysql-5.0-axmrg
-
istruewing@stella.local authored
The patch for Bug 26379 (Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table) fixed this bug too. However it revealed a new bug that crashed the server. Flushing a merge table at the moment when it is between open and attach of children crashed the server. The flushing thread wants to abort locks on the flushed table. It calls ha_myisammrg::lock_count() and ha_myisammrg::store_lock() on the TABLE object of the other thread. Changed ha_myisammrg::lock_count() and ha_myisammrg::store_lock() to accept non-attached children. ha_myisammrg::lock_count() returns the number of MyISAM tables in the MERGE table so that the memory allocation done by get_lock_data() is done correctly, even if the children become attached before ha_myisammrg::store_lock() is called. ha_myisammrg::store_lock() will not return any lock if the children are not attached. This is however a change in the handler interface. lock_count() can now return a higher number than store_lock() stores locks. This is more safe than the reverse implementation would be. get_lock_data() in the SQL layer is adjusted accordingly. It sets MYSQL_LOCK::lock_count based on the number of locks returned by the handler::store_lock() calls, not based on the numbers returned by the handler::lock_count() calls. The latter are only used for allocation of memory now. No test case. The test suite cannot reliably run FLUSH between lock_count() and store_lock() of another thread. The bug report contains a program that can repeat the problem with some probability.
-
mattiasj@witty. authored
into witty.:/Users/mattiasj/clones/51_push32948
-
- 10 Dec, 2007 8 commits
-
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
thek@adventure.(none) authored
-
df@pippilotta.erinye.com authored
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
-
df@pippilotta.erinye.com authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
df@pippilotta.erinye.com authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
-
df@pippilotta.erinye.com authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
-