Commit graph

52099 commits

Author SHA1 Message Date
sergefp@mysql.com
dd0854db54 BUG#32198: Comparison of DATE with DATETIME still not using indexes correctly
- Make conditions like "date_col $CMP$ 'datetime-const'" range-sargable
2007-12-13 13:38:22 +03:00
gluh@mysql.com/eagle.(none)
4e50bb0ebe Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2007-12-13 14:38:01 +04:00
anozdrin/alik@station.
93eef1ce40 Merge station.:/mnt/raid/alik/MySQL/devel/5.1
into  station.:/mnt/raid/alik/MySQL/devel/5.1-rt
2007-12-13 12:06:37 +03:00
anozdrin/alik@station.
7d9dd21cd9 Merge station.:/mnt/raid/alik/MySQL/devel/5.0
into  station.:/mnt/raid/alik/MySQL/devel/5.0-rt
2007-12-13 12:01:04 +03:00
kostja@bodhi.(none)
2789a12b6a Fix a compilation warning and a subtle bug with truncation of the
last_insert_id introduced by the patch for Bug#12713 (part 1)
2007-12-13 05:37:38 +03:00
tsmith@ramayana.hindu.god
c325d0554c Merge ramayana.hindu.god:/home/tsmith/m/bk/build/mrg12dec/50
into  ramayana.hindu.god:/home/tsmith/m/bk/build/mrg12dec/51
2007-12-12 19:29:07 -07:00
tsmith@ramayana.hindu.god
07c962393d Bug #33192: mysql_install_db bad merge, corrupt code == appears to succeed but does nothing
Repair a bad merge that made mysql_install_db silently fail, doing nothing.
2007-12-12 19:14:28 -07:00
tsmith@ramayana.hindu.god
aac43a2828 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/build/mrg12dec/51
2007-12-12 18:44:14 -07:00
tsmith@ramayana.hindu.god
31c1ca4f46 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/build/mrg12dec/50
2007-12-12 18:42:26 -07:00
kostja@bodhi.(none)
572ab7a6b0 Silence a new warning printed by rpl_row_tabledefs_3innodb test execution. 2007-12-13 04:33:54 +03:00
kostja@bodhi.(none)
098832c5ca Fix a compilation error. 2007-12-13 04:19:23 +03:00
davi@mysql.com/endora.local
137e90ed55 Bug#32395 Alter table under a impending global read lock causes a server crash
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.
2007-12-12 19:44:14 -02:00
istruewing@stella.local
8506efa91e Merge stella.local:/home2/mydev/mysql-5.0-axmrg
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-12 19:52:52 +01:00
istruewing@stella.local
9217f01136 Dummy push to help pushbuild running again.
Fixed case of comment.
2007-12-12 19:49:08 +01:00
dkatz@damien-katzs-computer.local
ed00d6955a Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  damien-katzs-computer.local:/Users/dkatz/mysql-5.1-runtime
2007-12-12 13:14:02 -05:00
dkatz@damien-katzs-computer.local
9a2b51d34a Bug #29993 Default value of log_output should be 'FILE', not 'TABLE'
Ensure default logging is "file" logging, for additional ways the option can be turned on. Verified on OS X, but not tested automatically.
2007-12-12 13:05:32 -05:00
kostja@bodhi.(none)
657ce57e4e Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-12713-1
2007-12-12 18:36:10 +03:00
kostja@bodhi.(none)
ebb9c5d983 Bug#12713 "Error in a stored function called from a SELECT doesn't
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().
2007-12-12 18:21:01 +03:00
kostja@bodhi.(none)
685f114368 Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-12-12 06:05:14 +03:00
kostja@bodhi.(none)
90ce3a011e Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-12-12 06:04:21 +03:00
kostja@bodhi.(none)
4c83efbb95 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-12-12 06:00:10 +03:00
istruewing@stella.local
94c74110d9 Merge stella.local:/home2/mydev/mysql-5.0-axmrg
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 23:59:16 +01:00
istruewing@stella.local
a7c4af78dc Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 23:58:38 +01:00
istruewing@stella.local
9b0ab3fc0f Merge stella.local:/home2/mydev/mysql-5.1-ateam
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 23:57:57 +01:00
dkatz@damien-katzs-computer.local
4abafe2617 Bug #30651 Problems with thread_handling system variable
Changed thread_handling variable to a global only, read only variable, as it is currently used.
2007-12-11 17:30:42 -05:00
istruewing@stella.local
fb93ba7a08 Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-12-11 23:18:14 +01:00
tomas@whalegate.ndb.mysql.com
0a76bfab51 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/cge-5.1
2007-12-11 22:22:05 +01:00
istruewing@stella.local
34b317c883 Merge stella.local:/home2/mydev/mysql-5.0-axmrg
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 21:38:50 +01:00
istruewing@stella.local
65fda831ce Merge stella.local:/home2/mydev/mysql-5.1-bug30273
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 21:38:08 +01:00
istruewing@stella.local
03d99c5956 Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 21:37:33 +01:00
joerg@debian.(none)
0e0be30b0d Merge debian.(none):/MySQL/M50/push-5.0
into  debian.(none):/MySQL/M51/push-5.1
2007-12-11 21:08:20 +01:00
tomas@whalegate.ndb.mysql.com
2a01585422 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/cge-5.1
2007-12-11 21:02:29 +01:00
joerg@debian.(none)
8633319540 Merge debian.(none):/MySQL/M51/mysql-5.1
into  debian.(none):/MySQL/M51/push-5.1
2007-12-11 21:02:06 +01:00
joerg@debian.(none)
2740e876f6 Merge debian.(none):/MySQL/M50/mysql-5.0
into  debian.(none):/MySQL/M50/push-5.0
2007-12-11 21:00:11 +01:00
tomas@whalegate.ndb.mysql.com
faaac96f98 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-12-11 20:59:24 +01:00
joerg@debian.(none)
eac07f4f4b Merge debian.(none):/MySQL/M51/indent-5.1
into  debian.(none):/MySQL/M51/push-5.1
2007-12-11 20:50:09 +01:00
joerg@debian.(none)
479ed82765 Merge debian.(none):/MySQL/M50/indent-5.0
into  debian.(none):/MySQL/M50/push-5.0
2007-12-11 20:47:31 +01:00
joerg@debian.(none)
c3d0a5c821 Merge debian.(none):/MySQL/M50/indent-5.0
into  debian.(none):/MySQL/M51/indent-5.1

Manual merge of a formatting change.
2007-12-11 20:32:38 +01:00
tomas@whalegate.ndb.mysql.com
5e9c092c5d move randomly failing tests to ndb_team suite 2007-12-11 19:57:26 +01:00
tomas@whalegate.ndb.mysql.com
8819e1733d add capability to run certain testsuites optionally depending on name of clone 2007-12-11 19:52:35 +01:00
tomas@whalegate.ndb.mysql.com
fe46b09e3e remove memleak cased by dynamic variables being lost 2007-12-11 19:51:44 +01:00
df@pippilotta.erinye.com
bcb3c304ff Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1
2007-12-11 17:41:11 +01:00
df@pippilotta.erinye.com
de716f1f86 No we're still at 5.0.54. 2007-12-11 17:38:49 +01:00
istruewing@stella.local
ba2d58ae5e Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-12-11 17:09:43 +01:00
tomas@whalegate.ndb.mysql.com
ddc2ee655f Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  whalegate.ndb.mysql.com:/home/tomas/cge-5.1
2007-12-11 16:08:52 +01:00
tomas@whalegate.ndb.mysql.com
824d17ba77 bug#33142: access after free() for blob replication and online alter table 2007-12-11 16:04:33 +01:00
istruewing@stella.local
55aa6376f1 Bug#30273 - merge tables: Can't lock file (errno: 155)
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.
2007-12-11 15:32:10 +01:00
tomas@whalegate.ndb.mysql.com
2477f7acb6 compile error fix for osx 2007-12-11 15:19:37 +01:00
tomas@whalegate.ndb.mysql.com
48c509a2aa bug#32759 already fixed 2007-12-11 15:08:00 +01:00
mskold/marty@quadfish.(none)
a452347893 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  mysql.com:/home/marty/MySQL/mysql-5.1-new-ndb
2007-12-11 11:54:46 +01:00