[MDEV-33370] Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed after ALTER TABLE of versioned table Created: 2024-02-02  Updated: 2024-02-02

Status: Open
Project: MariaDB Server
Component/s: Partitioning, Versioned Tables
Affects Version/s: 10.11, 11.0, 11.1, 11.2, 11.3, 11.4
Fix Version/s: 10.11, 11.0, 11.1, 11.2, 11.3, 11.4

Type: Bug Priority: Major
Reporter: Alice Sherepa Assignee: Aleksey Midenkov
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-20494 ER_NOT_FORM_FILE or Assertion `!is_se... Closed

 Description   

--source include/have_partition.inc
 
CREATE TABLE t1 (i int) WITH SYSTEM VERSIONING PARTITION BY system_time INTERVAL 1 MONTH ( PARTITION ver_p1 HISTORY, PARTITION ver_p2 HISTORY,   PARTITION ver_pn CURRENT );
 
ALTER  TABLE `t1` PARTITION BY SYSTEM_TIME INTERVAL 7 YEAR ;
 
DROP TABLE t1;

10.4: query 'ALTER TABLE `t1` PARTITION BY SYSTEM_TIME INTERVAL 7 YEAR ' failed: 1492: For SYSTEM_TIME partitions each partition must be defined
10.5,10.6 --no error
10.11-11.4:

Version: '10.11.7-MariaDB-debug-log'  
mariadbd: /10.11/src/sql/sql_error.cc:335: void Diagnostics_area::set_ok_status(ulonglong, ulonglong, const char*): Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed.
240202 15:47:55 [ERROR] mysqld got signal 6 ;
 
/lib/x86_64-linux-gnu/libc.so.6(+0x33fd6)[0x7f2c56ba4fd6]
sql/sql_error.cc:340(Diagnostics_area::set_ok_status(unsigned long long, unsigned long long, char const*))[0x55f60fac71e1]
sql/sql_class.h:5786(my_ok(THD*, unsigned long long, unsigned long long, char const*))[0x55f60f9c862f]
sql/sql_partition.cc:4619(fast_end_partition(THD*, unsigned long long, unsigned long long, TABLE_LIST*))[0x55f60fbf6bf0]
sql/sql_partition.cc:7883(fast_alter_partition_table(THD*, TABLE*, Alter_info*, Alter_table_ctx*, HA_CREATE_INFO*, TABLE_LIST*))[0x55f60fc0cca5]
sql/sql_table.cc:10698(mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool))[0x55f60feb4358]
sql/sql_alter.cc:688(Sql_cmd_alter_table::execute(THD*))[0x55f6100853c9]
sql/sql_parse.cc:6075(mysql_execute_command(THD*, bool))[0x55f60fbb850a]
sql/sql_parse.cc:8080(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x55f60fbc597f]
sql/sql_parse.cc:1896(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x55f60fb9b61c]
sql/sql_parse.cc:1407(do_command(THD*, bool))[0x55f60fb98356]
sql/sql_connect.cc:1415(do_handle_one_connection(CONNECT*, bool))[0x55f610065aae]
sql/sql_connect.cc:1319(handle_one_connection)[0x55f61006540b]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x55f610c971b6]
nptl/pthread_create.c:478(start_thread)[0x7f2c570bf609]
 
Query (0x6290001092a8): ALTER  TABLE `t1` PARTITION BY SYSTEM_TIME INTERVAL 7 YEAR

non-debug - ERROR 1690 (22003): TIMESTAMP value is out of range in 'INTERVAL'


Generated at Thu Feb 08 10:38:24 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.