trilogy-libraries/trilogy
trilogy-libraries/trilogy has 794 GitHub stars and 94 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 10:23 UTC. Last push 2026-11-04.
What you can do
- Password authentication
- Query, ping, and quit commands
- Support prepared statements (binary protocol)
- Low-level protocol API completely decoupled from IO
Progression mesurée des étoiles
- in 24h
- 0
- in 7 days
- Historique en cours
- in 15 days
- Historique en cours
- in 1 month
- Historique en cours
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
À propos
Trilogy is a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding.
DonnéesREADME.md
OriginalTrilogy
Trilogy is a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding.
It's currently in production use on github.com.
Features
Supports the most frequently used parts of the text protocol
- Handshake
- Password authentication
- Query, ping, and quit commands
Support prepared statements (binary protocol)
Low-level protocol API completely decoupled from IO
Non-blocking client API wrapping the protocol API
Blocking client API wrapping the non-blocking API
No dependencies outside of POSIX, the C standard library & OpenSSL
Minimal dynamic allocation
MIT licensed
Limitations
Only supports the parts of the text protocol that are in common use.
No support for
LOAD DATA INFILEon local filestrilogy_escapeassumes an ASCII-compatible connection encoding
Building
make - that's it. This will build a static libtrilogy.a
Trilogy should build out of the box on most UNIX systems which have OpenSSL installed.
API Documentation
Documentation for Trilogy's various APIs can be found in these header files:
blocking.hThe blocking client API. These are simply a set of convenient wrapper functions around the non-blocking client API in
client.hclient.hThe non-blocking client API. Every command is split into a
_sendand_recvfunction allowing callers to wait for IO readiness externally to Trilogybuilder.hMySQL-compatible packet builder API
charset.hCharacter set and encoding tables
error.hError table. Every Trilogy function returning an
intuses the error codes defined herepacket_parser.hStreaming packet frame parser
protocol.hLow-level protocol API. Provides IO-decoupled functions to parse and build packets
reader.hBounds-checked packet reader API
Bindings
We maintain a Ruby binding in this repository. This is currently stable and production-ready.
License
Trilogy is released under the MIT license.