- 10 Aug, 2023 1 commit
-
-
Oleksandr Byelkin authored
-
- 09 Aug, 2023 4 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 08 Aug, 2023 7 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Thirunarayanan Balathandayuthapani authored
- InnoDB aborts when table is dropping the column. This is caused by 5f09b53b (MDEV-31086). While iterating the altered table fields, we fail to consider the dropped columns.
-
Yuchen Pei authored
-
- 07 Aug, 2023 3 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 06 Aug, 2023 1 commit
-
-
Sergei Golubchik authored
when validating vcol's (default, check, etc) in ALTER TABLE vcol_info->flags are modified in place. This means that if ALTER TABLE fails for any reason we need to restore them to their original values. (mroonga was freeing the memory on ::reset() but not on ::close())
-
- 05 Aug, 2023 1 commit
-
-
Oleksandr Byelkin authored
-
- 04 Aug, 2023 8 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Yuchen Pei authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 03 Aug, 2023 2 commits
-
-
Sergei Golubchik authored
`select * from information_schema.columns` can return columns in any order, but we need them ordered by the ordinal position
-
Oleg Smirnov authored
MDEV-31743 Server crash in store_length, assertion failure in Type_handler_string_result::sort_length After MDEV-21580 the truncation of SORT_FIELD::length set_if_smaller(sortorder->length, thd->variables.max_sort_length) became conditional: if (is_variable_sized()) set_if_smaller(length, thd->variables.max_sort_length) To provide correct functioning of is_variable_sized() SORT_FIELD::type must be set properly. This commit adds the necessary initialization of SORT_FIELD::type to JOIN_TAB::remove_duplicates() as it is done in filesort's sortlength() function. DBUG_ASSERT is added to sortlength() just in case to prevent a possible uint32 overflow
-
- 02 Aug, 2023 4 commits
-
-
Marko Mäkelä authored
recv_scan_log(): On recv_sys_t::PREMATURE_EOF, keep reading more log if recv_sys.lsn < recv_sys.scanned_lsn. recv_recovery_from_checkpoint_start(): Add a safety check to abort crash recovery if recv_sys.lsn is not recv_sys.scanned_lsn. This fixes a serious database corruption bug that was introduced by commit 2f9e2647 (MDEV-29911).
-
Sergei Golubchik authored
MDEV-31822 ALTER TABLE ENGINE=x started failing instead of producing warning on unsupported TRANSACTIONAL=1 make TRANSACTIONAL table option behave similar to other engine-defined table options. If the engine doesn't suport it: * if specified expicitly in CREATE or ALTER - it's ER_UNKNOWN_OPTION * an error or a warning depending on sql_mode IGNORE_BAD_TABLE_OPTIONS * in ALTER TABLE from the engine that suppors it to the engine that doesn't - silently preserved (no warning) * it is commented out in SHOW CREATE unless IGNORE_BAD_TABLE_OPTIONS
-
Sergei Golubchik authored
* invoke check_expression() for all vcol_info's in mysql_prepare_create_table() to check for FK CASCADE * also check for SET NULL and SET DEFAULT * to check against existing FKs when a vcol is added in ALTER TABLE, old FKs must be added to the new_key_list just like other indexes are * check columns recursively, if vcol1 references vcol2, flags of vcol2 must be taken into account * remove check_table_name_processor(), put that logic under check_vcol_func_processor() to avoid walking the tree twice
-
Marko Mäkelä authored
recv_ring::copy_if_needed(): If the record wraps around the memory-mapped ib_logfile0, do copy it also if len==0 (the record consists only of a header, like FREE_PAGE and INIT_PAGE records do). recv_sys_t::parse(): Invoke recv_ring::copy_if_needed() for INIT_PAGE and FREE_PAGE records, so that if these records wrap around the memory-mapped ib_logfile0, they will be correctly copied to recv_sys.pages. Together with commit 0d175968 (MDEV-31354) this fixes occasional failures of the test innodb.recovery_memory.
-
- 01 Aug, 2023 9 commits
-
-
Sergei Golubchik authored
mark old keys in the ALTER TABLE with the `old` flag, not with the `key_create_info.check_for_duplicate_indexes`. This allows to mark old foreign keys too.
-
Sergei Golubchik authored
to declutter Item_field::check_vcol_func_processor(), move alter_info specific part of it into Alter_info::check_vcol_field()
-
Sergei Golubchik authored
also, prefer Lex_table_name and Lex_ident over LEX_CSTRING
-
Sergei Golubchik authored
-
Sergei Golubchik authored
HA_UNIQUE_CHECK was * only used internally by MyISAM/Aria * only used for internal temporary tables (for DISTINCT) * never saved in frm * saved in MYI/MAD but only for temporary tables * only set, never checked it's safe to remove it and free the bit (there are only 16 of them)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Petrunia authored
Do not attempt to produce "r_engine_stats" on the temporary (=work) tables. These tables may be - re-created during the query execution - freed during the query execution (This is done e.g. in JOIN::cleanup(), before we produce ANALYZE FORMAT=JSON output). - (Also, make save_explain_data() functions not set handler_for_stats to point to handler objects that do not have handler->handler_stats set. If the storage engine is not collecting handler_stats, it will not have them when we're producing ANALYZE FORMAT=JSON output, either).
-