Back to MariaDB
GSoC 2026

Implement a distinct data type for JSON

MariaDB currently implements the JSON data type as an alias for LONGTEXT rather than as a distinct type, causing JSON columns to be misreported in schema introspection, client metadata, and the wire protocol. This breaks ORM frameworks such as Ruby on Rails ActiveRecord, which cannot identify the column as JSON and silently corrupts data. It also puts MariaDB out of compliance with the SQL:2016 standard. This project implements JSON as a fully distinct type in MariaDB's type system without changing storage so that JSON columns are correctly identified and reported at every layer: schema commands, the Information Schema, wire protocol metadata, and implicit validation. Deliverables include correct SHOW COLUMNS and SHOW CREATE TABLE output, accurate INFORMATION_SCHEMA reporting, proper wire protocol type codes, implicit JSON validation on write, correct JSON function return types, and a full MTR test suite covering all changes.

Project details

Contributor

Hadeer Ramadan

Mentors

Not available

Technologies

Not listed in the archive