View Source Supabase.PostgREST.QueryBuilder (supabase_postgrest v1.0.0)
Handles operations related to building and modifying the main structure of a query.
This module includes functionality for selecting fields, inserting new records, updating existing ones, and deleting records from a specified table. These operations define the high-level intent of the query, such as whether it retrieves, modifies, or removes data.
Summary
Functions
Deletes records from a table based on the conditions specified.
Inserts new records into the database. Supports conflict resolution and specifying how the result should be returned.
Selects records from a table. You can specify specific columns or use '*' for all columns. Options such as counting results and specifying return types can be configured.
Updates existing records in the database. Allows specifying return options and how the update is counted.
Upserts data into a table, allowing for conflict resolution and specifying return options.
Functions
Deletes records from a table based on the conditions specified.
Parameters
builder
: TheSupabase.Fetcher.Request
to use.opts
: Options such as:returning
and:count
.
Examples
iex> PostgREST.delete(builder, returning: :representation)
See also
- Supabase documentation on deletes: https://supabase.com/docs/reference/javascript/delete
Inserts new records into the database. Supports conflict resolution and specifying how the result should be returned.
Parameters
builder
: TheSupabase.Fetcher.Request
to use.data
: The data to be inserted, typically a map or a list of maps.opts
: Options like:on_conflict
,:returning
, and:count
.
Examples
iex> PostgREST.insert(builder, %{name: "John"}, on_conflict: "name", returning: :minimal)
See also
- Supabase documentation on inserts: https://supabase.com/docs/reference/javascript/insert
Selects records from a table. You can specify specific columns or use '*' for all columns. Options such as counting results and specifying return types can be configured.
Note that this function does not return by default, it only build the select
expression for the query. If you want to have the selected fields returned as
response you need to pass returning: true
.
Parameters
builder
: TheSupabase.Fetcher.Request
instance.columns
: A list of column names to fetch or '*' for all columns.opts
: Options such as:count
and:returning
.
Examples
iex> PostgREST.select(builder, "*", count: :exact, returning: true)
See also
- Supabase select queries: https://supabase.com/docs/reference/javascript/select
Updates existing records in the database. Allows specifying return options and how the update is counted.
Parameters
builder
: TheSupabase.Fetcher.Request
to use.data
: The new data for the update, typically a map or list of maps.opts
: Options such as:returning
and:count
.
Examples
iex> PostgREST.update(builder, %{name: "Doe"}, returning: :representation)
See also
- Supabase documentation on updates: https://supabase.com/docs/reference/javascript/update
Upserts data into a table, allowing for conflict resolution and specifying return options.
Parameters
builder
: TheSupabase.Fetcher.Request
to use.data
: The data to upsert, typically a map or a list of maps.opts
: Options like:on_conflict
,:returning
, and:count
.
Examples
iex> PostgREST.upsert(builder, %{name: "Jane"}, on_conflict: "name", returning: :representation)
See also
- Supabase documentation on upserts: https://supabase.com/docs/reference/javascript/upsert