[MDEV-13360] too long values in mysql.innodb_table_stats.table_name Created: 2017-07-20 Updated: 2022-07-09 Resolved: 2022-07-09 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB, Storage Engine - XtraDB |
| Affects Version/s: | 10.0, 10.1, 10.2 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Minor |
| Reporter: | Sergei Golubchik | Assignee: | Unassigned |
| Resolution: | Won't Fix | Votes: | 1 |
| Labels: | upstream, upstream-fixed | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
The last statement returns 79, even though the column is defined as varchar(64). This can potentially fail in the upper layer in many different ways. For example, it makes copying ALTER TABLE to fail with "duplicate key value". The same applies to innodb_index_stats too. |
| Comments |
| Comment by Marko Mäkelä [ 2018-11-06 ] |
|
The necessary length for table_name is actually 199 characters, because the name can include up to 3 components: table, partition, and subpartition name, each being 64 characters. With delimiters, the maximum length is 199 characters, or 597 bytes (actually a little less, because the delimiters are 1-byte characters). InnoDB uses its internal SQL parser for updating the persistent statistics, and it would ignore the declared maximum length. This would ultimately cause trouble in MySQL 5.7 (MariaDB 10.2), because InnoDB could hang due to mispredicting page splits ( In MariaDB, we should eventually get rid of these problematic tables and make the InnoDB data files more self-contained by storing the statistics directly in the .ibd files ( If a too old server is started with newer data files, it would refuse startup. Hopefully there will be no need to revise the InnoDB statistics table definitions after |
| Comment by Hartmut Holzgraefe [ 2018-11-27 ] |
|
Fixed by the InnoDB 5.7.23 merge in MariaDB 10.2.18 and 10.3.9? |
| Comment by Hartmut Holzgraefe [ 2019-03-29 ] |
|
I was actually off by one, it was fixed in 10.2.17 via Merge Revision #976f920514 2018-08-03 08:37:05 +0300 - |
| Comment by Hartmut Holzgraefe [ 2019-03-29 ] |
|
Also fixed in 10.3.9 |
| Comment by Hartmut Holzgraefe [ 2019-03-29 ] |
|
Still present in current 10.1.38 though .... |
| Comment by Daniel Black [ 2022-07-09 ] |
|
10.2 out of support now. |