You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
No support for default collation (utf8mb4_uca1400_ai_ci) in MariaDB #4222
I am aware that the project does not specifically mention support for MariaDB. Since the project is so close to MySQL I hope this still is considered as a fixable bug.
For reproduction purposes, this is one of my tables (simplified a bit) in my schema that triggers this error:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`created_at` datetime NOT NULL DEFAULT current_timestamp(),
`updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(),
`username` varchar(255) NOT NULL DEFAULT '',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `user_username_unique` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
I traced the parsing flow into internal/engine/dolphin/parse.go, specifically the call to:
p.pingcap.Parse(...)
I attempted a temporary normalization workaround by replacing:
utf8mb4_uca1400_ai_ci
with:
utf8mb4_general_ci
before parsing.
However:
the original reproduction issue still occurred
and several parser-related tests started failing (TestSplit, etc.)
So it seems the unsupported collation handling likely occurs deeper in the parser / DDL validation layer rather than only at the top-level parse entrypoint.
Leaving my investigation notes here in case they help future work on proper MariaDB collation support.
Activity
mujib77 commentedon May 11, 2026
I investigated this issue on the current
mainbranch and was able to consistently reproduce it using a minimal MariaDB schema with:Running:
fails with:
I traced the parsing flow into
internal/engine/dolphin/parse.go, specifically the call to:I attempted a temporary normalization workaround by replacing:
with:
before parsing.
However:
TestSplit, etc.)So it seems the unsupported collation handling likely occurs deeper in the parser / DDL validation layer rather than only at the top-level parse entrypoint.
Leaving my investigation notes here in case they help future work on proper MariaDB collation support.