Add support for MariaDB 10.5 / 10.6
parsing ibata1 for MariadB10.5/ 10.6 cause error
└──╼ #ruby -r rubygems -I lib bin/innodb_space -s /var/lib/mysql/ibdata1 system-spaces
name pages indexes
Traceback (most recent call last):
11: from bin/innodb_space:1714:in <main>' 10: from bin/innodb_space:192:in system_spaces'
9: from bin/innodb_space:188:in block in system_spaces' 8: from bin/innodb_space:188:in to_a'
7: from bin/innodb_space:188:in each' 6: from /root/innodb_ruby/lib/innodb/space.rb:341:in each_index'
5: from /root/innodb_ruby/lib/innodb/space.rb:321:in each_index_root_page_number' 4: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:425:in each_index_by_space_id'
3: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:355:in each_index' 2: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:324:in each_record_from_data_dictionary_index'
1: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:278:in data_dictionary_index' /root/innodb_ruby/lib/innodb/data_dictionary.rb:235:in data_dictionary_indexes': undefined method `data_dictionary_header' for nil:NilClass (NoMethodError)
I suspect that this could occur because lib/innodb/space.rb does not take into account innodb_checksum_algorithm=full_crc32 (MariaDB/server@c0f47a4a58424c621204dacb8016a94b66cb2bce and MariaDB/server@6b6fa3cdb16ae7b4bc9e307c7d9b9012a055548c).
Does it work if you initialize the database with innodb_checksum_algorithm=strict_crc32 or innodb_checksum_algorithm=crc32? The default was changed in MariaDB Server 10.5.0 by MariaDB/server@437da7bc54daa131b46900128ebe3ad2ca25c11a.