SQL Bridge Changelog
0.7.1 (2026-07-24)
- Update docs to use the newer
-doc spec
- Added a conditional parse-transform to make the
-doc spec backwards
compatible with older OTP versions
- Expand documentation for the key generation feature
0.7.0 (2026-03-04)
- The mysql-otp bridge has been reworked to use the mainline
mysql-otp repo (rather than
@choptastic's fork). This requires
new functionality in
mysql-otp.
- The epgsql bridge now relies on mainline
epgsql (rather than @choptastic's
fork). This ended up requiring migrating @choptastic's epgsql customizations
to become epgsql custom
codecs
and epgsql_decimal.
- Added a primary key generator for SQL Bridge to use if the table is not using
its own key generation. This key generator can be completely swapped out if
its conditions are not sufficient for your needs.
- Added
primary_key(Table) which returns the field name of the primary key of the
provided table
- Added
is_auto_increment(Table, Field) which returns true if the Field in
Table is using the RDBMS's auto increment feature for primary key generation
(ala MySQL's auto_increment or PostgreSQL's serial).
- Added
field_type(Table, Field) which returns a limited arrangement of terms
usable for key generation (that is, integers, strings, and UUIDs). Other field
types are ignored (floats, dates, etc). This will likely be built out further
eventually, but its current implementation is to go along with the new primary
key generator.
- Fixed
epgsql's decoding of decimal/numeric types to return a float or
integer. (Fixes Issue #5)
- Fixed a crash in the
epgsql driver
(Issue #10) (Thanks
@th31nitiate!)
- The above work ensures that sql_bridge is now fully hex compliant and
available in hex.pm.
- Fix a big transaction bug in the mysql-otp bridge where transactions were
mostly unreliable.
- Fix all dialyzer errors
- Added Github Actions testing
0.6.1 (2022-04-13)
- Added support for setting the hostname to a
{Mod,Fun} tuple that will be
called to determine which DB server to connect to.
0.6.0 (2022-03-14)
- Loosen the supervisor failure conditions, so
sql_bridge doWorking Versione
if the backend DB server goes offline for an extended period.
- Added
field_exists/2 to check for the existance of a field in a table
0.5.0 (2021-11-17)
- BACKWARDS INCOMPATIBLE CHANGE: Removed support for emysql
- Configured with rebar3
0.4.0 (2020-04-14)
- BACKWARDS INCOMPATIBLE CHANGE: Renamed
update and insert to qupdate
and qinsert.
- Created
update/[2,3] and insert/2 which are friendly maps to plu and
pli respectively.
- Handling nested transactions and nested checkouts (just for mysql-otp right now)
- Give a warning message if query breaks in mysql-otp. Previously just returned
{error, Something} but this generates an OTP warning as well.
- Fix atom encoding in epgsql
- Branched the module alias system into a new dependency module called
erlias
- The built-in base64 converter now uses
b64fast
- Add a timer-based logger. Calling
log_for_time(5) will log all queries for
5 seconds to sql_bridge.log
0.3.0 (2016-04-14)
- Normalize return values for date, time, timestamp, and decimal types.
- Fix
db:save to properly decompose tables of the database.tablename
format.
- Better normalization of
true, false and NULLs to undefined
- Add more tests
0.2.0 (2016-03-10)
- Add record handling
- Improve stability in mysql-otp driver
0.1.1 (2016-01-22)
0.1.0 (2016-01-21)
- Renamed SigmaSQL to SQL_Bridge
- Changed the core module from
db.erl to sql_bridge.erl, and implemented
the alias system.
- Add PostgreSQL support
- Add MySQL and PGSQL token replacement methods to be configurable. (
? and
$1, respectively)
- Add support for
mysql_otp and epgsql drivers
- Add battery of tests
0.0.4 (2015-10-05)
- Unicode Fix
- Working with Erlang 18
0.0.2 (2014-08-14)
- Added Typespecs
- Bug Fixes
- Passing dialyzer
0.0.1 (2013-09-28)
- Supported Emysql driver only.