Ecto SQL v3.0.0-rc.1 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
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
The cached query which is a DBConnection Query
The query name
The SQL statement
Link to this section Callbacks
Receives a query and must return a SELECT query.
Receives options and returns DBConnection
supervisor child
specification.
ddl_logs(result :: term()) :: [ {Logger.level(), Logger.message(), Logger.metadata()} ]
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.
execute(connection(), cached(), params(), options :: Keyword.t()) :: {:ok, cached(), term()} | {:ok, term()} | {:error | :reset, Exception.t()}
Executes a cached query.
execute_ddl(command :: Ecto.Adapter.Migration.command()) :: String.t() | [iodata()]
Receives a DDL command and returns a query that executes it.
Returns an INSERT for the given rows
in table
returning
the given returning
.
prepare_execute( connection(), name(), statement(), params(), options :: Keyword.t() ) :: {:ok, cached(), term()} | {:error, Exception.t()}
Prepares and executes the given query with DBConnection
.
query(connection(), statement(), params(), options :: Keyword.t()) :: {:ok, term()} | {:error, Exception.t()}
Runs the given statement as query.
stream(connection(), statement(), params(), options :: Keyword.t()) :: Enum.t()
Returns a stream that prepares and executes the given query with
DBConnection
.
to_constraints(exception :: Exception.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.
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.