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).
|
# on the presence of the log tables (which are CSV-based).
|
||||||
--source include/have_csv.inc
|
--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
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
# Save the initial number of concurrent sessions
|
# Save the initial number of concurrent sessions
|
||||||
|
@@ -17,6 +17,8 @@ a invisible
|
|||||||
1 9
|
1 9
|
||||||
insert into t1(a, invisible) values(99,99);
|
insert into t1(a, invisible) values(99,99);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
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);
|
insert into t1(invisible) values(99);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
||||||
insert into t_tmp select a, invisible from t1;
|
insert into t_tmp select a, invisible from t1;
|
||||||
|
@@ -13,6 +13,8 @@ select a , invisible from t1;
|
|||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_BAD_FIELD_ERROR
|
||||||
insert into t1(a, invisible) values(99,99);
|
insert into t1(a, invisible) values(99,99);
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_BAD_FIELD_ERROR
|
||||||
|
select default(invisible) from t1;
|
||||||
|
--error ER_BAD_FIELD_ERROR
|
||||||
insert into t1(invisible) values(99);
|
insert into t1(invisible) values(99);
|
||||||
insert into t_tmp select a, invisible from t1;
|
insert into t_tmp select a, invisible from t1;
|
||||||
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
# bool readonly
|
# bool readonly
|
||||||
|
|
||||||
|
--source include/have_aria_used_for_temp_tables.inc
|
||||||
--source include/have_maria.inc
|
--source include/have_maria.inc
|
||||||
#
|
#
|
||||||
# show the global and session values;
|
# show the global and session values;
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
--source include/have_aria.inc
|
--source include/have_aria.inc
|
||||||
|
--source include/have_aria_used_for_temp_tables.inc
|
||||||
--source include/word_size.inc
|
--source include/word_size.inc
|
||||||
|
|
||||||
--vertical_results
|
--vertical_results
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
###################### tmp_memory_table_size_func.test ########################
|
###################### tmp_memory_table_size_func.test ########################
|
||||||
|
|
||||||
|
--source include/have_aria_used_for_temp_tables.inc
|
||||||
|
|
||||||
--source include/load_sysvars.inc
|
--source include/load_sysvars.inc
|
||||||
--source include/have_sequence.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)
|
field value (mark column for read)
|
||||||
*/
|
*/
|
||||||
enum_column_usage save_column_usage= thd->column_usage;
|
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))
|
if (arg->fix_fields_if_needed(thd, &arg))
|
||||||
{
|
{
|
||||||
thd->column_usage= save_column_usage;
|
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(
|
hash_cell_t* const cell = hash_get_nth_cell(
|
||||||
recv_sys->addr_hash, i);
|
recv_sys->addr_hash, i);
|
||||||
for (recv_addr_t* addr = static_cast<recv_addr_t*>(cell->node),
|
for (recv_addr_t* addr = static_cast<recv_addr_t*>(cell->node),
|
||||||
*prev = NULL, *next;
|
*next;
|
||||||
addr;
|
addr; addr = next) {
|
||||||
prev = addr, addr = next) {
|
|
||||||
next = static_cast<recv_addr_t*>(addr->addr_hash);
|
next = static_cast<recv_addr_t*>(addr->addr_hash);
|
||||||
|
|
||||||
if (addr->space != space_id || addr->page_no < pages) {
|
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;
|
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)) {
|
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.
|
/** Apply the hash table of stored log records to persistent data pages.
|
||||||
@param[in] last_batch whether the change buffer merge will be
|
@param[in] last_batch whether the change buffer merge will be
|
||||||
performed as part of the operation */
|
performed as part of the operation */
|
||||||
void
|
void recv_apply_hashed_log_recs(bool last_batch)
|
||||||
recv_apply_hashed_log_recs(bool last_batch)
|
|
||||||
{
|
{
|
||||||
ut_ad(srv_operation == SRV_OPERATION_NORMAL
|
ut_ad(srv_operation == SRV_OPERATION_NORMAL
|
||||||
|| srv_operation == SRV_OPERATION_RESTORE
|
|| srv_operation == SRV_OPERATION_RESTORE
|
||||||
@@ -2088,7 +2070,8 @@ recv_apply_hashed_log_recs(bool last_batch)
|
|||||||
recv_addr = static_cast<recv_addr_t*>(
|
recv_addr = static_cast<recv_addr_t*>(
|
||||||
HASH_GET_NEXT(addr_hash, recv_addr))) {
|
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);
|
ut_a(recv_sys->n_addrs);
|
||||||
recv_sys->n_addrs--;
|
recv_sys->n_addrs--;
|
||||||
continue;
|
continue;
|
||||||
|
Reference in New Issue
Block a user