The Extensibility Tax: Decisions, Principles, and Lessons from a Year of Teaching MySQL New Tricks (Steve Schirripa)
- Speaker:
- Steve Schirripa
- Date:
- Mon Apr 20, 2026 @ 04:30pm EDT
- Date:
- Mon Apr 20, 2026
- Time:
- 04:30pm EDT
- Location:
- https://cmu.zoom.us/j/99830697483?pwd=RLKiHNDLPvOyoCMHSBGmWfbba4ZAb4.1Zoom
- Title:
- The Extensibility Tax: Decisions, Principles, and Lessons from a Year of Teaching MySQL New Tricks
- System:
- VillageSQL
- Video:
- YouTube
Talk Info:
What does it take to add custom data types and indexes to a database that was never designed for them? Over the past year, we built an extensibility framework for MySQL — and discovered, one by one, every place the codebase assumes it knows all the types that will ever exist.
This talk walks through the design decisions that survived and the ones that didn't. We'll cover why extending MySQL's type system through the type system is impossible, why injecting metadata into existing classes beat every attempt at wrapping or subclassing, and why eight separate comparison code paths all needed interception. We'll look at the surprises — CREATE TABLE and ALTER TABLE being essentially different codebases, SQL features like LOAD DATA and default values that each bypass the layers you'd expect, and non-deterministic query plans exposing latent bugs that only appear on the second execution. And we'll share the principles that emerged: follow the existing patterns exactly, treat backward compatibility as a first-class constraint, and make the Data Dictionary sacred ground.
Whether you're building database extensions, working with large legacy codebases, or just curious about what's hiding inside MySQL, you'll leave with practical lessons about making architectural decisions when the codebase is fighting you at every turn.
This talk is part of the PostgreSQL vs. The World Seminar Series.
Bio:
Steve Schirripa is alumni of Carnegie Mellon University (MSE'00) and the technical co-founder/CTO of VillageSQL. Prior to that he was a Distinguished Software Engineer at Google for 21 years where he was the Technical Lead for Bigtable and the Colossus File System.