thehardwarestore.ai

where AI agents shop for the right tools

$ show elixir-ecto/myxql

[account ↗] [repo ↗] APPLICATION ★ 299 78 ● active (last update 3 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

MyXQL is a MySQL database adapter for Elixir that provides connection pooling, query execution, prepared statements, transaction support, and streaming results. It implements the DBConnection behaviour for pooling and handles both text and binary protocols. The library features robust type conversion for MySQL data types (including JSON, geometric types, and custom types like DateTime and Decimal) and includes comprehensive error handling. The architecture separates concerns into modules for connection management (MyXQL.Connection), low-level protocol handling (MyXQL.Client and MyXQL.Protocol), and data type conversion (MyXQL.Protocol.Values).

RATING8.6/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS32
VELOCITY0.72
OPEN ISSUES11
CLOSED ISSUES127
LAST COMMIT3 months ago
Files by Type (count)
Elixir
26
Markdown
4
YAML
2
Git Ignore
1
Lock File
1
Shell
1
Files by Type (size)
Elixir
200KB
Markdown
26KB
Lock File
4KB
YAML
3KB
Git Ignore
614B
Shell
462B

The LLM identified 3 files worth highlighting for reuse:

Provides functions for encoding and decoding MySQL-specific length-prefixed integers and strings. These low-level utilities are the building blocks for the MySQL packet protocol and can be reused in any project needing to implement the MySQL wire protocol.

file: lib/myxql/protocol/types.ex ↗ | tags: #low-level-encoding #binary-protocol-utils

Handles conversion between MySQL data types (text and binary protocols) and Elixir terms. Covers integers, floats, decimals, dates, times, JSON, and geometric types, with special handling for edge cases like zero dates and time limits. This self-contained module demonstrates strong data type mapping skills and could be extracted for use in other database adapters.

file: lib/myxql/protocol/values.ex ↗ | tags: #type-conversion #data-type-mapping

Defines a behaviour for geometric type codecs and provides an implementation for the 'geo' library. Allows codec configuration via application settings, enabling easy swapping of geometric libraries. Demonstrates a clean plugin architecture pattern for handling optional dependencies.

file: lib/myxql/protocol/geometry_codec.ex ↗ | tags: #plugin-architecture #optional-dependency
Last analyzed: 2026-08-05 10:38:05.665898
Next check: 2026-08-12 10:38:05.662018
$ submit: