ExTectonicdb v0.1.3 ExTectonicdb.Commands View Source
Execture remote commands and receive results
Link to this section Summary
Functions
Add record to current database
Remove records from database
Remove records from all databases
Create database
Checks if orderbook exists
Retrieve all entries from database
Retrieve all entries from database within range
INFO
Add record into a database
PING
Switch databases
Link to this section Types
Specs
connection() :: pid()
Specs
db_name() :: String.t()
Specs
row() :: ExTectonicdb.Dtf.t()
Specs
timestamp() :: non_neg_integer()
Link to this section Functions
Specs
add(connection(), row()) :: {:ok, row()} | {:error, :db_not_found}
Add record to current database
ADD [ts], [seq], [is_trade], [is_bid], [price], [size];
Examples:
iex> row = %ExTectonicdb.Dtf{timestamp: 1505177459.685, seq: 139010, is_trade: true, is_bid: false, price: 0.0703620, size: 7.65064240}
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.add(conn, row)
{:ok, %ExTectonicdb.Dtf{timestamp: 1505177459.685, seq: 139010, is_trade: true, is_bid: false, price: 0.0703620, size: 7.65064240}}
Specs
clear(connection()) :: :ok | :error
Remove records from database
CLEAR
Examples:
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.clear(conn)
:ok
Specs
clear_all(connection()) :: :ok | :error
Remove records from all databases
CLEAR ALL
Examples:
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.clear_all(conn)
:ok
Specs
create(connection(), db_name()) :: {:ok, db_name()} | {:error, :db_not_found}
Create database
CREATE database
Examples:
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.create(conn, "my_new_db")
{:ok, "my_new_db"}
Specs
exists?(connection(), db_name()) :: {:ok, db_name()} | {:error, :db_not_found}
Checks if orderbook exists
EXISTS [orderbook]
Examples:
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.exists?(conn, "default")
{:ok, "default"}
iex> ExTectonicdb.Commands.exists?(conn, "new_db")
{:error, :db_not_found}
Specs
get_all(connection()) :: {:ok, [row()]} | {:error, any()}
Retrieve all entries from database
GET ALL AS CSV
{:ok, conn} = ExTectonicdb.Connection.start_link()
ExTectonicdb.Commands.get_all(conn)
Specs
get_all(connection(), from: timestamp(), to: timestamp()) :: {:ok, [row()]} | {:error, any()}
Retrieve all entries from database within range
GET ALL FROM [from] TO [to] AS CSV
{:ok, conn} = ExTectonicdb.Connection.start_link()
ExTectonicdb.Commands.get_all(conn, from: 1505142459, to: 1505177459)
Specs
info(connection()) :: {:ok, :pong} | {:error, any()}
INFO
Specs
insert_into(connection(), row(), db_name()) :: {:ok, row(), String.t()} | {:error, :db_not_found}
Add record into a database
INSERT 1505177459.685, 139010, t, f, 0.0703620, 7.65064240; INTO dbname
Examples:
iex> row = %ExTectonicdb.Dtf{timestamp: 1505177459.685, seq: 139010, is_trade: true, is_bid: false, price: 0.0703620, size: 7.65064240}
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.insert_into(conn, row, "default")
{:ok, %ExTectonicdb.Dtf{timestamp: 1505177459.685, seq: 139010, is_trade: true, is_bid: false, price: 0.0703620, size: 7.65064240}, "default"}
iex> ExTectonicdb.Commands.insert_into(conn, row, "i-dont-exist")
{:error, :db_not_found}
Specs
ping(connection()) :: {:ok, :pong} | {:error, any()}
PING
Examples:
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.ping(conn)
{:ok, :pong}
Specs
use_db(connection(), db_name()) :: {:ok, db_name()} | {:error, any()}
Switch databases
Examples:
iex> {:ok, conn} = ExTectonicdb.Connection.start_link()
iex> ExTectonicdb.Commands.use_db(conn, "default")
{:ok, "default"}
iex> ExTectonicdb.Commands.use_db(conn, "my-db")
{:error, :db_not_found}