Vitess Client for Scala

Maven Central

This is an implementation of the Vitess grpc interface using a full scala toolchain. The reason for this is three-fold.

  • Using ScalaPB gives a more scala-like interface.
  • Netty 4.1 incompatibility. There are two clients one is shaded the other is not. Netty 4.0 to 4.1 introduced multiple binary incompatibilities which makes it hard to integrate two different dependency trees
  • I can build a Quill adapter for Vitess, which is a great lightweight compile-time SQL abstraction.

Quick start

Currently vitess-quill, vitess-client and vitess-shade both support 2.11 and 2.12

SBT

In your build.sbt include the build coordinates hosted on maven like so.

libraryDependencies ++= Seq(
  "com.dispalt" %% "vitess-client" % "0.6.2-SNAPSHOT"
)

Or to use the shaded version instead, include the following artifact.

libraryDependencies ++= Seq(
  "com.dispalt" %% "vitess-shade" % "0.6.2-SNAPSHOT"
)

Quill Support

Add the following to your build dependencies. It will automatically pull in vitess-client, so if you want to use the shaded version, exclude the dependency and

libraryDependencies ++= Seq(
  "com.dispalt" %% "vitess-quill" % "0.6.2-SNAPSHOT"
)

The current version 0.6.x supports Quill 1.2.1

License

Apache 2.0, see the LICENSE file for a full copy.