Fixes:
- Bug #34920: auto_increment resets to 1 on foreign key creation
We need to use/inherit the passed in autoinc counter for ALTER TABLE
statements too.
mysql-test/r/innodb.result:
Apply innodb-5.1-ss2360 snapshot
Revision r2345:
branches/5.1: Fix Bug# 34920. We need to use/inherit the passed in autoinc
counter for ALTER TABLE statements too.
mysql-test/t/innodb.test:
Apply innodb-5.1-ss2360 snapshot
Revision r2345:
branches/5.1: Fix Bug# 34920. We need to use/inherit the passed in autoinc
counter for ALTER TABLE statements too.
storage/innobase/dict/dict0dict.c:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
storage/innobase/handler/ha_innodb.cc:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
Revision r2345:
branches/5.1: Fix Bug# 34920. We need to use/inherit the passed in autoinc
counter for ALTER TABLE statements too.
storage/innobase/handler/ha_innodb.h:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
storage/innobase/include/dict0dict.h:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
storage/innobase/include/dict0mem.h:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
storage/innobase/include/row0sel.h:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
storage/innobase/include/univ.i:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
storage/innobase/row/row0sel.c:
Apply innodb-5.1-ss2360 snapshot
Revision r2353:
branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
the assertion where it crashed previously, since the type has now changed
to unsigned, it doesn't make sense to check for < 0. Added new tests, to
check for overflow, for the different INT types supported for both
signed and unsigned.
Bug#21413
"Engine table handler used by multiple threads in REPLACE DELAYED"
When executing a REPLACE DELAYED statement, the storage engine
::extra() method was invoked by a different thread than the thread
which has acquired the handler instance.
This did not cause problems within the current server and with
the current storage engines.
But it has the potential to confuse future storage engines.
Added code to avoid surplus calls to extra() method in case of DELAYED
which avoids calling storage engine from a different thread than
expected.
No test case.
This change does not change behavior in conjunction with current
storage engines. So it cannot be tested by the regression test suite.
sql/sql_insert.cc:
Bug#21413
When performing DELAYED operations, we should not call
the storage engine methods from the 'wrong' context.
Ensure that the calls to the methods are appropiately guarded
by either moving calls to sections where the lock_type is checked.
No need to copy all elements of TABLE_LIST when opening table
using open_ltable().
into host.loc:/home/uchum/work/5.1-opt
mysql-test/r/view.result:
Merge with 5.0-opt (bug#35193).
mysql-test/t/view.test:
Merge with 5.0-opt (bug#35193).
sql/sql_select.cc:
Merge with 5.0-opt (bug#35193).
View definition as SELECT ... FROM DUAL WHERE ... has
valid syntax, but use of such view in SELECT or
SHOW CREATE VIEW syntax causes unexpected syntax error.
Server omits FROM DUAL clause when storing view body
string in a .frm file for further evaluation.
However, syntax of SELECT-witout-FROM query is more
restrictive than SELECT FROM DUAL syntax, and doesn't
allow the WHERE clause.
NOTE: this syntax difference is not documented.
View registration procedure has been modified to
preserve original structure of view's body.
mysql-test/r/view.result:
Added test case for bug #35193.
mysql-test/t/view.test:
Added test case for bug #35193.
sql/sql_select.cc:
Fixed bug #35193.
The st_select_lex::print function always omits FROM DUAL clause,
even if original SELECT query has the WHERE clause.
The mysql_register_view function uses this function to reconstruct
a body of view's AS clause for further evaluation and stores that
reconstructed clause in a .frm file.
SELECT without FROM syntax is more restrictive than
SELECT FROM DUAL syntax: second one allows
the WHERE clause, but first one is not.
Use of this view in SELECT or SHOW CREATE VIEW queries
causes unexpected syntax errors.
The st_select_lex::print function has been modified to
reconstruct FROM DUAL clause in queries when needed.
TODO: Syntax difference is not documented and should be
eliminated, however improvement of
the SELECT-without-FROM syntax is not trivial and leads to
significant modification of grammar file because of additional
shift/reduce conflicts.
The bug is a regression introduced in 5.1 by the patch for bug28404.
Under some circumstances test_if_skip_sort_order() could leave some
data structures in an inconsistent state so that some parts of code
could assume the selected execution strategy for GROUP BY/DISTINCT as
a loose index scan (e.g. JOIN_TAB::is_using_loose_index_scan()), while
the actual strategy chosen was an ordered index scan, which led to
wrong data being returned.
Fixed test_if_skip_sort_order() so that when changing the type for a
join table, select->quick is reset not only for EXPLAIN, but for the
actual join execution as well, to not confuse code that depends on its
value to determine the chosen GROUP BY/DISTINCT strategy.
mysql-test/r/distinct.result:
Added a test case for bug #34928.
mysql-test/t/distinct.test:
Added a test case for bug #34928.
sql/sql_select.cc:
When changing the table's join type to JT_NEXT in
test_if_skip_sort_order(), also reset select->quick because other
code may depend on its value to determine the GROUP BY/DISTINCT
execution strategy.
into stella.local:/home2/mydev/mysql-5.1-axmrg
mysql-test/t/query_cache.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
mysql-test/r/query_cache.result:
SCCS merged
into mail.hezx.com:/media/sda3/work/mysql/bkwork/b33029_5.0_to_5.1_fails_on_dup_key/5.1
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
mysql-test/lib/mtr_report.pl:
Auto merged
sql/handler.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/log.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into stella.local:/home2/mydev/mysql-5.1-axmrg
mysql-test/r/federated.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
storage/federated/ha_federated.cc:
Auto merged
mysql-test/suite/binlog/r/binlog_unsafe.result:
Manual merge
mysql-test/suite/binlog/t/binlog_unsafe.test:
Manual merge
into stella.local:/home2/mydev/mysql-5.1-axmrg
mysql-test/r/ctype_big5.result:
Auto merged
mysql-test/r/ctype_euckr.result:
Auto merged
mysql-test/r/ctype_gb2312.result:
Auto merged
mysql-test/r/ctype_gbk.result:
Auto merged
mysql-test/r/ctype_uca.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
sql/slave.cc:
Auto merged
mysql-test/r/federated.result:
Manual merge from 5.0
mysql-test/t/federated.test:
Manual merge from 5.0
storage/federated/ha_federated.cc:
Manual merge from 5.0
into stella.local:/home2/mydev/mysql-5.1-axmrg
mysql-test/r/ctype_big5.result:
Auto merged
mysql-test/r/ctype_euckr.result:
Auto merged
mysql-test/r/ctype_gb2312.result:
Auto merged
mysql-test/r/ctype_gbk.result:
Auto merged
mysql-test/r/ctype_uca.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/rpl_rli.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/lib/mtr_report.pl:
SCCS merged
into stella.local:/home2/mydev/mysql-5.0-axmrg
mysql-test/r/ctype_big5.result:
Auto merged
mysql-test/r/ctype_cp932.result:
Auto merged
mysql-test/r/ctype_euckr.result:
Auto merged
mysql-test/r/ctype_gb2312.result:
Auto merged
mysql-test/r/ctype_gbk.result:
Auto merged
mysql-test/r/ctype_uca.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
sql/slave.cc:
Auto merged
plugin_load.test created lines in the warnings files and made
pushbuild cells yellow. Some pushbuild systems are configured
so that they don't build the ha_example plugin. Trying to load
them creates error messages in the error log. These were copied
to the warnings file.
Fixed by ignoring expected error messages for non-existent
ha_example.
mysql-test/lib/mtr_report.pl:
Bug#35559 - plugin_load.test creates warnings
Ignore expected error messages for non-existent ha_example.
When trying to get the requested amount of memory for the keybuffer,
the out of memory could be signaled if one of the tentative allocations
fail. Later the server would crash (debug assert) when trying to send
a ok packet with a error set.
The solution is only to signal the error if all tentative allocations
for the keybuffer fail.
mysql-test/r/key_cache.result:
Add test case result for Bug#35272
mysql-test/t/key_cache.test:
Add test case for Bug#35272
mysys/mf_keycache.c:
Don't set error on my_large_malloc if allocation fails.
Set the error if all tentative allocations failed.
instructions)
This bug can not be reproduced in the current version,
adding the test case to the test suite for coverage, no code change.
mysql-test/r/sp-code.result:
Bug#20906 (Multiple assignments in SET in stored routine produce incorrect
instructions)
mysql-test/t/sp-code.test:
Bug#20906 (Multiple assignments in SET in stored routine produce incorrect
instructions)
into mysql.com:/home/svoj/devel/mysql/BUG34768/mysql-5.1-engines
mysql-test/t/federated.test:
Auto merged
storage/federated/ha_federated.cc:
Use local.
The server used to trust blindly information from the client about
its capabilities. During the connection handshake the server sends
information about what it supports and then the client sends back a
set of capabilities which cover all of the server's or less.
Before this changeset the server didn't check whether the flags sent
by the client were valid for the server. For example, if the server
doesn't support compressed protocol but the client does and sends that
bit turned on, the server didn't check it. The change make the server code
less error prone to problems related to the value of THD::client_capabilities.
Clearly there is no vulnerability being fixed but this is a maintainenance
fix to prevent misusage in the future.
include/mysql_com.h:
List all CLIENT flags in a common defition. Add also a definition
which excludes flags, which are optoinal.
sql/sql_connect.cc:
Renamed client_flags to server_capabilities to reflect what
the server supports. Only allow from the client the flags the
server supports.
into host.loc:/home/uchum/work/5.1-opt
sql/sql_show.cc:
Auto merged
mysql-test/r/information_schema.result:
Merge with 5.0-opt.
mysql-test/t/information_schema.test:
Merge with 5.0-opt.
Minor test case cleanup after bug#34529.
mysql-test/r/information_schema.result:
Minor test case cleanup after bug#34529.
mysql-test/t/information_schema.test:
Minor test case cleanup after bug#34529.
mysql-test/mysql-test-run.pl:
Group all code to find extra suites together
Fix problem with infinite loop by using splitdir to split the path
Use a hash to map clone name -> extr suite
sql/set_var.h:
Changing order of initializer list for sys_var class constructor to
eliminate compiler warning.
mysql-test/suite/binlog/combinations:
New BitKeeper file ``mysql-test/suite/binlog/combinations''
BUG#34790 - 'create server' doesn't handle out of memory scenario
well enough
This is an addition to fixes for these bugs, which makes gcov
happy.
mysql-test/r/federated.result:
CREATE SERVER is only tested by federated_server.test, which requires
big-test option. Added dummy test case to make gcov happy.
mysql-test/t/federated.test:
CREATE SERVER is only tested by federated_server.test, which requires
big-test option. Added dummy test case to make gcov happy.
sql/sql_parse.cc:
Make gcov happy.
if binlog_format=mixed
Addition to fix for BUG#34768: fixed test case failures discovered
by pushbuild.
mysql-test/suite/binlog/r/binlog_stm_ps.result:
Fixed binlog_stm_ps failure when binlog format is statement:
- this test case makes sence only if binlog format is statement,
thus execute it only in this mode;
- added a warning that insert ... select ... limit is not safe
to execute in statement mode.
mysql-test/suite/binlog/t/binlog_stm_ps.test:
Fixed binlog_stm_ps failure when binlog format is statement:
- this test case makes sence only if binlog format is statement,
thus execute it only in this mode;
- added a warning that insert ... select ... limit is not safe
to execute in statement mode.
mysql-test/suite/rpl/t/rpl_optimize.test:
rpl_optimize test may be executed in various binlog format modes.
In statement mode delete ... limit issues a warning, in mixed and
row modes it does not.
Fixed a test case so it is still possible to execute it in all binlog
format modes by ignoring delete ... limit warnings.
mysql-test/suite/rpl/t/rpl_user_variables.test:
rpl_user_variables test may be executed in various binlog format modes.
In statement mode insert ... select ... limit issues a warning,
in mixed and row modes it does not.
Fixed a test case so it is still possible to execute it in all binlog
format modes by ignoring insert ... select ... limit warnings.