← Back to team overview

maria-discuss team mailing list archive

Re: Change to innodb_large_prefix with respect to creating long indexes

 


On 07/03/17 13:00, Marco Nicosia wrote:
> Hi there,
> 
> We noticed a change between MariaDB 10.1.18 and 10.1.20, but I haven't
> been able to find anything in the changelogs or JIRA that would help me
> understand what changed, and why.
> 
> On 10.1.18, if I set `innodb_large_prefix=OFF` I can create indexes with
> lengths greater than 767 bytes and MariaDB only issues a warning. If I
> configure `innodb_large_prefix=ON` I get an error and the index fails to
> create. This seems like a bug?
> 
> On 10.1.20, mysql fails to create the index regardless of how
> innodb_large_prefix is configured.
> 
> We think that the result is that in 10.1.20, tables must be created or
> altered to use `ROW_FORMAT DYNAMIC` or `ROW_FORMAT COMPRESSED` if they
> are to contain an index with greater than 767 bytes in it.

That is part of the requirement:

https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_large_prefix

> Is this the desired behavior?

It appears to be.

> Was there a bug in 10.1.18 (and maybe
> previous)?

Possibly. I couldn't see anything in jira either.


> I'm trying to understand the context better so that when devs ask us why
> index creation is failing, we give them the correct answer for why it
> used to work, and what they should be doing differently now that we're
> on 10.1.20.
> 
> Thanks!
> 
> --
>   Marco Nicosia
>   Pivotal Software, Inc.
> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~maria-discuss
> Post to     : maria-discuss@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
> 



References