Commit graph

31346 commits

Author SHA1 Message Date
unknown
4a1376deb5 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/autopush/mysql-5.0.b10979
2006-07-07 15:51:30 +05:00
unknown
2c48aaa183 ndb - bug#20847 : DbtupTabDesMan: add merge with left buddies
ndb/src/kernel/blocks/ERROR_codes.txt:
  DbtupTabDesMan: add merge with left buddies
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  DbtupTabDesMan: add merge with left buddies
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  DbtupTabDesMan: add merge with left buddies
ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp:
  DbtupTabDesMan: add merge with left buddies
ndb/test/ndbapi/testDict.cpp:
  DbtupTabDesMan: add merge with left buddies
ndb/test/run-test/daily-basic-tests.txt:
  DbtupTabDesMan: add merge with left buddies
2006-07-07 10:57:22 +02:00
unknown
28729caaf6 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b17647


sql/sql_acl.cc:
  Auto merged
2006-07-07 12:17:00 +05:00
unknown
60e19d28c5 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.0.b10979


client/mysql.cc:
  Auto merged
2006-07-07 12:14:12 +05:00
unknown
5ac016a814 Merge ymer.(none):/usr/local/mysql/mysql-5.0-bug19951
into  ymer.(none):/usr/local/mysql/tmp-5.0
2006-07-06 23:52:05 +02:00
unknown
224082fc6b BUG#19951: Race conditions in test wait_timeout.
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.
2006-07-06 23:49:09 +02:00
unknown
41c7aece39 Added a test case with views for bug 18243 (see also func_str.test). 2006-07-06 14:41:01 -07:00
unknown
cba001b77a Merge olga.mysql.com:/home/igor/mysql-4.1-opt
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
2006-07-06 13:40:08 -07:00
unknown
4cb0659de2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.netgear:/opt/local/work/mysql-4.1-19399


sql/table.cc:
  Auto merged
2006-07-07 00:01:05 +04:00
unknown
08477de3bc Merge chilla.local:/home/mydev/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-amerge


mysql-test/r/key.result:
  Auto merged
mysql-test/t/key.test:
  Auto merged
sql-common/client.c:
  Auto merged
sql/table.cc:
  Auto merged
2006-07-06 21:59:48 +02:00
unknown
8995277acc A fix and a test case for Bug#19399 "res 'Lost Connection' when
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().
2006-07-06 23:59:04 +04:00
unknown
8cb368bcc3 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-4.1-opt
2006-07-06 11:38:48 -07:00
unknown
cf7627bce0 Fixed bug .
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 .
mysql-test/t/func_str.test:
  Added a test case for bug .
sql/item_strfunc.cc:
  Fixed bug .
  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 .
  Added tmp_value to the Item_func_reverse class to store
  the result of the function. It erroneously replaced the 
  argument before this fix.
2006-07-06 11:11:49 -07:00
unknown
567df16165 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
2006-07-06 20:09:25 +02:00
unknown
a810c61f2e Merge chilla.local:/home/mydev/mysql-5.0-bug16218
into  chilla.local:/home/mydev/mysql-5.0-ateam


sql/field.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-07-06 19:38:10 +02:00
unknown
013cbc3964 Merge chilla.local:/home/mydev/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-bug16218


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-07-06 19:36:07 +02:00
unknown
99e347b154 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
2006-07-06 19:03:33 +02:00
unknown
ce554d56a4 Bug auto inc table not handled correctly when restored from cluster backup 2006-07-06 18:50:44 +02:00
unknown
337310a96c Merge jonas@perch:src/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main
2006-07-06 16:06:19 +02:00
unknown
05dad2de21 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main
2006-07-06 16:03:22 +02:00
unknown
8cb6392c9f Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into trift2.:/M50/merge-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
2006-07-06 16:03:02 +02:00
unknown
af3f5c9e37 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
2006-07-06 16:03:01 +02:00
unknown
5d6e7a0016 Merge chilla.local:/home/mydev/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-ateam


libmysqld/lib_sql.cc:
  Auto merged
libmysqld/libmysqld.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
myisam/mi_key.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/gis.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/func_sapdb.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/gis-rtree.test:
  Auto merged
mysql-test/t/gis.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/item_geofunc.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/table.cc:
  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
2006-07-06 15:59:03 +02:00
unknown
3e9758bc23 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main


ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
2006-07-06 15:23:35 +02:00
unknown
73bf763071 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main
2006-07-06 15:22:25 +02:00
unknown
123c0a98b4 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0


ndb/src/ndbapi/DictCache.cpp:
  Auto merged
2006-07-06 15:20:22 +02:00
unknown
7997d847f2 backport of ndb DictCache fix
- don't invalidate tables that are in state RETRIEVING
2006-07-06 15:18:00 +02:00
unknown
9ba3838270 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  gbichot3.local:/home/mysql_src/mysql-5.0
2006-07-06 14:46:52 +02:00
unknown
90cf816f74 Merge gbichot3.local:/home/mysql_src/mysql-5.0-20524
into  gbichot3.local:/home/mysql_src/mysql-5.0


sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2006-07-06 14:42:47 +02:00
unknown
8646be88a1 Fix for BUG#20524 "auto_increment_* not observed when inserting
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.
2006-07-06 14:37:09 +02:00
unknown
16556f6132 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-07-06 13:23:19 +02:00
unknown
685ccf85d4 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
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.
2006-07-06 14:31:32 +04:00
unknown
665d46e1b6 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/test
2006-07-06 13:26:23 +03:00
unknown
8e354677a8 Bug Garbage in DECIMAL results from some mathematical functions
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"
2006-07-06 13:18:05 +03:00
unknown
54f3f0263e Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0


ndb/src/ndbapi/NdbScanOperation.cpp:
  SCCS merged
2006-07-06 09:47:59 +02:00
unknown
d2eeb79edb Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0


ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
2006-07-06 09:41:25 +02:00
unknown
0890735c7a ndb - revert bug fix for bug#20442 2006-07-06 09:38:18 +02:00
unknown
abae33fe98 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/space_old/pekka/ndb/version/my41
2006-07-06 05:01:09 +02:00
unknown
cee36215f0 Merge xiphis.org:/home/antony/work2/mysql-5.0-engines
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
2006-07-05 17:26:16 -07:00
unknown
854d7c4d4f Bug#8706
"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
2006-07-05 17:18:59 -07:00
unknown
623f8beec0 ndbd: added missing jamEntry(); 2006-07-05 20:24:12 +02:00
unknown
051f3892c3 Bug ndbd --nowait-nodes=<id_of_running_node> fails
- updated error message to more correctly reflect the issue
2006-07-05 20:20:39 +02:00
unknown
f0e2be1382 Extend the Perl script running the test suite to produce a "Logging:" line (like the shell script does).
mysql-test/mysql-test-run.pl:
  Now that the RPM spec files use the Perl script to run the tests, we also need the "Logging:"
  line in its output, because otherwise we lack the information how the test suite was run.
  Add the line.
2006-07-05 20:17:04 +02:00
unknown
4d71b8f8f9 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
2006-07-05 16:40:24 +02:00
unknown
7a8c451655 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main


ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
ndb/src/common/debugger/signaldata/SignalNames.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
2006-07-05 16:34:34 +02:00
unknown
53ed06f270 Bug NDB node fails to restart, cluster stuck in state trying to restart it.
- remove some event code to get rid of some bugs
2006-07-05 16:26:08 +02:00
unknown
d87e4fbffb After merge fix 2006-07-05 16:23:18 +02:00
unknown
4e9d7d6c4b Fix for BUG#20188 "REPLACE or ON DUPLICATE KEY UPDATE in
auto_increment breaks binlog":
if slave's table had a higher auto_increment counter than master's (even
though all rows of the two tables were identical), then in some cases,
REPLACE and INSERT ON DUPLICATE KEY UPDATE failed to replicate
statement-based (it inserted different values on slave from on master).
write_record() contained a "thd->next_insert_id=0" to force an adjustment
of thd->next_insert_id after the update or replacement. But it is this
assigment introduced indeterminism of the statement on the slave, thus
the bug. For ON DUPLICATE, we replace that assignment by a call to
handler::adjust_next_insert_id_after_explicit_value() which is deterministic
(does not depend on slave table's autoinc counter). For REPLACE, this
assignment can simply be removed (as REPLACE can't insert a number larger
than thd->next_insert_id).
We also move a too early restore_auto_increment() down to when we really know
that we can restore the value.


mysql-test/r/rpl_insert_id.result:
  result update, without the bugfix, slave's "3 350" were "4 350".
mysql-test/t/rpl_insert_id.test:
  test for BUG#20188 "REPLACE or ON DUPLICATE KEY UPDATE in
  auto_increment breaks binlog".
  There is, in this order:
  - a test of the bug for the case of REPLACE
  - a test of basic ON DUPLICATE KEY UPDATE functionality which was not
  tested before
  - a test of the bug for the case of ON DUPLICATE KEY UPDATE
sql/handler.cc:
  the adjustment of next_insert_id if inserting a big explicit value, is
  moved to a separate method to be used elsewhere.
sql/handler.h:
  see handler.cc
sql/sql_insert.cc:
  restore_auto_increment() means "I know I won't use this autogenerated
  autoincrement value, you are free to reuse it for next row". But we were
  calling restore_auto_increment() in the case of REPLACE: if write_row() fails
  inserting the row, we don't know that we won't use the value, as we are going to
  try again by doing internally an UPDATE of the existing row, or a DELETE
  of the existing row and then an INSERT. So I move restore_auto_increment()
  further down, when we know for sure we failed all possibilities for the row.
  Additionally, in case of REPLACE, we don't need to reset THD::next_insert_id:
  the value of thd->next_insert_id will be suitable for the next row.
  In case of ON DUPLICATE KEY UPDATE, resetting thd->next_insert_id is also
  wrong (breaks statement-based binlog), but cannot simply be removed, as
  thd->next_insert_id must be adjusted if the explicit value exceeds it.
  We now do the adjustment by calling
  handler::adjust_next_insert_id_after_explicit_value() (which, contrary to
  thd->next_insert_id=0, does not depend on the slave table's autoinc counter,
  and so is deterministic).
2006-07-05 14:41:35 +02:00
unknown
55736ce5ef Merge mysql.com:/home/mydev/mysql-4.1-bug19835
into  mysql.com:/home/mydev/mysql-5.0-ateam


myisam/mi_dynrec.c:
  Auto merged
2006-07-05 11:24:50 +02:00
unknown
a4a905f3fb Merge mysql.com:/home/mydev/mysql-4.1-bug17877
into  mysql.com:/home/mydev/mysql-5.0-ateam


myisam/mi_key.c:
  Auto merged
mysql-test/r/gis-rtree.result:
  Auto merged
mysql-test/t/gis-rtree.test:
  Auto merged
myisam/mi_check.c:
  SCCS merged
2006-07-05 11:23:21 +02:00