Skip to content
This repository has been archived by the owner on Oct 4, 2021. It is now read-only.

Latest commit

 

History

History
54 lines (42 loc) · 4.08 KB

README.md

File metadata and controls

54 lines (42 loc) · 4.08 KB

PostgreSQL Client on Finagle

CI codecov Scala Steward badge

This implements a client and a rich client for the Postgres protocol on Finagle.

Status

This project has been archived since it was merged into finagle mainline. You can find it here. It is now being developed internally at Twitter, PRs and issues should be reported to the finagle repository directly.

Prior art

There are at least 2 other PostgreSQL clients for Finagle: finagle-postgres and roc.

The roc client is incomplete and seems unmaintained at this point.

The finagle-postgres client is more complete, but also suffers from lack of maintenance love. One main concern is the fact that it is still on the old style of using netty pipelines to implement protocols with Finagle. Upgrading it to the new style would require rewriting a large portion, so it seemed equivalently risky to write a new one from scratch. Furthermore, it opens the door to new features like properly implementing multi-line queries, implementing the COPY protocol and cancellation. Lastly, one original goal of this new client was to implement streaming (for result sets and multi-line queries).

Protocol

Client