Bug #118000 | Innodb blob partial update has some redundant code | ||
---|---|---|---|
Submitted: | 17 Apr 3:51 | Modified: | 8 Jul 4:54 |
Reporter: | Wang Zhengmao (OCA) | Email Updates: | |
Status: | Need Feedback | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S4 (Feature request) |
Version: | 8.0.42 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[17 Apr 3:51]
Wang Zhengmao
[23 May 13:53]
Annamalai Gurusami
The function upd_t::is_partially_updated() is the one that checks whether InnoDB received the partial update vector from the server layer. The variable can_do_partial_update checks whether the conditions are OK at InnoDB level. At InnoDB level, any blob data can be partially updated (the conditions could be suitable). But at server layer level partial updates are allowed/enabled only for JSON documents via certain functions. Since JSON documents have a special format (which InnoDB doesn't know about), the server layer needs to determine and pass down the partial update vector, which InnoDB will use only when its own limitations are satisfied. Unless you can demonstrate a performance issue or a functionality issue, I would like to close this as 'Not a bug'. If some part of the code needs more developer documentation, let me know. I'll try to update with more details.