[MDEV-31834] Optimization of JOIN_TAB::remove_duplicates() Created: 2023-08-03  Updated: 2023-08-03

Status: Open
Project: MariaDB Server
Component/s: None
Fix Version/s: None

Type: Task Priority: Major
Reporter: Oleg Smirnov Assignee: Oleg Smirnov
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Following https://jira.mariadb.org/browse/MDEV-31743?focusedCommentId=266105&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-266105:

We could store pointers to blob keys separately in a list and modify the compare of rows to
also check the list. This would allow us to do distinct for blobs of any size.

In other words, modify the code here:
if (compare_record(table, first_field) == 0 &&
(!keylength ||
memcmp(key_buffer, key_buffer2, keylength) == 0))
->
if (compare_record(table, first_field) == 0 &&
(!keylength ||
memcmp(key_buffer, key_buffer2, keylength) == 0 &&
compare_all_blobs() == 0)


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