maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #10688
MDEV-7049 MySQL#74585 - InnoDB: Failing assertion: *mbmaxlen < 5 in file ha_innodb.cc line 1904
Hello Marko,
InnoDB uses 5 bits to store the combination of mbminlen and mbmaxlen,
and its calculated as:
mbmaxlen * 5 + mbminlen
Note, combinations with mbminlen=0 and mbmaxlen=0 are not possible.
Also, combinations with mbminlen>mbmaxlen are not possible.
This is a summary:
mbminlen
mbmaxlen 0 1 2 3 4
0 (0) (1) (2) (3) (4)
1 (5) 6 (7) (8) (9)
2 (10) 11 12 (13) (14)
3 (15) 16 17 18 (19)
4 (20) 21 22 23 24
I marked impossible numbers with parentheses.
In the range 0..24:
- 10 pairs are valid
- 15 pairs are not valid
It should be safe to use any impossible number to mean
mbmaxlen=5 & mbminlen=1
It seems there is no really a need to extend the header to use
separate 3 bits for both mbminlen and mbmaxlen.
Follow ups