Sergei Golubchik
3bb5c6b0c2
MDEV-22113 SIGSEGV, ASAN use-after-poison, Assertion `next_insert_id == 0' in handler::ha_external_lock
...
if the lookup_handler is allocated on the THD's memroot, it may
not live long enough to be deleted in handler::ha_external_lock()
2020-04-02 14:03:54 +02:00
Marko Mäkelä
8b6cfda631
Merge 10.4 into 10.5
2020-02-07 08:51:20 +02:00
Sachin
eed6d215f1
MDEV-20001 Potential dangerous regression: INSERT INTO >=100 rows fail for myisam table with HASH indexes
...
Problem:-
So the issue is when we do bulk insert with rows
> MI_MIN_ROWS_TO_DISABLE_INDEXES(100) , We try to disable the indexes to
speedup insert. But current logic also disables the long unique indexes.
Solution:- In ha_myisam::start_bulk_insert if we find long hash index
(HA_KEY_ALG_LONG_HASH) we will not disable the index.
This commit also refactors the mi_disable_indexes_for_rebuild function,
Since this is function is called at only one place, it is inlined into
start_bulk_insert
mi_clear_key_active is added into myisamdef.h because now it is also used
in ha_myisam.cc file.
(Same is done for Aria Storage engine)
2020-02-03 12:44:31 +05:30
Sachin Setiya
5a6023cf6f
MDEV-18791 Wrong error upon creating Aria table with long index on BLOB
...
If we have long unique key for aria engine return too long key error, because
Aria does not support key on virtual generated column.
2020-02-02 13:53:26 +05:30
Sachin
ba7d33a898
MDEV-18820 Assertion `lock_table_has(trx, index->table, LOCK_IX)' failed in lock_rec_insert_check_and_lock upon INSERT into table with blob key
...
Don't Ignore Any error during index lookup, And throw duplicate key error
only if error is HA_ERR_FOUND_DUPP_KEY
2019-04-03 12:53:58 +05:30
Sachin
901e3ddf79
MDEV-18904 Assertion `m_part_spec.start_part >= m_part_spec.end_part' failed in ha_partition::index_read_idx_map
...
Remove the DBUG_ASSERT
2019-03-23 18:26:50 +05:30
Sachin
0c567648a4
Revert (MDEV-18888)2b06de8064660c5c, fix it in different way And add test case for MDEV-18953
2019-03-23 18:25:58 +05:30
Sachin
c23d4700e6
MDEV-18901 Wrong results after ADD UNIQUE INDEX(blob_column)
...
Add test case for MDEV-18901 as MDEV-18967 and MDEV-18922 solves this issue
2019-03-22 11:50:09 +05:30
Sachin
625aa232a6
MDEV-18967 Load data in system version with long unique does not work
...
Update system versioning fields before generated columns for left out
fill_record
2019-03-21 21:24:59 +05:30
sachinsetia1001@gmail.com
3943fe5630
MDEV-18888 Server crashes in Item_field::register_field_in_read_map upon...
...
MODIFY COLUMN
Do Not create prefix field for long unique key
2019-03-17 13:51:46 +05:30
sachinsetia1001@gmail.com
8995f33c0b
MDEV-18889 Long unique on virtual fields crashes server
...
Use table->record[0] for ha_index_read_map so that vfield gets automatically
be updated.
2019-03-17 13:45:57 +05:30
sachinsetia1001@gmail.com
2e34a031f8
MDEV-18809 Server crash in fields_in_hash_keyinfo or Assertion `key_info->key_part->field->flags & (1<< 30)' failed in setup_keyinfo_hash
...
Move calling setup_keyinfo_hash until all continue is exhausted.
And also call re_setup_keyinfo_hash for goto err.
2019-03-15 16:05:01 +05:30
sachinsetia1001@gmail.com
050280ce8b
MDEV-18922 Alter on long unique varchar column makes result null
...
Don't add long key into share->keys_for_keyread
2019-03-15 12:14:33 +05:30
sachin
62bfb2fe49
MDEV-18800 Server crash in instant_alter_column_possible or Assertion...
...
`!pk->has_virtual()' failed in instant_alter_column_possible upon adding key
Hash key can't be primary key.
2019-03-13 15:15:13 +05:30
sachin
ecf323620b
Add test cases for MDEV-18792 MDEV-18793 MDEV-18795 MDEV-18798 MDEV-18801
...
As MDEV-18799 fixes these mdevs so adding test cases for these mdevs.
2019-03-13 15:10:41 +05:30
sachin
560598c9b2
MDEV-18799 Long unique does not work after failed alter table
...
Restore table->key_info after calling setup_keyinfo_hash in
mysql_prepare_alter_table.
2019-03-13 15:09:16 +05:30
sachin
f9f625fb43
MDEV-18790 Server crash in fields_in_hash_keyinfo after unsuccessful...
...
attempt to drop BLOB with long index
Restore long table->key_info, So that in the case of unsuccessful table
alter table->key_info should have a correct value. In the case of successful
table alter old table is flushed so that is why we don't see this error in
the case of successful alter.
2019-03-13 13:59:31 +05:30
Sergei Golubchik
b10340998f
MDEV-18748 REPLACE doesn't work with unique blobs on MyISAM table
...
on long unique conflict, set table->file->dup_ref for
engines that support it
2019-02-27 23:27:43 -05:00
Sergei Golubchik
9fd3e810e8
MDEV-18747 InnoDB: Failing assertion: table->get_ref_count() == 0 upon dropping temporary table with unique blob
...
delete update handler clone also for temporary tables
2019-02-27 23:27:43 -05:00
Sergei Golubchik
304f0084ef
MDEV-18720 Assertion `inited==NONE' failed in ha_index_init upon update on versioned table with key on blob
...
* update system versioning fields before generaled columns
* don't presume that ha_write_row() means INSERT. It could still be UPDATE
* use the correct handler in check_duplicate_long_entry_key()
2019-02-27 23:27:43 -05:00
Sergei Golubchik
f78c0f6f00
MDEV-18722 Assertion `templ->mysql_null_bit_mask' failed in row_sel_store_mysql_rec upon modifying indexed column into blob
...
don't assert that virtual columns are always nullable
2019-02-27 23:27:43 -05:00
Sergei Golubchik
3f53515425
MDEV-18713 Assertion `strcmp(share->unique_file_name,filename) || share->last_version' failed in test_if_reopen upon REPLACE into table with key on blob
...
close table->update_handler in close_thread_tables().
it's not enough to do it in sql_update.cc only, because
sql_insert.cc can also do updates (REPLACE) and even
sql_delete.cc can (DELETE ... FOR PORTION OF)
2019-02-27 23:27:43 -05:00
Sergei Golubchik
20c89f9f37
MDEV-18712 InnoDB indexes are inconsistent with what defined in .frm for table after rebuilding table with index on blob
...
when auto-adding a virtual LONG_UNIQUE_HASH_FIELD, fill in
a Virtual_column_info for it, so that fill_alter_inplace_info()
would know we're adding a virtual field (ALTER_ADD_VIRTUAL_COLUMN).
2019-02-27 23:27:43 -05:00
Sergei Golubchik
5adf11250a
MDEV-18707 Server crash in my_hash_sort_bin, ASAN heap-use-after-free in Field::is_null, server hang, corrupted double-linked list
...
adjust share->stored_rec_length for LONG_UNIQUE_HASH_FIELD,
just like it's done for normal virtual fields
2019-02-27 23:27:43 -05:00