March Docs
Search…
⌘K
Overview
Modules
▸
Ast
T
Query
T
DistinctMode
T
QueryFields
T
FromClause
T
SelectExpr
T
WhereExpr
T
JoinKind
T
JoinClause
T
SortDir
T
OrderExpr
T
Expr
T
SqlValue
▸
Build
F
as_count_query
F
concat_exprs
F
concat_joins
F
concat_orders
F
concat_selects
F
concat_wheres
F
cross_join
F
distinct
F
distinct_on
F
fragment
F
from
F
from_subquery
F
full_join
F
group_by
F
having
F
join
F
left_join
F
limit
F
not_deleted
F
offset
F
or_where
F
order_asc
F
order_by
F
order_desc
F
right_join
F
select
F
select_all
F
select_as
F
select_col
F
where_
F
where_between
F
where_exists
F
where_in
F
where_in_subquery
F
where_not_exists
F
where_not_in
F
where_or
F
with_deleted
▸
CmdDepot
T
MigFile
F
gen_migration
F
migrate
F
migrations
F
reset
F
rollback
▸
Compile
T
CompiledQuery
F
compile
F
compile_inline
F
compile_parameterized
F
rev_params
F
rev_params_acc
▸
Connection
T
ConnConfig
T
ConnState
F
close
F
config_with_password
F
connect
F
default_config
F
exec_prepared
F
full_config
F
md5_password
F
parse_kv
F
scram_parse_fields
F
simple_query
F
sq_field_name
F
sq_row_to_strings
F
startup_params
F
str_lt
▸
Cursor
F
close_sql
F
declare_sql
F
fetch_all_sql
F
fetch_sql
F
move_sql
▸
Db
T
ConnResult
T
SqliteOps
T
DbConn
F
close
F
conn_key
F
dialect
F
exec
F
from_postgres
F
ping
F
query
▸
Decode
F
decode
F
parse_data_columns
F
parse_error_fields
F
parse_field_descs
F
parse_one_field_desc
F
parse_sasl_mechanisms
F
read_bytes_field
F
read_cstring
F
read_i32
F
read_u16
F
recv_msg
▸
Depot
▸
Depot.DbRepo
F
migrate
F
query
F
start
F
start_from_env
F
stop
F
transaction
F
with_conn
▸
Depot.Embed
T
Embed
F
apply_changes
F
empty
F
get_embed
F
merge
F
put_embed
▸
Depot.Explain
T
ExplainOpts
T
PlanNode
F
analyze_opts
F
default_opts
F
explain_sql
F
parse_plan_line
▸
Depot.Gate
T
DbConstraint
T
Gate
T
LengthOpt
T
NumberOpt
T
ConstraintOpt
F
add_error
F
apply_changes
F
apply_constraint_error
F
base
F
cast
F
cast_record
F
change_entry_key
F
changed
F
changed_fields
F
check_constraint
F
delete_change
F
errors
F
foreign_key_constraint
F
get_change
F
get_errors
F
get_field
F
is_blank
F
is_valid
F
no_assoc_constraint
F
put_change
F
unique_constraint
F
validate_acceptance
F
validate_change
F
validate_confirmation
F
validate_exclusion
F
validate_format
F
validate_inclusion
F
validate_length
F
validate_number
F
validate_required
▸
Depot.Migration
F
alter_add_entry
F
alter_modify_entry
F
alter_table
F
applied_migrations
F
applied_versions
F
col_entry_sql
F
column_sql
F
create_index
F
create_index_expr
F
create_index_simple
F
create_table
F
create_table_if_not_exists
F
drop_index
F
drop_table
F
drop_table_if_exists
F
execute
F
is_applied
F
migrate
F
migrations_table
F
parse_col_spec
F
record_migration
F
references
F
rename_column
F
rename_table
F
rollback
F
run
F
run_sql
F
run_statements
F
sql_type
▸
Depot.Query
T
DQuery
F
count
F
count_sql
F
exec_sql
F
execute
F
exists
F
first
F
from
F
from_table
F
limit
F
offset
F
order_asc
F
order_by
F
order_desc
F
schema
F
select
F
to_params
F
to_sql
F
ts_match
F
ts_rank_expr
F
where_
F
where_eq
F
where_gt
F
where_gte
F
where_ilike
F
where_is_not_null
F
where_is_null
F
where_like
F
where_lt
F
where_lte
F
where_ne
▸
Depot.Repo
F
all
F
count
F
delete
F
delete_all
F
exists
F
get
F
get_bang
F
get_by
F
insert
F
matches_clauses
F
one
F
update
▸
Depot.Schema
T
Schema
F
association
F
associations
F
blank
F
db_fields
F
define
F
field_entry_name
F
field_is_virtual
F
field_names
F
field_opts
F
field_type
F
fields
F
has_field
F
is_not_virtual
F
is_soft_deletable
F
is_virtual
F
parse_assoc_entry
F
parse_field_entry
F
parse_field_spec
F
parse_one_assoc
F
primary_key
F
put_default
F
put_field_default
F
table
▸
Depot.Telemetry
T
QueryEventFields
T
QueryEvent
F
attach
F
clear
F
detach
F
emit
F
event_of
F
handler_names
F
instrument
▸
Depot.Transaction
F
run
F
run_pool
▸
Depot.Type
F
email_cast
F
email_dump
F
email_load
F
enum_dump
F
enum_load
▸
Depot.Url
T
UrlTarget
F
parse
▸
Encode
F
cstring
F
encode
F
encode_bind
F
frame
F
i16_be
F
i32_be
F
length_prefix
▸
Message
T
FrontendMessage
T
DescribeTarget
T
CloseTarget
T
Param
T
BackendMessage
T
TransactionStatus
T
FieldDesc
T
ErrorFields
▸
Mutation
T
InsertFields
T
Insert
T
ConflictTarget
T
ConflictAction
T
UpdateFields
T
Update
T
DeleteFields
T
Delete
F
is_empty_insert
▸
MutationBuild
F
append_row
F
append_set
F
append_where
F
classify_locked_update_result
F
delete_all
F
delete_from
F
delete_returning
F
delete_returning_all
F
delete_where
F
insert_cols
F
insert_into
F
insert_many
F
insert_returning
F
insert_returning_all
F
insert_row
F
locked_update
F
on_conflict_do_nothing
F
on_conflict_do_nothing_on
F
on_conflict_do_update
F
on_conflict_do_update_on
F
set_
F
soft_delete
F
soft_delete_for_table
F
update
F
update_all
F
update_returning
F
update_returning_all
F
update_where
▸
MutationCompile
T
MutState
F
cd_build
F
ci_build
F
compile_conflict
F
compile_conflict_target
F
compile_delete
F
compile_expr_inline_m
F
compile_expr_list_m
F
compile_expr_m
F
compile_insert
F
compile_one_row
F
compile_returning
F
compile_rows
F
compile_rows_acc
F
compile_sets
F
compile_sets_acc
F
compile_sql_values
F
compile_update
F
compile_where_parts_m
F
compile_wheres_m
F
cu_build
F
escape_ident
F
escape_sql_str
F
expr_param_str
F
join_strs
F
join_where_parts_m
F
join_where_rest_m
F
map_conflict_sets
F
map_quoted
F
map_returning
F
quote_ident
F
quote_str
F
rev_params
F
rev_params_acc
F
rev_strs
F
rev_strs_acc
F
rev_wp_m
F
rev_wp_m_acc
F
sql_val_str
F
sqlval_to_param
▸
MutationExec
F
affected_count
F
exec_delete
F
exec_insert
F
exec_update
▸
Pool
T
PoolConfig
T
PoolStats
T
PoolState
F
checkin
F
checkout
F
close_all
F
default_pool_config
F
handle_checkout
F
handle_pool_init
F
list_len
F
ping
F
ping_conns
F
replenish_idle
F
rev_conns_acc
F
shutdown
F
start
F
stats
F
warm_up
F
with_conn
F
with_conn_pinned
▸
Preload
F
build_preload_query
F
dedup_strings
F
extract_col_values
F
preload
F
preload_assoc
F
preload_assoc_conn
F
preload_conn
▸
Schema
T
MarchType
T
TypedValue
F
from_oid
F
is_numeric
F
is_temporal
F
is_text
F
parse_text_value
F
to_oid
F
type_name
▸
Sqlite
F
exec
F
open_conn
F
query
F
replace_ilike
F
replace_placeholders
March Docs
›
Ast
Ast
depot/lib/ast.march Query builder ADT — a typed representation of SQL queries.
Types
type
Query
Query
=
Query
(
QueryFields
)
#
type
DistinctMode
DistinctMode
= NoDistinct | Distinct | DistinctOn(List(
Expr
))
#
type
QueryFields
QueryFields
= {
#
type
FromClause
FromClause
=
#
type
SelectExpr
SelectExpr
=
#
type
WhereExpr
WhereExpr
=
#
type
JoinKind
JoinKind
= JoinInner | JoinLeft | JoinRight | JoinFullOuter | JoinCross
#
type
JoinClause
JoinClause
=
JoinClause
(
JoinKind
, String,
Expr
)
#
type
SortDir
SortDir
= Asc | Desc | AscNullsFirst | AscNullsLast | DescNullsFirst | DescNullsLast
#
type
OrderExpr
OrderExpr
=
OrderExpr
(
Expr
,
SortDir
)
#
type
Expr
Expr
=
#
type
SqlValue
SqlValue
=
#