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';
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`))
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';
--disable_warnings
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)
NULL,
NULL,
"0.1",
MariaDB_PLUGIN_MATURITY_GAMMA
MariaDB_PLUGIN_MATURITY_STABLE
}
maria_declare_plugin_end;
......@@ -625,6 +625,10 @@ bool THD::drop_temporary_table(TABLE *table, bool *is_trans, bool delete_table)
DBUG_PRINT("tmptable", ("Dropping table: '%s'.'%s'",
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();
share= tmp_table_share(table);
......
......@@ -3521,10 +3521,17 @@ extern void fil_aio_callback(const IORequest &request);
static void io_callback(tpool::aiocb *cb)
{
ut_a(cb->m_err == DB_SUCCESS);
const IORequest &request= *static_cast<const IORequest*>
(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*/
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