mysqlex_pool v0.2.1 MysqlexPool

A Simple wrapper around mxsqlex to add pooling

Summary

Functions

execute a mysql query

execute a mysql query

Called when an application is started

Functions

query(statement)
query(String.t) :: {:ok, Mysqlex.Result.t} | {:error, any}

execute a mysql query

Examples

iex>MysqlexPool.query( "SELECT ID, Name FROM `city` WHERE id = 1" )
{ :ok, %Mysqlex.Result{columns: ["ID", "Name"], command: :select, last_insert_id: nil, num_rows: 1, rows: [{1, "Kabul"}] } }
query(statement, params)
query(String.t, List.t) ::
  {:ok, Mysqlex.Result.t} |
  {:error, any}

execute a mysql query

Examples

iex>MysqlexPool.query( "SELECT ID, Name FROM `city` WHERE id = ?", [ 1 ] )
{ :ok, %Mysqlex.Result{columns: ["ID", "Name"], command: :select, last_insert_id: nil, num_rows: 1, rows: [{1, "Kabul"}] } }
iex>MysqlexPool.query( "SELECT ID, city.Name as City, Population FROM city WHERE city.CountryCode IN ( SELECT country.Code FROM country WHERE Population < ? ) ORDER BY Population desc LIMIT 0,?", [ 50_000, 2 ] )
{ :ok, %Mysqlex.Result{columns: ["ID", "City", "Population"], command: :select, last_insert_id: nil, num_rows: 2, rows: [{915, "Gibraltar", 27025}, {553, "George Town", 19600}] } }
start(type, args)
start(atom, :permanent | :transient | :temporary) ::
  :ok |
  {:error, term}

Called when an application is started.

This function is called when an application is started using Application.start/2 (and functions on top of that, such as Application.ensure_started/2). This function should start the top-level process of the application (which should be the top supervisor of the application’s supervision tree if the application follows the OTP design principles around supervision).

start_type defines how the application is started:

  • :normal - used if the startup is a normal startup or if the application is distributed and is started on the current node because of a failover from another node and the application specification key :start_phases is :undefined.
  • {:takeover, node} - used if the application is distributed and is started on the current node because of a failover on the node node.
  • {:failover, node} - used if the application is distributed and is started on the current node because of a failover on node node, and the application specification key :start_phases is not :undefined.

start_args are the arguments passed to the application in the :mod specification key (e.g., mod: {MyApp, [:my_args]}).

This function should either return {:ok, pid} or {:ok, pid, state} if startup is successful. pid should be the PID of the top supervisor. state can be an arbitrary term, and if omitted will default to []; if the application is later stopped, state is passed to the stop/1 callback (see the documentation for the c:stop/1 callback for more information).

use Application provides no default implementation for the start/2 callback.

Callback implementation for Application.start/2.

start_link(opts)
start_link({}) ::
  {:ok, pid} |
  :ignore |
  {:error, {:already_started, pid} | {:shutdown, term} | term}