Merge branch '10.11' into 10.11

This commit is contained in:
Oleksandr Byelkin 2025-05-21 14:43:57 +02:00
commit b8d3257243
81 changed files with 1250 additions and 738 deletions

View file

@ -7019,9 +7019,6 @@ PRAGMA_REENABLE_CHECK_STACK_FRAME
- user has file privilege
*/
/* Stack size 16664 in clang */
PRAGMA_DISABLE_CHECK_STACK_FRAME
bool ha_connect::FileExists(const char *fn, bool bf)
{
if (!fn || !*fn)
@ -7057,10 +7054,9 @@ bool ha_connect::FileExists(const char *fn, bool bf)
if (n < 0) {
if (errno != ENOENT) {
char buf[_MAX_PATH + 20];
snprintf(buf, sizeof(buf), "Error %d for file %s", errno, filename);
push_warning(table->in_use, Sql_condition::WARN_LEVEL_WARN, ER_UNKNOWN_ERROR, buf);
push_warning_printf(table->in_use, Sql_condition::WARN_LEVEL_WARN,
ER_UNKNOWN_ERROR,
"Error %d for file %s", errno, filename);
return true;
} else
return false;
@ -7072,7 +7068,6 @@ bool ha_connect::FileExists(const char *fn, bool bf)
return true;
} // end of FileExists
PRAGMA_REENABLE_CHECK_STACK_FRAME
// Called by SameString and NoFieldOptionChange
bool ha_connect::CheckString(PCSZ str1, PCSZ str2)

View file

@ -164,16 +164,16 @@ Warnings:
Note 1105 xt1: 1 affected rows
SELECT * FROM t1;
id msg
4 four
7 sept
1 one
8 eight
40 forty
10 ten
11 eleven
35 thirty five
72 big
4 four
40 forty
60 big
7 sept
72 big
8 eight
81 big
DELETE FROM t1 WHERE id in (60,72);
Warnings:
@ -181,14 +181,14 @@ Note 1105 xt3: 2 affected rows
Note 1105 xt3: 0 affected rows
SELECT * FROM t1;
id msg
4 four
7 sept
1 one
8 eight
40 forty
10 ten
11 eleven
35 thirty five
4 four
40 forty
7 sept
8 eight
81 big
DROP TABLE t1;
CREATE TABLE t1 (

View file

@ -75,11 +75,14 @@ SELECT * FROM t1 WHERE id = 7;
SELECT * FROM t1 WHERE id = 35;
UPDATE t1 SET msg = 'number' WHERE id in (60,72);
UPDATE t1 SET msg = 'soixante' WHERE id = 60;
--sorted_result
SELECT * FROM t1 WHERE id > 50;
UPDATE t1 SET msg = 'big' WHERE id > 50;
UPDATE t1 SET msg = 'sept' WHERE id = 7;
--sorted_result
SELECT * FROM t1;
DELETE FROM t1 WHERE id in (60,72);
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;

View file

@ -425,9 +425,6 @@ row_quiesce_write_header(
Write the table meta data after quiesce.
@return DB_SUCCESS or error code */
/* Stack size 20904 with clang */
PRAGMA_DISABLE_CHECK_STACK_FRAME
static MY_ATTRIBUTE((nonnull, warn_unused_result))
dberr_t
row_quiesce_write_cfg(
@ -445,9 +442,10 @@ row_quiesce_write_cfg(
FILE* file = fopen(name, "w+b");
if (file == NULL) {
ib_errf(thd, IB_LOG_LEVEL_WARN, ER_CANT_CREATE_FILE,
name, errno, strerror(errno));
if (!file) {
fail:
ib_senderrf(thd, IB_LOG_LEVEL_WARN, ER_CANT_CREATE_FILE,
name, errno, strerror(errno));
err = DB_IO_ERROR;
} else {
@ -461,31 +459,18 @@ row_quiesce_write_cfg(
err = row_quiesce_write_indexes(table, file, thd);
}
if (fflush(file) != 0) {
char msg[BUFSIZ];
snprintf(msg, sizeof(msg), "%s flush() failed", name);
ib_senderrf(
thd, IB_LOG_LEVEL_WARN, ER_IO_WRITE_ERROR,
(ulong) errno, strerror(errno), msg);
if (fflush(file)) {
std::ignore = fclose(file);
goto fail;
}
if (fclose(file) != 0) {
char msg[BUFSIZ];
snprintf(msg, sizeof(msg), "%s flose() failed", name);
ib_senderrf(
thd, IB_LOG_LEVEL_WARN, ER_IO_WRITE_ERROR,
(ulong) errno, strerror(errno), msg);
if (fclose(file)) {
goto fail;
}
}
return(err);
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
/*********************************************************************//**
Check whether a table has an FTS index defined on it.

View file

@ -1077,6 +1077,7 @@ static void trx_purge_close_tables(purge_node_t *node, THD *thd) noexcept
void purge_sys_t::wait_FTS(bool also_sys)
{
std::this_thread::yield();
for (const uint32_t mask= also_sys ? ~0U : ~PAUSED_SYS; m_FTS_paused & mask;)
std::this_thread::sleep_for(std::chrono::milliseconds(10));
}

View file

@ -3601,9 +3601,6 @@ static my_bool translog_is_LSN_chunk(uchar type)
@retval 1 Error
*/
/* Stack size 26120 from clang */
PRAGMA_DISABLE_CHECK_STACK_FRAME
my_bool translog_init_with_table(const char *directory,
uint32 log_file_max_size,
uint32 server_version,
@ -3857,6 +3854,7 @@ my_bool translog_init_with_table(const char *directory,
if (logs_found)
{
TRANSLOG_PAGE_SIZE_BUFF psize_buff;
TRANSLOG_ADDRESS current_page= sure_page;
my_bool pageok;
@ -3897,7 +3895,6 @@ my_bool translog_init_with_table(const char *directory,
do
{
TRANSLOG_VALIDATOR_DATA data;
TRANSLOG_PAGE_SIZE_BUFF psize_buff;
uchar *page;
data.addr= &current_page;
if ((page= translog_get_page(&data, psize_buff.buffer, NULL)) == NULL)
@ -3946,7 +3943,6 @@ my_bool translog_init_with_table(const char *directory,
if (logs_found && !old_log_was_recovered && old_flags == flags)
{
TRANSLOG_VALIDATOR_DATA data;
TRANSLOG_PAGE_SIZE_BUFF psize_buff;
uchar *page;
uint16 chunk_offset;
data.addr= &last_valid_page;
@ -4237,7 +4233,6 @@ err:
ma_message_no_user(0, "log initialization failed");
DBUG_RETURN(1);
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
/*

View file

@ -1558,7 +1558,7 @@ uint _ma_state_info_write(MARIA_SHARE *share, uint pWrite)
@retval 1 Error
*/
/* Stack size 26376 from clang */
/* MARIA_STATE_INFO_SIZE + MARIA_STATE_EXTRA_SIZE == 25559 */
PRAGMA_DISABLE_CHECK_STACK_FRAME
uint _ma_state_info_write_sub(File file, MARIA_STATE_INFO *state, uint pWrite)

View file

@ -4913,6 +4913,7 @@ static int flush_cached_blocks(PAGECACHE *pagecache,
@retval PCFLUSH_PINNED Pinned blocks was met and skipped.
@retval PCFLUSH_PINNED_AND_ERROR PCFLUSH_ERROR and PCFLUSH_PINNED.
*/
PRAGMA_DISABLE_CHECK_STACK_FRAME
static int flush_pagecache_blocks_int(PAGECACHE *pagecache,
PAGECACHE_FILE *file,
@ -5242,6 +5243,7 @@ int flush_pagecache_blocks_with_filter(PAGECACHE *pagecache,
pagecache_pthread_mutex_unlock(&pagecache->cache_lock);
DBUG_RETURN(res);
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
/*

View file

@ -277,6 +277,7 @@ int maria_recovery_from_log(void)
@retval 0 OK
@retval !=0 Error
*/
PRAGMA_DISABLE_CHECK_STACK_FRAME
int maria_apply_log(LSN from_lsn, LSN end_redo_lsn, LSN end_undo_lsn,
enum maria_apply_log_way apply,
@ -562,6 +563,7 @@ end:
*/
DBUG_RETURN(error);
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
/* very basic info about the record's header */

View file

@ -49,6 +49,14 @@ if(MSVC)
message(FATAL_ERROR ${MRN_OLD_MSVC_MESSAGE})
endif()
endif()
else()
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
MY_CHECK_AND_SET_COMPILER_FLAG(-Wframe-larger-than=49152)
endif()
if(MRN_BUNDLED)

View file

@ -2459,6 +2459,10 @@ grn_proc_call(grn_ctx *ctx, grn_obj *proc, int nargs, grn_obj *caller)
} \
} while (0)
#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wframe-larger-than="
#endif
inline static void
grn_expr_exec_get_member_vector(grn_ctx *ctx,
grn_obj *expr,
@ -3834,6 +3838,9 @@ exit :
}
GRN_API_RETURN(val);
}
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
grn_obj *
grn_expr_get_value(grn_ctx *ctx, grn_obj *expr, int offset)

View file

@ -86,8 +86,6 @@ void test_no_instruments()
cleanup_instruments();
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
void test_no_instances()
{
int rc;
@ -218,7 +216,7 @@ void test_no_instances()
ok(file == NULL, "no file");
ok(global_file_container.m_lost == 4, "lost 4");
char long_file_name[10000];
char long_file_name[5000];
int size= sizeof(long_file_name);
memset(long_file_name, 'X', size);
@ -247,7 +245,6 @@ void test_no_instances()
cleanup_file_hash();
cleanup_instruments();
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
void test_with_instances()
{

View file

@ -9,6 +9,13 @@ SET(CPACK_RPM_rocksdb-engine_PACKAGE_SUMMARY "RocksDB storage engine for MariaDB
SET(CPACK_RPM_rocksdb-engine_PACKAGE_DESCRIPTION "The RocksDB storage engine is a high performance storage engine, aimed
at maximising storage efficiency while maintaining InnoDB-like performance." PARENT_SCOPE)
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
MY_CHECK_AND_SET_COMPILER_FLAG(-Wframe-larger-than=32768)
MY_CHECK_AND_SET_COMPILER_FLAG(-Wno-range-loop-construct)
MY_CHECK_AND_SET_COMPILER_FLAG(-Wno-effc++ DEBUG RELWITHDEBINFO)

View file

@ -232,20 +232,6 @@ a b date_format(c, '%Y-%m-%d %H:%i:%s')
4 i 2003-10-30 05:01:03
5 h 2001-10-31 23:59:59
select sql_calc_found_rows
connection master_1;
SELECT SQL_CALC_FOUND_ROWS a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l
ORDER BY a LIMIT 4;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 f 2008-07-01 10:21:39
2 g 2000-02-01 00:00:00
3 j 2007-05-04 20:03:11
4 i 2003-10-30 05:01:03
connection master_1;
SELECT found_rows();
found_rows()
5
select high_priority
connection master_1;
SELECT HIGH_PRIORITY a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l

View file

@ -847,52 +847,6 @@ if ($USE_CHILD_GROUP2)
}
}
--echo
--echo select sql_calc_found_rows
if ($USE_CHILD_GROUP2)
{
if (!$OUTPUT_CHILD_GROUP2)
{
--disable_query_log
--disable_result_log
}
--connection child2_1
if ($USE_GENERAL_LOG)
{
TRUNCATE TABLE mysql.general_log;
}
if (!$OUTPUT_CHILD_GROUP2)
{
--enable_query_log
--enable_result_log
}
}
--connection master_1
SELECT SQL_CALC_FOUND_ROWS a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l
ORDER BY a LIMIT 4;
if ($USE_CHILD_GROUP2)
{
if (!$OUTPUT_CHILD_GROUP2)
{
--disable_query_log
--disable_result_log
}
--connection child2_1
if ($USE_GENERAL_LOG)
{
SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
}
if (!$OUTPUT_CHILD_GROUP2)
{
--enable_query_log
--enable_result_log
}
}
--connection master_1
--disable_ps2_protocol
SELECT found_rows();
--enable_ps2_protocol
--echo
--echo select high_priority
if ($USE_CHILD_GROUP2)

View file

@ -43,8 +43,6 @@ let $CHILD2_1_CREATE_TABLES=
PRIMARY KEY(a,b)
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
let $CHILD2_1_SELECT_TABLES=
SELECT pkey, txt FROM tbl_a ORDER BY pkey;
let $CHILD2_1_SELECT_TABLES=
SELECT a, b, c FROM ta_r2 ORDER BY a $STR_SEMICOLON
SELECT a, b, c FROM ta_r3 ORDER BY a;

View file

@ -58,25 +58,33 @@ TRUNCATE TABLE mysql.general_log;
--connection master_1
--disable_ps2_protocol
--disable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt2) WHERE b = 'c';
--enable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt1,pt2);
--disable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt3) WHERE b = 'c';
--enable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt1,pt2);
--disable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt1) WHERE b = 'c';
--enable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt1,pt3);
--disable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt1) WHERE b = 'c';
--enable_view_protocol
SELECT a, b, c FROM tbl_a PARTITION (pt2,pt3);
--enable_ps2_protocol
--connection child2_1
--disable_ps2_protocol
--disable_view_protocol
--disable_ps2_protocol
eval $CHILD2_1_SELECT_ARGUMENT1;
--enable_view_protocol
--enable_ps2_protocol
--disable_ps_protocol
eval $CHILD2_1_SELECT_TABLES;
--enable_ps_protocol
--enable_view_protocol
--echo
--echo deinit

View file

@ -85,10 +85,10 @@ SET NAMES utf8;
--disable_ps2_protocol
eval $CHILD2_1_SELECT_ARGUMENT1;
--enable_ps2_protocol
--enable_view_protocol
--disable_ps_protocol
eval $CHILD2_1_SELECT_TABLES;
--enable_ps_protocol
--enable_view_protocol
--echo
--echo deinit

View file

@ -4,7 +4,9 @@ FLUSH TABLES WITH READ LOCK;
--error ER_CANT_UPDATE_WITH_READLOCK
CREATE FUNCTION spider_bg_direct_sql RETURNS INT SONAME 'ha_spider.so';
--disable_view_protocol
SELECT * FROM t;
--enable_view_protocol
--source include/restart_mysqld.inc

View file

@ -4,8 +4,10 @@
INSTALL SONAME 'ha_spider';
SET character_set_connection=ucs2;
--disable_view_protocol
--error ER_CONNECT_TO_FOREIGN_DATA_SOURCE
SELECT SPIDER_DIRECT_SQL('SELECT SLEEP(1)', '', 'srv "dummy", port "3307"');
--enable_view_protocol
--disable_query_log
--source ../../include/clean_up_spider.inc
--enable_query_log

View file

@ -9,6 +9,7 @@ OPTIONS (SOCKET "$MASTER_1_MYSOCK", DATABASE '',user 'Spider', password 'foo');
CREATE TABLE tSpider (a INT) ENGINE=Spider COMMENT='WRAPPER "mysql",SRV "srv",TABLE "t"';
CREATE TABLE t2 (c INT,c2 CHAR(1)) ENGINE=Spider COMMENT='WRAPPER "mysql",SRV "srv",TABLE "t"';
XA START 'a';
--disable_view_protocol
--disable_result_log
--error 0,ER_CONNECT_TO_FOREIGN_DATA_SOURCE
SELECT * FROM information_schema.table_constraints;
@ -22,6 +23,7 @@ SELECT * FROM t2;
SELECT SLEEP (1);
--error ER_CONNECT_TO_FOREIGN_DATA_SOURCE
SELECT * FROM t2;
--enable_view_protocol
xa end 'a';
xa rollback 'a';
drop table tSpider, t2;

View file

@ -7,8 +7,10 @@ enable_query_log;
--echo # MDEV-33031 Assertion failure upon reading from performance schema with binlog enabled
--echo #
connect foo,localhost,root;
--disable_view_protocol
select variable_name, variable_value from performance_schema.status_by_thread
where variable_name like '%spider_direct_aggregate%';
--enable_view_protocol
disconnect foo;
connection default;

View file

@ -232,20 +232,6 @@ a b date_format(c, '%Y-%m-%d %H:%i:%s')
4 i 2003-10-30 05:01:03
5 h 2001-10-31 23:59:59
select sql_calc_found_rows
connection master_1;
SELECT SQL_CALC_FOUND_ROWS a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l
ORDER BY a LIMIT 4;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 f 2008-07-01 10:21:39
2 g 2000-02-01 00:00:00
3 j 2007-05-04 20:03:11
4 i 2003-10-30 05:01:03
connection master_1;
SELECT found_rows();
found_rows()
5
select high_priority
connection master_1;
SELECT HIGH_PRIORITY a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l

View file

@ -60,6 +60,7 @@ INSERT INTO tbl_b (bkey,akey) VALUES (0,0),(1,1),(2,2),(3,3),(4,4),(5,4),(6,3),(
--connection child2_1
TRUNCATE TABLE mysql.general_log;
--disable_view_protocol
--connection master_1
--disable_ps2_protocol
SELECT a.val, a.akey FROM tbl_a a, tbl_b b WHERE a.akey = b.akey AND b.bkey = 5;
@ -67,11 +68,10 @@ SELECT a.val, a.akey FROM tbl_a a, tbl_b b WHERE a.akey = b.akey AND b.bkey = 5;
--connection child2_1
--disable_ps_protocol
--disable_view_protocol
eval $CHILD2_1_SELECT_ARGUMENT1;
--enable_view_protocol
eval $CHILD2_1_SELECT_TABLES;
--enable_ps_protocol
--enable_view_protocol
--echo
--echo deinit

View file

@ -69,8 +69,8 @@ SELECT a.val, a.akey FROM tbl_a a, tbl_b b WHERE a.akey = b.akey AND b.bkey = 5;
--disable_ps_protocol
--disable_view_protocol
eval $CHILD2_1_SELECT_ARGUMENT1;
--enable_view_protocol
eval $CHILD2_1_SELECT_TABLES;
--enable_view_protocol
--enable_ps_protocol
--echo

View file

@ -847,52 +847,6 @@ if ($USE_CHILD_GROUP2)
}
}
--echo
--echo select sql_calc_found_rows
if ($USE_CHILD_GROUP2)
{
if (!$OUTPUT_CHILD_GROUP2)
{
--disable_query_log
--disable_result_log
}
--connection child2_1
if ($USE_GENERAL_LOG)
{
TRUNCATE TABLE mysql.general_log;
}
if (!$OUTPUT_CHILD_GROUP2)
{
--enable_query_log
--enable_result_log
}
}
--connection master_1
SELECT SQL_CALC_FOUND_ROWS a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l
ORDER BY a LIMIT 4;
if ($USE_CHILD_GROUP2)
{
if (!$OUTPUT_CHILD_GROUP2)
{
--disable_query_log
--disable_result_log
}
--connection child2_1
if ($USE_GENERAL_LOG)
{
SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
}
if (!$OUTPUT_CHILD_GROUP2)
{
--enable_query_log
--enable_result_log
}
}
--connection master_1
--disable_ps2_protocol
SELECT found_rows();
--enable_ps2_protocol
--echo
--echo select high_priority
if ($USE_CHILD_GROUP2)

View file

@ -9329,6 +9329,7 @@ error:
DBUG_RETURN(error_num);
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
bool spider_db_conn_is_network_error(
int error_num
) {
@ -9345,3 +9346,4 @@ bool spider_db_conn_is_network_error(
}
DBUG_RETURN(FALSE);
}
PRAGMA_REENABLE_CHECK_STACK_FRAME

View file

@ -8897,12 +8897,13 @@ int spider_mbase_handler::append_key_select_part(
default:
DBUG_RETURN(0);
}
error_num = append_key_select(str, idx);
error_num = append_key_select(str, sql_type, idx);
DBUG_RETURN(error_num);
}
int spider_mbase_handler::append_key_select(
spider_string *str,
ulong sql_type,
uint idx
) {
st_select_lex *select_lex = NULL;
@ -8951,6 +8952,7 @@ int spider_mbase_handler::append_key_select(
str->q_append(SPIDER_SQL_COMMA_STR, SPIDER_SQL_COMMA_LEN);
}
str->length(str->length() - SPIDER_SQL_COMMA_LEN);
DBUG_RETURN(append_from(str, sql_type, first_link_idx));
} else {
table_name_pos = str->length() + mysql_share->key_select_pos[idx];
if (str->append(mysql_share->key_select[idx]))

View file

@ -877,6 +877,7 @@ public:
) override;
int append_key_select(
spider_string *str,
ulong sql_type,
uint idx
);
int append_minimum_select_part(