Ecto SQL v3.4.4 Ecto.Adapters.SQL.Connection behaviour View Source
Specifies the behaviour to be implemented by all SQL connections.
Link to this section Summary
Callbacks
Receives a query and must return a SELECT query.
Receives options and returns DBConnection
supervisor child
specification.
Receives a query result and returns a list of logs.
Returns a DELETE for the filters
returning the given returning
.
Receives a query and must return a DELETE query.
Executes a cached query.
Receives a DDL command and returns a query that executes it.
Returns an INSERT for the given rows
in table
returning
the given returning
.
Prepares and executes the given query with DBConnection
.
Runs the given statement as query.
Returns a stream that prepares and executes the given query with
DBConnection
.
Returns a queryable to check if the given table
exists.
Receives the exception returned by query/4
.
Returns an UPDATE for the given fields
in table
filtered by
filters
returning the given returning
.
Receives a query and values to update and must return an UPDATE query.
Link to this section Types
Specs
cached() :: map()
The cached query which is a DBConnection Query
Specs
connection() :: DBConnection.conn()
Specs
name() :: String.t()
The query name
Specs
params() :: [term()]
Specs
statement() :: String.t()
The SQL statement
Link to this section Callbacks
Specs
all(query :: Ecto.Query.t()) :: iodata()
Receives a query and must return a SELECT query.
Specs
Receives options and returns DBConnection
supervisor child
specification.
Specs
ddl_logs(result :: term()) :: [ {Logger.level(), Logger.message(), Logger.metadata()} ]
Receives a query result and returns a list of logs.
Specs
delete( prefix :: String.t(), table :: String.t(), filters :: [atom()], returning :: [atom()] ) :: iodata()
Returns a DELETE for the filters
returning the given returning
.
Specs
delete_all(query :: Ecto.Query.t()) :: iodata()
Receives a query and must return a DELETE query.
Specs
execute(connection(), cached(), params(), options :: Keyword.t()) :: {:ok, cached(), term()} | {:ok, term()} | {:error | :reset, Exception.t()}
Executes a cached query.
Specs
execute_ddl(command :: Ecto.Adapter.Migration.command()) :: String.t() | [iodata()]
Receives a DDL command and returns a query that executes it.
Specs
insert( prefix :: String.t(), table :: String.t(), header :: [atom()], rows :: [[atom() | nil]], on_conflict :: Ecto.Adapter.Schema.on_conflict(), returning :: [atom()] ) :: iodata()
Returns an INSERT for the given rows
in table
returning
the given returning
.
Specs
prepare_execute( connection(), name(), statement(), params(), options :: Keyword.t() ) :: {:ok, cached(), term()} | {:error, Exception.t()}
Prepares and executes the given query with DBConnection
.
Specs
query(connection(), statement(), params(), options :: Keyword.t()) :: {:ok, term()} | {:error, Exception.t()}
Runs the given statement as query.
Specs
stream(connection(), statement(), params(), options :: Keyword.t()) :: Enum.t()
Returns a stream that prepares and executes the given query with
DBConnection
.
Specs
Returns a queryable to check if the given table
exists.
Specs
to_constraints(exception :: Exception.t(), options :: Keyword.t()) :: Keyword.t()
Receives the exception returned by query/4
.
The constraints are in the keyword list and must return the
constraint type, like :unique
, and the constraint name as
a string, for example:
[unique: "posts_title_index"]
Must return an empty list if the error does not come from any constraint.
Specs
update( prefix :: String.t(), table :: String.t(), fields :: [atom()], filters :: [atom()], returning :: [atom()] ) :: iodata()
Returns an UPDATE for the given fields
in table
filtered by
filters
returning the given returning
.
Specs
update_all(query :: Ecto.Query.t()) :: iodata()
Receives a query and values to update and must return an UPDATE query.