Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Incomplete
-
10.11.11
-
None
-
Windows 11
Description
Hi. This is and old behaivor which I do not understand. So judge whether should be improved.
Reprostep
- Create a table single with a field name like 'exist_field'. No data required.
- Create a storeed prcedure with any name
- Write a sql in the stored procedure like
insert into
the_tablename_just_create
select
'dummy' as exist_field
ON DUPLICATE KEY UPDATE
a_field_name_not_exist_assume_altered = 'test'
;
- Open HeidiSQL
- execute the stored procedure just create which contain the test sql above.
- You will see an error that the field does not exist
- Open another HeidiSQL
- Try to update/insert into the same table by any type of sql.
- Hang until timeout from the second HeidiSQL.
- To resolve the hang. The first HeidiSQL process must be killed(means the first failed mariadb session disconnect) ◀◀◀ THIS SO WEIRED.
Why this happen?
The lock should be released since the error already occured?
To me, this 'lock' hang situation so weired since the query failure already judged as an error. No reason to hold the lock which no one use.
The environment under below.
thread_cache_size=0
|
query_cache_type=OFF
|
query_cache_size=0
|
query_cache_limit=0
|