mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-19235 MariaDB Server compiled for 128 Indexes crashes at startup
With MAX_INDEXIES=64(default), key_map=Bitmap<64> is just a wrapper around ulonglong and thus "trivial" (can be bzero-ed, or memcpy-ed, and stays valid still) With MAX_INDEXES=128, key_map = Bitmap<128> is not a "trivial" type anymore. The implementation uses MY_BITMAP, and MY_BITMAP contains pointers which make Bitmap invalid, when it is memcpy-ed/bzero-ed. The problem in 10.4 is that there are many new key_map members, inside TABLE or KEY, and those are often memcopied and bzeroed The fix makes Bitmap "trivial", by inlining most of MY_BITMAP functionality. pointers/heap allocations are not used anymore.
This commit is contained in:
@ -5504,7 +5504,6 @@ typedef struct st_partial_index_intersect_info
|
||||
intersect_fields= NULL;
|
||||
records_sent_to_unique= records= length= in_memory= use_cpk_filter= 0;
|
||||
cost= index_read_cost= in_memory_cost= 0.0;
|
||||
filtered_scans.init();
|
||||
filtered_scans.clear_all();
|
||||
}
|
||||
} PARTIAL_INDEX_INTERSECT_INFO;
|
||||
|
Reference in New Issue
Block a user