Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 1 to 10 of 12 « Previous | Next »
Displaying posts with tag: VillageSQL (reset)
Announcing VillageSQL Server 0.0.6

VillageSQL Server 0.0.6 is now available. This release advances the mainline to MySQL Server 8.4.11 and adds support for MySQL Server 9.7.2 and Percona Server 8.4.10.

Highlights of this release include the following:

  • An extension can now log you in, so your identity provider decides who gets into the database.
  • Extensions can call the server's own internal component services, which opens up a large part of the MySQL surface area.
  • A privilege of its own now covers extension management, so you can grant that and nothing else.
  • If you build a custom type incorrectly, you find out when you compile the extension or when you install it, rather than when someone runs a query.

VillageSQL now runs on MySQL Server 9.7 and Percona Server 8.4

VillageSQL Server 0.0.6 adds a mysql-9.7 build that tracks the MySQL Server 9.7.2 tree, and a percona-8.4 build …

[Read more]
Aligning MySQL Extensions with Existing Component Services

When something goes wrong inside MySQL, the server says so in the error log. It's what administrators already watch. Every entry carries a severity and an error code, and you can query it from performance_schema.error_log like any other table. It is the server's place for communicating "something here needs your attention." This is an example of a service that MySQL provides out of the box. Since 8.0, MySQL's component framework has been able to leverage these services, and now the VillageSQL Extension Framework can too.

VillageSQL is a drop-in replacement for MySQL that lets you run your own code inside the server. The VillageSQL Extension Framework (VEF) gives you a channel to expand MySQL via portable extensions written in C++ or Rust, …

[Read more]
Village News: MySQL News + Events (18 August 2026)

NOTE: We are back after a summer break! Hope you enjoyed the beach and long summer nights.

As part of building the MySQL Community, we are going to publish a curated overview of MySQL and database news and events that you might have missed over the last period.

If you want to get these updates, just subscribe to the blog.

Enjoy!

MySQL News:

Note: Aggregated MySQL news can be found at Planet for MySQL Community and Planet MySQL (Oracle curated)

More to Explore: What’s New on Planet MySQL
TL;DR - Scott Stroz and team are doing major …

[Read more]
Announcing VillageSQL Server 0.0.5

VillageSQL Server 0.0.5 is now available (and marked as the stable release for installs). This release is focused on the extension lifecycle: upgrading an extension in place, pinning the exact version you install, and seeing what's running. The extension framework also adds variable-length custom types and statement-event hooks. VillageSQL Server 0.0.5 tracks Oracle MySQL 8.4.10 and includes all upstream fixes from that branch.

Upgrading extensions

One of the most critical pieces of managing an extension is being able to upgrade it. ALTER EXTENSION introduces the syntax for upgrade, and with it the safety checks that run before an upgrade is allowed to touch your data.

ALTER EXTENSION my_ext VERSION '2.0.0' AT RESTART;

Asking for the version you already have is a no-op with a note. Asking for a different version triggers a set of pre-checks against the target package: it refuses an …

[Read more]
MySQL's New Governance Model: Two steps forward, one step to the side, and one step backwards

After years of MySQL development happening largely behind closed doors, Oracle has been making real progress towards making the MySQL project more open and community-oriented. Thanks and recognition should go to Heather VanCura and the MySQL team for driving these major initiatives which require heavy lifting on a 30-year-old project. As active members of the MySQL community and as a company committed to open source, VillageSQL is encouraged by Oracle's initiatives towards more open MySQL development.

This week’s announcement of a new governance model and a new Steering Committee for MySQL are positive steps but don't get us all the way to fully open source. This new governance model is the most significant structural change to MySQL's community engagement in a long time. It deserves a genuine read, not reflexive cynicism, and not uncritical celebration either. You can read the announcement from Oracle …

[Read more]
Fuzzy String Search for MySQL

MySQL's string matching is precise by design. LIKE '%shirt%' finds "shirt." It won't find "shrt" or "shrit" or anything a user actually typed when they meant "shirt." Handling that in MySQL means regex patterns that grow unwieldy or full-text search that doesn't rank results by closeness. Usually it means punting the whole problem to the application layer.

Two VillageSQL extensions bring fuzzy matching into SQL: vsql-trgm for character-level similarity, and vsql-fuzzystrmatch for edit distance and phonetic matching. They solve different problems — knowing which to reach for is half the work. VillageSQL is a drop-in replacement for MySQL — if you're running MySQL, you can swap it in and install extensions without changing your application.

Trigrams: when strings look …

[Read more]
Village News: MySQL News + Events (11 June 2026)

As part of building the MySQL Community, we are going to publish a curated overview of MySQL and database news and events that you might have missed over the last period.

If you want to get these updates, just subscribe to the blog.

Enjoy!

MySQL News:

Note: Aggregated MySQL news can be found at Planet for MySQL Community and Planet MySQL (Oracle curated)

Opening Up the MySQL Bug Process
TL;DR - Oracle makes more progress on opening the development process for MySQL to include open bug tracking.

[Read more]
Your MySQL Schema is Already a REST API

You have a table. You need to serve it over HTTP.

The standard path requires you to write a service in Node or Python or Go, wire up routes, translate query parameters into WHERE clauses, serialize rows as JSON, add auth middleware, deploy it separately from the database, and then watch two dashboards instead of one.

None of that is particularly hard. It's just infrastructure that re-derives what your schema already says. For internal tools, admin panels, mobile app backends, and prototypes, that's often most of the work between the schema and a usable API.

vsql-rest skips that layer. It's inspired by PostgREST, with a similar idea: your tables as REST endpoints, no code required. The MySQL world also has Oracle's MySQL REST Service, which takes a …

[Read more]
Village News: MySQL/Database News + Events (5 June 2026)

As part of building the MySQL Community, we are going to publish a curated overview of MySQL and database news and events that you might have missed over the last period.

If you want to get these updates, just subscribe to the blog. 

Enjoy!

MySQL News:

Note: Aggregated MySQL news can be found at Planet for MySQL Community and Planet MySQL (Oracle only)

Summary of MySQL Public Discussion #4: Updates and Improvements to Contributions
TL;DR - Summary from Oracle on contribution paths and review of MySQL Contributor Summit

[Read more]
Extend MySQL Using Rust

VillageSQL launched with C++ as the language for writing extensions — C++ is familiar territory for MySQL developers. Rust has become a go-to language for systems and infrastructure developers: the same people who build database connectors, storage engines, and performance-critical services. VillageSQL's new Rust SDK adds it as a first-class option: write and ship a VillageSQL extension entirely in Rust without touching C++.

The architectural approach is similar to pgrx for PostgreSQL: bind directly to the server’s extension ABI rather than going through a client library. That's what opened PostgreSQL extension development to Rust developers, so it's the model we are following too.

What it looks like

We'll use a rot13 function to walk through the mechanics …

[Read more]
« Previous | Next »