Commit b9eb6361 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.5 into 10.6

parents 1d362987 8494758e
...@@ -43,3 +43,15 @@ INSERT IGNORE INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def'; ...@@ -43,3 +43,15 @@ INSERT IGNORE INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def';
Warnings: Warnings:
Warning 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`)) Warning 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`fld2`) REFERENCES `t1` (`fld1`))
DROP TABLE t2, t1; DROP TABLE t2, t1;
#
# MDEV-26433: assertion: table->get_ref_count() == 0 in dict0dict.cc
# line 1915
#
CREATE TEMPORARY TABLE v0 ( v1 TEXT ( 15 ) CHAR SET BINARY NOT NULL NOT NULL UNIQUE CHECK ( v1 ) ) REPLACE SELECT NULL AS v3 , 74 AS v2 ;
ERROR HY000: Field 'v1' doesn't have a default value
CREATE TEMPORARY TABLE t1 (i TEXT(15) NOT NULL DEFAULT '' UNIQUE CHECK (i)) engine=innodb
REPLACE SELECT NULL AS a;
ERROR HY000: Field 'DB_ROW_HASH_1' doesn't have a default value
#
# End of 10.5 tests
#
...@@ -62,3 +62,20 @@ INSERT IGNORE INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def'; ...@@ -62,3 +62,20 @@ INSERT IGNORE INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def';
--disable_warnings --disable_warnings
DROP TABLE t2, t1; DROP TABLE t2, t1;
--echo #
--echo # MDEV-26433: assertion: table->get_ref_count() == 0 in dict0dict.cc
--echo # line 1915
--echo #
--error ER_NO_DEFAULT_FOR_FIELD
CREATE TEMPORARY TABLE v0 ( v1 TEXT ( 15 ) CHAR SET BINARY NOT NULL NOT NULL UNIQUE CHECK ( v1 ) ) REPLACE SELECT NULL AS v3 , 74 AS v2 ;
--error ER_NO_DEFAULT_FOR_FIELD
CREATE TEMPORARY TABLE t1 (i TEXT(15) NOT NULL DEFAULT '' UNIQUE CHECK (i)) engine=innodb
REPLACE SELECT NULL AS a;
--echo #
--echo # End of 10.5 tests
--echo #
...@@ -211,6 +211,6 @@ maria_declare_plugin(type_mysql_json) ...@@ -211,6 +211,6 @@ maria_declare_plugin(type_mysql_json)
NULL, NULL,
NULL, NULL,
"0.1", "0.1",
MariaDB_PLUGIN_MATURITY_GAMMA MariaDB_PLUGIN_MATURITY_STABLE
} }
maria_declare_plugin_end; maria_declare_plugin_end;
...@@ -625,6 +625,10 @@ bool THD::drop_temporary_table(TABLE *table, bool *is_trans, bool delete_table) ...@@ -625,6 +625,10 @@ bool THD::drop_temporary_table(TABLE *table, bool *is_trans, bool delete_table)
DBUG_PRINT("tmptable", ("Dropping table: '%s'.'%s'", DBUG_PRINT("tmptable", ("Dropping table: '%s'.'%s'",
table->s->db.str, table->s->table_name.str)); table->s->db.str, table->s->table_name.str));
// close all handlers in case it is statement abort and some can be left
if (is_error())
table->file->ha_reset();
locked= lock_temporary_tables(); locked= lock_temporary_tables();
share= tmp_table_share(table); share= tmp_table_share(table);
......
...@@ -3521,10 +3521,17 @@ extern void fil_aio_callback(const IORequest &request); ...@@ -3521,10 +3521,17 @@ extern void fil_aio_callback(const IORequest &request);
static void io_callback(tpool::aiocb *cb) static void io_callback(tpool::aiocb *cb)
{ {
ut_a(cb->m_err == DB_SUCCESS);
const IORequest &request= *static_cast<const IORequest*> const IORequest &request= *static_cast<const IORequest*>
(static_cast<const void*>(cb->m_userdata)); (static_cast<const void*>(cb->m_userdata));
if (cb->m_err != DB_SUCCESS)
{
ib::fatal() << "IO Error: " << cb->m_err << " during " <<
(request.is_async() ? "async " : "sync ") <<
(request.is_LRU() ? "lru " : "") <<
(cb->m_opcode == tpool::aio_opcode::AIO_PREAD ? "read" : "write") <<
" of " << cb->m_len << " bytes, for file " << cb->m_fh << ", returned " <<
cb->m_ret_len;
}
/* Return cb back to cache*/ /* Return cb back to cache*/
if (cb->m_opcode == tpool::aio_opcode::AIO_PREAD) if (cb->m_opcode == tpool::aio_opcode::AIO_PREAD)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment