Skip to content

archaelus/edbi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EDBI - A database independent interface for Erlang

EDBI is intended as a database independence and connection pooling library for erlang programs.

Drivers

dummy
edbi_dummy A dummy driver for EDBI testing that just writes SASL logs on startup
pgsql
pgsql The Process One Postgresql driver modified for use with EDBI.
mysql
mysql The Process One MySQL driver modifed for use with EDBI. [1]
[1]Note that this driver isn't tested yet.

Configuration

EDBI uses OTP application configuration, so you can just put:

{edbi, [{pools, pools()}]}.

in your system.config file.

The syntax of the pools env value is described in edoc type format as follows:

pools() = [pool(),...].
pool()  = {PoolName::term(),
           Driver::atom(),
           Options::term(),
           Count::integer()}.
PoolName
the term used to identify and refer to the pool.
Driver
the name of the backend to use in the pool.
Options
a proplist of options to pass to the backend.
Count
the number of connections to maintain to the database.

Examples

A pool called dummy_pool of 10 dummy drivers.:

{dummy_pool, dummy, [], 10}

A pool (mydb) of 10 connections to the local postgres database mydb as myuser.:

{mydb, pgsql, [{database, "mydb"},
               {host, "localhost"},
               {user, "myuser"},
               {password, ""}],
       10}

Use

Currently the API is extremely basic and only allows you to retreive connection PIDs to use with the driver backend.:

1> ConnectionPid = edbi:connection(PoolName),
1> pgsql:squery(ConnectionPid, "select 1").
{ok,[{"SELECT",[{"?column?",text,0,23,4,-1,0}],[["1"]]}]}

About

DEAD PROJECT: Database independent interface for Erlang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages