[MDEV-27779] Cannot import into 10.6.5 a table exported from 10.3.14 due to precise type mismatch on varchar Created: 2022-02-08 Updated: 2023-09-15 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Alter Table, Storage Engine - InnoDB |
| Affects Version/s: | 10.3.14, 10.6.5 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Daniel Ragle | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | import, tablespace | ||
| Environment: |
Linux |
||
| Description |
|
In brief, trying to import a simple InnoDB test table created on a 10.3.14 server into a 10.6.5 server fails with:
I followed the instructions here: Specific statements follow. On the 10.3.14 server:
And then, after copying the t1.cfg and t1.ibd files over to the target 10.6.5 server (also into the /tests/innodb_import folder, with appropriate ownership and permissions):
The error comes when trying to import the table. I also tried it without the .cfg (only copying the .ibd to the target directory and not the .cfg) and with that I get a different error:
And I also tried the whole thing shutting down the source server (with innodb_fast_shutdown = 0) before copying, with the same results (in that case I only copied the .ibd file). I read with interest MDEV-15225, however it seems mostly focused on temporal types which I'm not using here. It does suggest, however, that there may be data types that cause problems between versions other than just temporal, and mentions a three-file (with the .frm) import as a possible general solution to the issue (MDEV-26137) and the ongoing work to streamline the import process (MDEV-11658). But in all that, I don't see a work-around for my specific issue. Is there one? Or am I going about it wrong? |
| Comments |
| Comment by Marko Mäkelä [ 2022-02-08 ] | ||||||
|
What does SHOW CREATE TABLE report for the table, in each server? The InnoDB "precise type" depends on the character set and collation. | ||||||
| Comment by Daniel Ragle [ 2022-02-08 ] | ||||||
|
Character set fixed the issue with the "precise type" mismatch; when I add the same DEFAULT CHARSET to both sides I am able to import when I use the .cfg file, thanks. However, the .ibd only import (without the .cfg) is still problematic. It still gives
I thought that explicitly adding the ROW_FORMAT=DYNAMIC on both sides would fix that, but still getting it. The create table now looks like this (it's identical on both sides, now that I am specifying DEFAULT CHARSET):
| ||||||
| Comment by Marko Mäkelä [ 2023-09-15 ] | ||||||
|
dragle, sorry, I missed your update. The tablespace flags 0x15 are what innodb_checksum_algorithm=full_crc32 (the default since
In |