Skip to content
Mirro Mutth edited this page Mar 5, 2024 · 10 revisions

The r2dbc-mysql is a MySQL implementation of the R2DBC SPI. This implementation is not intended to be used directly, but rather to be used as the backing implementation for a humane client library to delegate to. See R2DBC Homepage.

Let's Getting Started!

Our goals

  • Based on R2DBC Spec
  • Implement with NIO and full stack reactive streaming
  • Provide features similar to mysql-connector-j
  • Full support for MySQL 5.5 and above, compatible with earlier versions
  • Extended support for MariaDB and other distributions
  • Open source under the Apache license

Not our goal

  • Old Java Date/Time API. e.g. java.sql.Timestamp, java.sql.Date
  • JSON/Geometry/UUID serialization/deserialization. They can be extended by users with CodecRegistrar

Version increment rules

  • Major: Increment for big bang changes, like:
    • r2dbc-spi:1.0.0 -> r2dbc-spi:2.0.0
    • A major refactoring of the overall project
    • Requires Java 8 -> requires Java 17
  • Minor: Increment when resolved all known bugs or for relatively big changes, like:
    • r2dbc-spi:1.0.0 -> r2dbc-spi:1.1.0
    • Meant a lot of changes and a lot of bugs fixed
  • Patch: Increment for everything else
    • Some bug fixed
    • Small features
    • It should not cause incompatibility to users who are using the r2dbc-spi, unless the original usage does not comply with the r2dbc spec, or it is an incorrect usage
    • Never change the r2dbc-spi version between this and the previous version