mirror of
https://github.com/MariaDB/server.git
synced 2026-10-23 18:49:29 +03:00
remove copying of part_elem->option_struct to table->s->option_struct. It meant that most of the time a handler had no access to its options (that's why some handlers resorted to a complex process of guessing the correct partition) and couldn't work concurrenty. Instead * introduce handler::option_struct which will point to table->s->option_struct or part_elem->option_struct as appropriate, the handler can use it any time as needed. A handler should not use table->s->option_struct unless it really knows what it's doing and has verified that it doesn't break partitioning * rename option_struct in table->s to option_struct_table and in part_elem to option_struct_part to emphasize it's semantics and prevent incorrect usage. * fix engines accordingly.