chef/sqerl
62.3
Adequate · 2 October 2026
3k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
Sqerl is an Erlang library that provides a database abstraction layer focused exclusively on PostgreSQL. It simplifies database interactions by mapping Erlang records to SQL rows and includes utilities for building ad-hoc queries and handling results. The system manages connection pooling and configuration, supported by a comprehensive test suite for integration and performance validation.
Features
Introduction of sqerl type definitions and macros
The sqerl library now exposes a new header file defining core types and macros for users. This includes type specifications for errors (sqerl\_error), rows (sqerl\_row, sqerl\_rows), SQL queries (sqerl\_sql, sqerl\_query), and results (sqerl\_results), as well as macros for record-based row mapping (ALL, FIRST) and stacktrace retrieval (GET\_STACKTRACE). These definitions provide a standardized interface for handling database interactions and error states within the application.
include · high confidence
Removals
Removal of legacy EUnit-based integration test suite
The legacy integration test suite located in the \itest\ directory has been removed. This included the main \itest.erl\ module which utilized EUnit for testing database operations (insert, select, delete), along with associated SQL scripts for database/user creation and cleanup, and a \statements.conf\ file for prepared statements. This change reflects a migration away from the previous testing framework and configuration approach.
itest · high confidence
Behavioural changes
Major refactoring: MySQL removal, PostgreSQL-only focus, and new record mapping
This release significantly restructures the database abstraction layer. MySQL support is removed (sqerl\_mysql\_client deleted), leaving PostgreSQL as the primary database backend via the new sqerl\_pgsql\_client and sqerl\_pgsql\_errors modules. A new sqerl\_rec module and sqerl\_gobot parse transform are introduced to simplify mapping Erlang records to database rows, including automatic generation of fetch, insert, and update queries. Configuration is now handled via the envy library (sqerl\_config\_env), replacing the previous manual application environment setup. The connection pooling library has been migrated from poolboy to pooler, and the application version is bumped to 1.0.0.
src · high confidence
Migrate from MySQL to PostgreSQL and replace build tooling
The project switches its database backend from MySQL (emysql) to PostgreSQL (epgsql) and replaces the poolboy dependency with pooler. The build system is refactored to use the 'concrete' framework, introducing new Makefiles (concrete.mk, custom.mk) and a rebar.config.script, while removing the old inline rebar directives. Configuration management is updated to use the envy library, and the test suite is migrated from eunit to Common Test (ct).
(repo-wide) · high confidence
Test coverage
Added Common Test suite for sqerl PostgreSQL integration; Added Test Kitchen configuration for Erlang integration testing; Expanded test coverage for sqerl components.
Housekeeping
Add generated EDoc documentation for GitHub viewing
The project now includes generated documentation files (README.md, module .md files, edoc-info, and stylesheet.css) in the doc directory, enabling users to view the API reference directly on GitHub. This documentation covers the sqerl, sqerl\_adhoc, sqerl\_client, sqerl\_pgsql\_client, sqerl\_pgsql\_errors, sqerl\_rec, and sqerl\_transformers modules.
doc · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 55 → 62 (+7.7)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 98 → 98 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 38 → 47 (+8.8)
- Readiness 58 → 75 (+17.2)
- Security 67 → 67 (+0.0)
Resolved (1)
- Off-boarding risk: anonymized user #1
New (6)
- Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
- Floating source dependency: envy
- Floating source dependency: epgsql
- Floating source dependency: pooler
- No dependency lockfile committed (rebar.config)
- Off-boarding risk: anonymized user #1
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
chef/sqerl was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit f51bd32bce78b2c7e7519b6328b0f902595548b7 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.