summaryrefslogtreecommitdiff
path: root/mysql-test/std_data
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2022-08-01 11:13:50 +0300
committerAleksey Midenkov <midenok@gmail.com>2022-08-01 19:14:46 +0300
commit1ea5e402a89a1e3fb9ba8045e58570d23837714a (patch)
tree9a144222ec0ef24def8eaceda4d1f8f741c84e82 /mysql-test/std_data
parent231feabd2b7f537c9a216a8767763814a4de268b (diff)
downloadmariadb-git-1ea5e402a89a1e3fb9ba8045e58570d23837714a.tar.gz
MDEV-28727 ALTER TABLE ALGORITHM=NOCOPY does not work after upgrade
MDEV-20704 changed the rules of how (HA_BINARY_PACK_KEY | HA_VAR_LENGTH_KEY) flags are added. Older FRMs before that fix had these flags for DOUBLE index. After that fix when ALTER sees such old FRM it thinks it cannot do instant alter because of failed compare_keys_but_name(): it compares flags against tmp table created by ALTER. MDEV-20704 fix was actually not about DOUBLE type but about FIELDFLAG_BLOB which affected DOUBLE. So there is no direct knowledge that any other types were not affected. The proposed fix under CHECK TABLE checks if FRM has (HA_BINARY_PACK_KEY | HA_VAR_LENGTH_KEY) flags and was created prior MDEV-20704 and if so issues "needs upgrade". When mysqlcheck and mysql_upgrade see such status they issue ALTER TABLE FORCE and upgrade the table to the version of server.
Diffstat (limited to 'mysql-test/std_data')
-rw-r--r--mysql-test/std_data/mdev-28727-pet4.frmbin0 -> 934 bytes
1 files changed, 0 insertions, 0 deletions
diff --git a/mysql-test/std_data/mdev-28727-pet4.frm b/mysql-test/std_data/mdev-28727-pet4.frm
new file mode 100644
index 00000000000..3ff86d1dca1
--- /dev/null
+++ b/mysql-test/std_data/mdev-28727-pet4.frm
Binary files differ