On 12/26/20 11:28 AM, Joel Lord wrote:
innodb_page_size of 16384 is the default, so that is what I'm working with as well. The row size limit is half the page size minus some overhead, so it comes out to 8126 and I bet that is yours as well.
Yes, I am utf8mb4 at the database and table levels, and I bet you are right.
Just to confirm, between 3.2.1 and 3.2.2 the column archive_rendering_mode was added to the mailinglist table. This column is type - integer (4 bytes), but could be enough to push the row over the limit.
As far as utf8mb4 vs. utf8 is concerned. There will be issues with the hyperkitty_email table subject and content columns in particular and maybe others if email messages contain 4-byte utf-8 unicodes. However, as I read the MySQL docs, for columns like VARCHAR(255) and VARCHAR(510), the difference affects only the number of characters that can be stored in the column and not the actual column width. I.e., a VARCHAR(255) column is actually up to 256 bytes wide (1 byte for length and up to 255 butes of data) and can thus hold up to 85 3-byte utf-8 encodings or up to 63 4-byte utf-8 encodings, but since any string normally contains only a few if any (probably none in the case of the mailinglist table) the actual limit is much closer to 85.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan