MaridDB 10.3.29 prevents me from deleting a foreign key This is a minimal example that triggers the error
CREATE TABLE A (
  id bigint NOT NULL AUTO_INCREMENT PRIMARY KEY
);

CREATE TABLE B (
  what tinyint NOT NULL,

  a bigint NOT NULL,

  CONSTRAINT x FOREIGN KEY (a) REFERENCES A(id),
  CONSTRAINT y CHECK (what &gt; 0)
);


SELECT b.a FROM B b;

ALTER TABLE B DROP CONSTRAINT x;

When i run this in a fresh MariaDB instance (docker mariadb:10.3.28) everything works fine.
When MariaDB 10.3.29 was released the query suddenly broke. So, when i run this in a fresh MariaDB instance (docker mariadb:10.3.29) i get the following error message for the last statement:
[42S22][1054] (conn=8) Unknown column '`db`.`b`.`what`' in 'CHECK'

Some weird observations:

if i delete the y check and add it after dropping x everything works
if i remove the SELECT everything works
the b from the error message changes with the table alias from the SELECT statement
running the last statement again shows the same error
the error message makes no sense at all

So my question: what's wrong with my SQL?
This is actually a bug in MariaDB. See the bugtracker.
They recommended to do FLUSH TABLES; before the ALTER statement.
I can confirm that this &quot;hides the bug&quot;.