into jabberwock.site:/home/dlenev/mysql-5.1-bg18437
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
sql/sql_table.cc:
Manual merge.
into govinda.patg.net:/home/patg/mysql-build/mysql-5.1-merge1
mysql-test/r/federated.result:
BUG #19773
Hand-merge conflicts from 5.0 to 5.1
mysql-test/t/federated.test:
BUG #19773
Hand-merge conflicts from 5.0 to 5.1
sql/ha_federated.cc:
BUG #19773
Hand-merge conflicts from 5.0 to 5.1
sql/ha_federated.h:
BUG #19773
Hand-merge conflicts from 5.0 to 5.1
Fix random failures in test 'wait_timeout' that depend on exact timing.
1. Force a reconnect initially if necessary, as otherwise slow startup
might have caused a connection timeout before the test can even start.
2. Explicitly disconnect the first connection to remove confusion about
which connection aborts from timeout, causing test failure.
mysql-test/r/wait_timeout.result:
Fix two races in test.
mysql-test/t/wait_timeout.test:
Fix two races in test.
into olga.mysql.com:/home/igor/mysql-5.0-opt
mysql-test/r/func_str.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/item.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
statement-based" (bugfix was committed today):
we verify that now it works in mixed mode. And a comment.
mysql-test/r/rpl_switch_stm_row_mixed.result:
result update
mysql-test/t/rpl_switch_stm_row_mixed.test:
testcase for BUG#20633
sql/sql_insert.cc:
the #ifdef was not necessary; a comment.
dropping/creating tables".
The bug could lead to a crash when multi-delete statements were
prepared and used with temporary tables.
The bug was caused by lack of clean-up of multi-delete tables before
re-execution of a prepared statement. In a statement like
DELETE t1 FROM t1, t2 WHERE ... the first table list (t1) is
moved to lex->auxilliary_table_list and excluded from lex->query_tables
or select_lex->tables. Thus it was unaccessible to reinit_stmt_before_use
and not cleaned up before re-execution of a prepared statement.
mysql-test/r/ps.result:
Updated test results (Bug#19399)
mysql-test/t/ps.test:
A test case for Bug#19399 "Stored Procedures 'Lost Connection' when
dropping/creating tables": test that multi-delete
tables are cleaned up properly before re-execution.
sql/sql_lex.cc:
Always initialize auxilliary_table_list when we initialize the lex:
this way we don't have to check that lex->sql_command equals to
SQLCOM_DELETE_MULTI whenever we need to access auxilliary_table_list.
In particular, in reinit_stmt_before_use we can simply check that
auxilliary_table_list is not NULL and clean it up if the check returns
a true value.
sql/sql_prepare.cc:
Move the one table clean-up functionality to a method of st_table_list.
Clean up auxiliary_table_list if it's not empty.
sql/table.cc:
Implement st_table_list::reinit_before_use().
sql/table.h:
Declare st_table_list::reinit_before_use().
The implementation of the method Item_func_reverse::val_str
for the REVERSE function modified the argument of the function.
This led to wrong results for expressions that contained
REVERSE(ref) if ref occurred somewhere else in the expressions.
mysql-test/r/func_str.result:
Added a test case for bug #18243.
mysql-test/t/func_str.test:
Added a test case for bug #18243.
sql/item_strfunc.cc:
Fixed bug #18243.
The implementation of the method Item_func_reverse::val_str
for the REVERSE function modified the argument of the function.
This led to wrong results for expressions that contained
REVERSE(ref) if ref occurred somewhere else in the expressions.
The implementation of Item_func_reverse::val_str has been changed
to make the argument intact.
sql/item_strfunc.h:
Fixed bug #18243.
Added tmp_value to the Item_func_reverse class to store
the result of the function. It erroneously replaced the
argument before this fix.
mysql-test/t/ndb_dd_backuprestore.test:
make sure only run in default cluster
mysql-test/t/rpl_ndb_dd_advance.test:
make sure only run in default cluster
mysql-test/t/rpl_ndb_sync.test:
make sure only run in default cluster
into gbichot3.local:/home/mysql_src/mysql-5.1-new-WL3146-handler
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/rpl_row_create_table.result:
Auto merged
mysql-test/t/rpl_row_create_table.test:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
The bug was that if the server was running in mixed binlogging mode,
and an INSERT DELAYED used some needing-row-based components like UUID(),
the server didn't binlog this row-based but statement-based, which
thus failed to insert correct data on the slave.
This changeset implements that when a delayed_insert thread is created,
if the server's global binlog mode is "mixed", that thread will use row-based.
This also fixes BUG#20633 "INSERT DELAYED RAND() or @user_var does not
replicate statement-based": we don't fix it in statement-based mode (would
require bookeeping of rand seeds and user variables used by each row),
but at least it will now work in mixed mode (as row-based will be used).
We re-enable rpl_switch_stm_row_mixed.test (so BUG#18590
which was about re-enabling this test, will be closed) to test the fixes.
Between when it was disabled and now, some good changes to row-based
binlogging (no generation of table map events for non-changed tables)
induce changes in the test's result file.
mysql-test/r/rpl_switch_stm_row_mixed.result:
result update.
Note that some pieces of binlog are gone, not due to my test but to changes
to the row-based binlogging code (non-changed tables don't generate
table map binlog events now) done while the test was disabled.
mysql-test/t/disabled.def:
this test works now
mysql-test/t/rpl_switch_stm_row_mixed.test:
testing fix to make INSERT DELAYED work in mixed mode
sql/sql_insert.cc:
In mixed binlogging mode, the delayed_insert system thread now always
uses row-based binlogging.
This makes replication of INSERT DELAYED VALUES(RAND()) or VALUES(@a)
work in mixed mode (it does not in statement-based).
a too large value": the bug was that if MySQL generated a value for an
auto_increment column, based on auto_increment_* variables, and this value
was bigger than the column's max possible value, then that max possible
value was inserted (after issuing a warning). But this didn't honour
auto_increment_* variables (and so could cause conflicts in a master-master
replication where one master is supposed to generated only even numbers,
and the other only odd numbers), so now we "round down" this max possible
value to honour auto_increment_* variables, before inserting it.
mysql-test/r/rpl_auto_increment.result:
result update. Before the fix, the result was that master inserted 127 in t1
(which didn't honour auto_increment_* variables!),
instead of failing with "duplicate key 125" like now.
mysql-test/t/rpl_auto_increment.test:
Test for BUG#20524 "auto_increment_* not observed when inserting
a too large value".
We also check the pathological case (table t2) where it's impossible to
"round down".
The fixer of BUG#20573 will be able to use table t2 for testing his fix.
sql/handler.cc:
If handler::update_auto_increment() generates a value larger than the field's
max possible value, we used to simply insert this max possible value
(after pushing a warning). Now we "round down" this max possible value to
honour auto_increment_* variables (if at all possible), before trying the
insertion.
into chilla.local:/home/mydev/mysql-5.1-ateam
libmysqld/lib_sql.cc:
Auto merged
libmysqld/libmysqld.c:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/key.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/field.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/table.cc:
Auto merged
storage/myisam/mi_check.c:
Auto merged
storage/myisam/mi_create.c:
Auto merged
storage/myisam/mi_delete_table.c:
Auto merged
storage/myisam/mi_dynrec.c:
Auto merged
storage/myisam/mi_key.c:
Auto merged
storage/myisam/mi_rkey.c:
Auto merged
storage/myisam/rt_index.c:
Auto merged
storage/myisam/rt_mbr.c:
Auto merged
support-files/mysql.spec.sh:
Auto merged
mysql-test/r/ctype_utf8.result:
Manual merge
mysql-test/r/key.result:
Manual merge
mysql-test/t/ctype_utf8.test:
Manual merge
sql/item_timefunc.cc:
Manual merge
into mysql.com:/home/dlenev/mysql-5.0-bg18437-3
mysql-test/t/federated.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_update.cc:
Auto merged
mysql-test/r/federated.result:
Manual merge.
Adding decimal "digits" in multiplication resulted in signed overflow and
producing wrong results.
Fixed by using large enough buffers and intermediary result types :
dec2 (currently longlong) to hold result of adding decimal "digits"
(currently int32).
mysql-test/r/select.result:
Bug #20569 Garbage in DECIMAL results from some mathematical functions
* test suite for the bug
mysql-test/t/select.test:
Bug #20569 Garbage in DECIMAL results from some mathematical functions
* test suite for the bug
strings/decimal.c:
Bug #20569 Garbage in DECIMAL results from some mathematical functions
* fixed the overflow in adding decimal "digits"
before update trigger on NDB table".
Two main changes:
- We use TABLE::read_set/write_set bitmaps for marking fields used by
statement instead of Field::query_id in 5.1.
- Now when we mark columns used by statement we take into account columns
used by table's triggers instead of marking all columns as used if table
has triggers.
mysql-test/r/federated.result:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
mysql-test/t/federated.test:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
sql/ha_partition.cc:
Added handling of HA_EXTRA_WRITE_CAN_REPLACE/HA_EXTRA_WRITE_CANNOT_REPLACE
to ha_partition::extra().
sql/item.cc:
Adjusted comment after merge. In 5.1 we use TABLE::read_set/write_set
bitmaps instead of Field::query_id for marking columns used.
sql/log_event.cc:
Write_rows_log_event::do_before_row_operations():
Now we explicitly inform handler that we want to replace rows so it can
promote operation done by write_row() to replace.
sql/mysql_priv.h:
Removed declaration of mark_fields_used_by_triggers_for_insert_stmt() which
is no longer used (we have TABLE::mark_columns_needed_for_insert() instead).
sql/sql_insert.cc:
Adjusted code after merge. Get rid of mark_fields_used_by_triggers_for_insert_stmt()
as now we use TABLE::mark_columns_needed_for_insert() for the same purprose.
Aligned places where we call this method with places where we call
mark_fields_used_by_triggers_for_insert() in 5.0.
Finally we no longer need to call handler::extra(HA_EXTRA_WRITE_CAN_REPLACE)
in case of REPLACE statement since in 5.1 write_record() marks all columns
as used before doing actual row replacement.
sql/sql_load.cc:
Adjusted code after merge. In 5.1 we use TABLE::mark_columns_needed_for_insert() instead of
mark_fields_used_by_triggers_for_insert_stmt() routine. We also no longer
need to call handler::extra(HA_EXTRA_RETRIEVE_ALL_COLS) if we execute LOAD
DATA REPLACE since in 5.1 write_record() will mark all columns as used before
doing actual row replacement.
sql/sql_trigger.cc:
Table_triggers_list::mark_fields_used():
We use TABLE::read_set/write_set bitmaps for marking fields used instead
of Field::query_id in 5.1.
sql/sql_trigger.h:
TABLE::mark_columns_needed_for_* methods no longer need to be friends of
Table_triggers_list class as intead of dirrectly accessing its private
members they can use public Table_triggers_list::mark_fields_used() method.
Also Table_triggers)list::mark_fields_used() no longer needs THD argument.
sql/table.cc:
TABLE::mark_columns_needed_for_*():
Now we mark columns which are really used by table's triggers instead of
marking all columns as used if table has triggers.
into xiphis.org:/home/antony/work2/p2-bug8706.3-merge-5.0
configure.in:
Auto merged
mysql-test/r/federated.result:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
"temporary table with data directory option fails"
myisam should not use user-specified table name when creating
temporary tables and use generated connection specific real name.
Test included.
myisam/mi_create.c:
Bug#8706
When creating a temporary table with directory override, ensure that
the real filename is using the hidden temporary name otherwise
multiple clients cannot have same named temporary tables without
conflict.
mysql-test/r/myisam.result:
Bug#8706
Test for bug
mysql-test/t/myisam.test:
Bug#8706
Test for bug
- flush gci needs to be reset on disconnect as cluster may reconnect after --initial with a smaller gci
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
Bug #20843 tests fails randomly with assertion in completeClusterFailed
reenabled test
into zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.1-new-maint
BUILD/compile-dist:
Auto merged
BitKeeper/deleted/.del-partition_innodb.result:
Auto merged
BitKeeper/deleted/.del-partition_innodb.test:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/create_not_windows.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/partition.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/innodb_mysql.test:
Auto merged
mysql-test/t/partition.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/wait_timeout.test:
Auto merged
mysys/my_lib.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/unireg.cc:
Auto merged
mysql-test/extra/rpl_tests/rpl_log.test:
manuakl merge
mysql-test/lib/mtr_process.pl:
manuakl merge
mysql-test/mysql-test-run.pl:
manuakl merge
mysql-test/r/type_newdecimal.result:
manuakl merge
mysql-test/t/create.test:
manuakl merge
mysql-test/t/func_group.test:
manuakl merge
mysql-test/t/type_newdecimal.test:
manuakl merge