mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.3 into 10.4
This commit is contained in:
4
mysql-test/include/have_aria_used_for_temp_tables.inc
Normal file
4
mysql-test/include/have_aria_used_for_temp_tables.inc
Normal file
@@ -0,0 +1,4 @@
|
||||
if (!`SELECT @@aria_used_for_temp_tables`)
|
||||
{
|
||||
skip Need Aria to be used for temporary tables;
|
||||
}
|
@@ -8,6 +8,10 @@
|
||||
# on the presence of the log tables (which are CSV-based).
|
||||
--source include/have_csv.inc
|
||||
|
||||
# Without aria_used_for_temp_tables some I_S tables will be MyISAM,
|
||||
# while the test expects them to be Aria
|
||||
-- source include/have_aria_used_for_temp_tables.inc
|
||||
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
# Save the initial number of concurrent sessions
|
||||
|
@@ -17,6 +17,8 @@ a invisible
|
||||
1 9
|
||||
insert into t1(a, invisible) values(99,99);
|
||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
||||
select default(invisible) from t1;
|
||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
||||
insert into t1(invisible) values(99);
|
||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
||||
insert into t_tmp select a, invisible from t1;
|
||||
|
@@ -13,6 +13,8 @@ select a , invisible from t1;
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
insert into t1(a, invisible) values(99,99);
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
select default(invisible) from t1;
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
insert into t1(invisible) values(99);
|
||||
insert into t_tmp select a, invisible from t1;
|
||||
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
||||
|
@@ -1,5 +1,6 @@
|
||||
# bool readonly
|
||||
|
||||
--source include/have_aria_used_for_temp_tables.inc
|
||||
--source include/have_maria.inc
|
||||
#
|
||||
# show the global and session values;
|
||||
|
@@ -1,4 +1,5 @@
|
||||
--source include/have_aria.inc
|
||||
--source include/have_aria_used_for_temp_tables.inc
|
||||
--source include/word_size.inc
|
||||
|
||||
--vertical_results
|
||||
|
@@ -1,5 +1,7 @@
|
||||
###################### tmp_memory_table_size_func.test ########################
|
||||
|
||||
--source include/have_aria_used_for_temp_tables.inc
|
||||
|
||||
--source include/load_sysvars.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
|
@@ -9053,7 +9053,11 @@ bool Item_default_value::fix_fields(THD *thd, Item **items)
|
||||
field value (mark column for read)
|
||||
*/
|
||||
enum_column_usage save_column_usage= thd->column_usage;
|
||||
thd->column_usage= COLUMNS_READ;
|
||||
/*
|
||||
Fields which has defult value could be read, so it is better hide system
|
||||
invisible columns.
|
||||
*/
|
||||
thd->column_usage= COLUMNS_WRITE;
|
||||
if (arg->fix_fields_if_needed(thd, &arg))
|
||||
{
|
||||
thd->column_usage= save_column_usage;
|
||||
|
@@ -227,9 +227,8 @@ static void recv_addr_trim(ulint space_id, unsigned pages, lsn_t lsn)
|
||||
hash_cell_t* const cell = hash_get_nth_cell(
|
||||
recv_sys->addr_hash, i);
|
||||
for (recv_addr_t* addr = static_cast<recv_addr_t*>(cell->node),
|
||||
*prev = NULL, *next;
|
||||
addr;
|
||||
prev = addr, addr = next) {
|
||||
*next;
|
||||
addr; addr = next) {
|
||||
next = static_cast<recv_addr_t*>(addr->addr_hash);
|
||||
|
||||
if (addr->space != space_id || addr->page_no < pages) {
|
||||
@@ -251,22 +250,6 @@ static void recv_addr_trim(ulint space_id, unsigned pages, lsn_t lsn)
|
||||
}
|
||||
recv = n;
|
||||
}
|
||||
|
||||
if (UT_LIST_GET_LEN(addr->rec_list)) {
|
||||
DBUG_PRINT("ib_log",
|
||||
("preserving " ULINTPF
|
||||
" records for page %u:%u",
|
||||
UT_LIST_GET_LEN(addr->rec_list),
|
||||
addr->space, addr->page_no));
|
||||
} else {
|
||||
ut_ad(recv_sys->n_addrs);
|
||||
--recv_sys->n_addrs;
|
||||
if (addr == cell->node) {
|
||||
cell->node = next;
|
||||
} else {
|
||||
prev->addr_hash = next;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (fil_space_t* space = fil_space_get(space_id)) {
|
||||
@@ -2022,8 +2005,7 @@ static ulint recv_read_in_area(const page_id_t page_id)
|
||||
/** Apply the hash table of stored log records to persistent data pages.
|
||||
@param[in] last_batch whether the change buffer merge will be
|
||||
performed as part of the operation */
|
||||
void
|
||||
recv_apply_hashed_log_recs(bool last_batch)
|
||||
void recv_apply_hashed_log_recs(bool last_batch)
|
||||
{
|
||||
ut_ad(srv_operation == SRV_OPERATION_NORMAL
|
||||
|| srv_operation == SRV_OPERATION_RESTORE
|
||||
@@ -2088,7 +2070,8 @@ recv_apply_hashed_log_recs(bool last_batch)
|
||||
recv_addr = static_cast<recv_addr_t*>(
|
||||
HASH_GET_NEXT(addr_hash, recv_addr))) {
|
||||
|
||||
if (recv_addr->state == RECV_DISCARDED) {
|
||||
if (recv_addr->state == RECV_DISCARDED
|
||||
|| !UT_LIST_GET_LEN(recv_addr->rec_list)) {
|
||||
ut_a(recv_sys->n_addrs);
|
||||
recv_sys->n_addrs--;
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user