[MDEV-28854] Disallow INSERT DELAYED on Spider table Created: 2022-06-15  Updated: 2022-06-27  Resolved: 2022-06-27

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - Spider
Affects Version/s: None
Fix Version/s: 10.3.36, 10.4.26, 10.5.17, 10.6.9, 10.7.5, 10.8.4, 10.9.2

Type: Bug Priority: Critical
Reporter: Nayuta Yanagisawa (Inactive) Assignee: Nayuta Yanagisawa (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-28406 Spider: SIGSEGV in ha_spider::index_l... Closed
Relates
relates to MDEV-28406 Spider: SIGSEGV in ha_spider::index_l... Closed

 Description   

Spider supports (or at least allows) INSERT DELAYED but the documentation says the following:

INSERT DELAYED works only with MyISAM, MEMORY, ARCHIVE, and BLACKHOLE tables. If you execute INSERT DELAYED with another storage engine, you will get an error like this: ERROR 1616 (HY000): DELAYED option not supported for table 'tab_name'

https://mariadb.com/kb/en/insert-delayed/

Moreover, a Spider table can be considered to be transactional at least when it is backed by a transactional table (e.g., InnoDB table). It doesn't make sense for a transactional storage engine to support INSERT DELAYED.

Based on the two facts above, we conclude that allowing INSERT DELAYED on Spider tables is a bug. Disallow INSERT DELAYED. More precisely, remove HA_CAN_INSERT_DELAYED from Spider's table flag and add a test to make sure that INSERT DELAYED is correctly disallowed. Also, remove the code for handling INSERT DELAYED.



 Comments   
Comment by Nayuta Yanagisawa (Inactive) [ 2022-06-25 ]

https://github.com/MariaDB/server/pull/2171

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