Commit graph

16957 commits

Author SHA1 Message Date
mikael/pappa@dator5.(none)
ab461c8933 Merge dator5.(none):/home/pappa/bug20340
into  dator5.(none):/home/pappa/bug20733
2006-07-22 10:13:47 -04:00
mikael/pappa@dator5.(none)
26b50311e7 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug20733
2006-07-22 10:12:57 -04:00
ingo/mydev@chilla.local
84f3623b3d After merge fixes. 2006-07-21 10:43:10 +02:00
ingo/mydev@chilla.local
18a76a953c Merge chilla.local:/home/mydev/mysql-5.0-mmerge
into  chilla.local:/home/mydev/mysql-5.1-amain
2006-07-20 21:28:55 +02:00
mikael/pappa@dator5.(none)
cef004845c BUG20733: Bug in partition pruning with zerofill field
Problem was with handling NULL values in ranges
2006-07-20 05:28:16 -04:00
gluh@mysql.com/vva.(none)
7c0930c4ae after merge fix 2006-07-18 20:13:13 +05:00
gluh@myoffice.izhnet.ru
f76aec6d90 Merge myoffice.izhnet.ru:/usr/home/gluh/MySQL/tmp_merge
into  myoffice.izhnet.ru:/usr/home/gluh/MySQL/5.1
2006-07-18 18:43:55 +05:00
mikael/pappa@dator5.(none)
4b71f42dd3 BUG#20340: NODEGROUP in information_schema.partitions integer =>
error in error log when "default is put into it
NODEGROUP string to cater for "default" in it
2006-07-18 09:33:40 -04:00
mikael/pappa@dator5.(none)
27b06d9dd0 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/push_tree_w28
2006-07-15 11:59:39 -04:00
mikael/pappa@dator5.(none)
30989a77a7 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/push_tree_w28
2006-07-15 04:06:31 -04:00
mikael/pappa@dator5.(none)
cacbb674b1 Merge dator5.(none):/home/pappa/clean-mysql-5.1-kt
into  dator5.(none):/home/pappa/push_tree_w28
2006-07-15 03:59:53 -04:00
mikael/pappa@dator5.(none)
a6f310d0c2 Merge dator5.(none):/home/pappa/bug20852
into  dator5.(none):/home/pappa/push_tree_w28
2006-07-15 03:49:01 -04:00
mikael/pappa@dator5.(none)
425c8883bb Merge dator5.(none):/home/pappa/bug20770
into  dator5.(none):/home/pappa/push_tree_w28
2006-07-15 03:46:01 -04:00
mikael/pappa@dator5.(none)
5a2edb5065 Merge dator5.(none):/home/pappa/bug20767
into  dator5.(none):/home/pappa/push_tree_w28
2006-07-15 03:41:41 -04:00
mikael/pappa@dator5.(none)
cfc65ef720 BUG#20389: Crash when using index scan in reverse order 2006-07-15 03:38:34 -04:00
kostja@bodhi.local
f536f361d9 Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge-5.0
2006-07-15 01:04:51 +04:00
sergefp@pylon.mylan
2834bc1eae Merge mysql.com:/home/psergey/tmp_merge-2
into  mysql.com:/home/psergey/mysql-5.1-merge-2
2006-07-14 19:10:54 +04:00
kostja@bodhi.local
436e7a2dd9 Post-merge fixes. 2006-07-14 02:07:37 +04:00
kostja@bodhi.local
d7845b74db Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge-5.0
2006-07-13 22:09:36 +04:00
kostja@bodhi.local
a38b418436 Post-merge fixes. 2006-07-13 17:34:49 +04:00
kostja@bodhi.local
99fefab169 Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge-5.0
2006-07-13 11:43:52 +04:00
mikael/pappa@dator5.(none)
e9ba287dc7 BUG#20852: Using update with full table scan causes mysqld to enter an eternal loop 2006-07-12 20:38:17 -04:00
kostja@bodhi.local
56353959e7 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-07-13 00:18:59 +04:00
mkindahl@dl145k.mysql.com
406d50db06 Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.1
into  dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.1-new-rpl
2006-07-12 10:07:07 +02:00
mkindahl@dl145k.mysql.com
f0537bc503 Post-merge fixes for mysql-5.1-new-rpl 2006-07-12 08:52:47 +02:00
mkindahl@dl145k.mysql.com
9415b24139 Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.1-new-rpl
into  dl145k.mysql.com:/data0/mkindahl/bk/MERGE/mysql-5.1-merge
2006-07-11 12:17:19 +02:00
ingo/mydev@chilla.local
f62b31c60e Merge chilla.local:/home/mydev/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-amerge
2006-07-11 11:34:38 +02:00
cmiller@zippy.(none)
512d1c7ff3 Merge zippy.(none):/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.1
2006-07-10 17:20:39 -04:00
mikael/pappa@dator5.(none)
65979719c7 BUG#20893: Valgrind error 2006-07-10 17:08:42 -04:00
patg@govinda.patg.net
ddcb190eac Small fix to mysql-5.1-engines, from merge from BUG #19773 2006-07-10 11:57:29 -07:00
guilhem@gbichot3.local
1cc3c80070 fixes after merge. Updates to test's results.
We now reset the THD members related to auto_increment+binlog in
MYSQL_LOG::write(). This is better than in THD::cleanup_after_query(),
which was not able to distinguish between SELECT myfunc1(),myfunc2()
and INSERT INTO t SELECT myfunc1(),myfunc2() from a binlogging point
of view.
Rows_log_event::exec_event() now calls lex_start() instead of
mysql_init_query() because the latter now does too much (it resets
the binlog format).
2006-07-10 18:41:03 +02:00
guilhem@gbichot3.local
93ce19dfb6 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  gbichot3.local:/home/mysql_src/mysql-5.1
2006-07-10 13:26:46 +02:00
ingo/mydev@chilla.local
69bf342a20 Merge chilla.local:/home/mydev/mysql-5.1-amerge
into  chilla.local:/home/mydev/mysql-5.1-aid
2006-07-10 12:41:07 +02:00
guilhem@gbichot3.local
bca3fc7800 Merge gbichot3.local:/home/mysql_src/mysql-5.1-interval-move-next-insert-id
into  gbichot3.local:/home/mysql_src/mysql-5.1
2006-07-09 22:50:02 +02:00
guilhem@gbichot3.local
1bfe0bdf72 Merge gbichot3.local:/home/mysql_src/mysql-5.1-new-19630
into  gbichot3.local:/home/mysql_src/mysql-5.1
2006-07-09 21:17:06 +02:00
guilhem@gbichot3.local
f6c996f0a2 post-merge fixes 2006-07-09 19:47:54 +02:00
guilhem@gbichot3.local
57ced262da Merge gbichot3.local:/home/mysql_src/mysql-5.1-new-WL3146-handler
into  gbichot3.local:/home/mysql_src/mysql-5.1
2006-07-09 18:47:08 +02:00
guilhem@gbichot3.local
1a506b34da Merge gbichot3.local:/home/mysql_src/mysql-5.0
into  gbichot3.local:/home/mysql_src/mysql-5.1
2006-07-09 18:13:57 +02:00
guilhem@gbichot3.local
0594e1b84b WL#3146 "less locking in auto_increment":
this is a cleanup patch for our current auto_increment handling:
new names for auto_increment variables in THD, new methods to manipulate them
(see sql_class.h), some move into handler::, causing less backup/restore
work when executing substatements. 
This makes the logic hopefully clearer, less work is is needed in
mysql_insert().
By cleaning up, using different variables for different purposes (instead
of one for 3 things...), we fix those bugs, which someone may want to fix
in 5.0 too:
BUG#20339 "stored procedure using LAST_INSERT_ID() does not replicate
statement-based"
BUG#20341 "stored function inserting into one auto_increment puts bad
data in slave"
BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY UPDATE"
(now if a row is updated, LAST_INSERT_ID() will return its id)
and re-fixes:
BUG#6880 "LAST_INSERT_ID() value changes during multi-row INSERT"
(already fixed differently by Ramil in 4.1)
Test of documented behaviour of mysql_insert_id() (there was no test).
The behaviour changes introduced are:
- LAST_INSERT_ID() now returns "the first autogenerated auto_increment value
successfully inserted", instead of "the first autogenerated auto_increment
value if any row was successfully inserted", see auto_increment.test.
Same for mysql_insert_id(), see mysql_client_test.c.
- LAST_INSERT_ID() returns the id of the updated row if ON DUPLICATE KEY
UPDATE, see auto_increment.test. Same for mysql_insert_id(), see
mysql_client_test.c.
- LAST_INSERT_ID() does not change if no autogenerated value was successfully 
inserted (it used to then be 0), see auto_increment.test.
- if in INSERT SELECT no autogenerated value was successfully inserted,
mysql_insert_id() now returns the id of the last inserted row (it already
did this for INSERT VALUES), see mysql_client_test.c.
- if INSERT SELECT uses LAST_INSERT_ID(X), mysql_insert_id() now returns X
(it already did this for INSERT VALUES), see mysql_client_test.c.
- NDB now behaves like other engines wrt SET INSERT_ID: with INSERT IGNORE,
the id passed in SET INSERT_ID is re-used until a row succeeds; SET INSERT_ID
influences not only the first row now.

Additionally, when unlocking a table we check that the thread is not keeping
a next_insert_id (as the table is unlocked that id is potentially out-of-date);
forgetting about this next_insert_id is done in a new
handler::ha_release_auto_increment().

Finally we prepare for engines capable of reserving finite-length intervals
of auto_increment values: we store such intervals in THD. The next step
(to be done by the replication team in 5.1) is to read those intervals from
THD and actually store them in the statement-based binary log. NDB
will be a good engine to test that.
2006-07-09 17:52:19 +02:00
guilhem@gbichot3.local
fdb0f85a0c * Mixed replication mode * :
1) Fix for BUG#19630 "stored function inserting into two auto_increment breaks
statement-based binlog":
a stored function inserting into two such tables may fail to replicate
(inserting wrong data in the slave's copy of the second table) if the slave's
second table had an internal auto_increment counter different from master's.
Because the auto_increment value autogenerated by master for the 2nd table
does not go into binlog, only the first does, so the slave lacks information.
To fix this, if running in mixed binlogging mode, if the stored function or
trigger plans to update two different tables both having auto_increment
columns, we switch to row-based for the whole function.
We don't have a simple solution for statement-based binlogging mode, there
the bug remains and will be documented as a known problem.
Re-enabling rpl_switch_stm_row_mixed.
2) Fix for BUG#20630 "Mixed binlogging mode does not work with stored
functions, triggers, views", which was a documented limitation (in mixed
mode, we didn't detect that a stored function's execution needed row-based
binlogging (due to some UUID() call for example); same for
triggers, same for views (a view created from a SELECT UUID(), and doing
INSERT INTO sometable SELECT theview; would not replicate row-based).
This is implemented by, after parsing a routine's body, remembering in sp_head
that this routine needs row-based binlogging. Then when this routine is used,
the caller is marked to require row-based binlogging too.
Same for views: when we parse a view and detect that its SELECT needs
row-based binary logging, we mark the calling LEX as such.
3) Fix for BUG#20499 "mixed mode with temporary table breaks binlog":
a temporary table containing e.g. UUID has its changes not binlogged,
so any query updating a permanent table with data from the temporary table
will run wrongly on slave. Solution: in mixed mode we don't switch back
from row-based to statement-based when there exists temporary tables.
4) Attempt to test mysqlbinlog on a binlog generated by mysqlbinlog;
impossible due to BUG#11312 and BUG#20329, but test is in place for when
they are fixed.
2006-07-09 17:00:47 +02:00
aelkin/elkin@dsl-hkigw8-feb1fb00-100.dhcp.inet.fi
774de06d2b BUG#19188 incorrect temporary table name of DROP query in replication
manual merge of 5.0 patch and fixing an issue with closing temp tables when no binlog or RBR.
Note, that despite temporary_tables is indeed double-linked list in 5.1 (patch for bug #19881) it is still enough to use only 'next' reference, as it was done for 5.0, when the list is sorted and 
destoyed after.
2006-07-09 00:29:33 +03:00
ingo/mydev@chilla.local
4cdb1469e0 Merge chilla.local:/home/mydev/mysql-5.1--main
into  chilla.local:/home/mydev/mysql-5.1-amerge
2006-07-08 10:54:54 +02:00
aelkin/elkin@dsl-hkigw8-feb1fb00-100.dhcp.inet.fi
d6a88d0dc0 Merge dsl-hkigw8-feb1fb00-100.dhcp.inet.fi:/usr_rh9/home/elkin.rh9/MySQL/TEAM/BARE/5.1
into  dsl-hkigw8-feb1fb00-100.dhcp.inet.fi:/usr_rh9/home/elkin.rh9/MySQL/TEAM/FIXES/5.1/bug19188_graved_temp
2006-07-08 11:03:40 +03:00
mats@romeo.(none)
5488c269be BUG#20821 (INSERT DELAYED failes to write some rows to binlog):
Fixing typo and potential memory problem.
Reducing number of concurrent mysqlslap threads since tests fail
in pushbuild due to too many threads.
2006-07-08 06:15:24 +02:00
tomas@poseidon.ndb.mysql.com
4f7df01b4f Bug #20843 tests fails randomly with assertion in completeClusterFailed
Bug #20902 Alter table invalid schema version with statement-based binlogging
(latter caused by the above)
2006-07-08 03:26:13 +02:00
aelkin/elkin@dsl-hkigw8-feb1fb00-100.dhcp.inet.fi
9b46bdbc20 Merge dsl-hkigw8-feb1fb00-100.dhcp.inet.fi:/usr_rh9/home/elkin.rh9/MySQL/TEAM/BARE/5.1
into  dsl-hkigw8-feb1fb00-100.dhcp.inet.fi:/usr_rh9/home/elkin.rh9/MySQL/TEAM/FIXES/5.1/bug19188_graved_temp
2006-07-07 22:25:16 +03:00
mats@romeo.(none)
c18b7d191a Fixing usage of my_strndup() to new prototype. 2006-07-07 21:03:19 +02:00
dlenev@jabberwock.site
e4a9f06a8b Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  jabberwock.site:/home/dlenev/mysql-5.1-bg18437
2006-07-07 23:01:28 +04:00
patg@govinda.patg.net
99a2489e94 BUG #19773
Small post-patch fixes
2006-07-07 11:17:50 -07:00
mats@romeo.(none)
4044fb8cc7 Bug#20850 (Assert during slave shutdown in many rpl_* tests):
Previous patch didn't work: moving variable settings inside critical region.
2006-07-07 18:31:00 +02:00