Hello! I plan to have this commit included in the next upload of MariaDB 10.1.x into Debian: https://salsa.debian.org/mariadb-team/mariadb-10.1/commit/89ae638d1d3b5a7157d086a9be2468cae764aae7
ti 9. tammik. 2018 klo 17.45 Jonas Meurer (jo...@freesources.org) kirjoitti: > > Package: mariadb-server-10.1 > Version: 1:10.1.29-6 > Severity: serious > Tags: upstream > > Control: -1 forwarded https://jira.mariadb.org/browse/MDEV-14904 > > Hello, > > I just discovered that MariaDB 10.1 packages in Sid, Buster and Stretch > break applications that expect a maximum allowed size of 255 characters > for VARCHAR fields. E.g.: > > > django.db.utils.OperationalError: (1071, 'Specified key was too long; > > max key length is 767 bytes') > > This is due to the fact that MariaDB in Debian has `utf8mb4` set as > default character since version 10.0.20-2 which raises the required > amount of memory per character. > > To still allow fields with > 191 < 255 characters, `innodb_large_prefix` > has to be enabled, which in turn requires the following settings: > > > innodb_file_format = Barracuda > > innodb_file_per_table = On > > innodb_large_prefix = On > > Unfortunately even that is not enough. Additionally, the row format for > tables needs to be changed to `dynamic`. > > Starting with MariaDB 10.2, `innodb_default_row_format` was introduced, > which allows to set the default row format for the whole MariaDB server. > Unfortunately, this option is not available in MariaDB 10.1 yet. In > other words, there's no way to configure MariaDB 10.1 in Debian in a way > that it works with applications that expect things like VARCHAR(255) to > be possible. > > This is a severe regression. I discussed this topic with MariaDB > upstream developer Marko Mäkelä (dr-m) on IRC and he agreed that they > can backport `innodb_default_row_format` for the next upstream release > of MariaDB 10.1. I created an upstream bugreport to track this: > > https://jira.mariadb.org/browse/MDEV-14904 > > I suggest that this fix should be backported to MariaDB 10.1 in Debian > Stable as well as it is a severe regression compared to MySQL and > earlier MariaDB versions (i.e. pre 10.0.20-2). > > PS: This problem doesn't exist with MariaDB >= 10.2 or MySQL 5.7 as > both switched to `Barracudea` as default `innodb_file_format` along > with `innodb_large_prefix` and `dynamic` as default row format. > > See the following bugreports and discussion threads for further details: > > * https://jira.mariadb.org/browse/MDEV-9646 > * https://code.djangoproject.com/ticket/18392 > * > https://stackoverflow.com/questions/30761867/mysql-error-the-maximum-column-size-is-767-bytes