Selecto.Advanced.LateralJoin.Spec (Selecto v0.4.3)

Specification for a LATERAL join operation.

Link to this section Summary

Link to this section Types

Link to this type

correlation_ref()

@type correlation_ref() :: {:ref, String.t()}
@type join_type() :: :left | :inner | :right | :full
Link to this type

json_table_column()

@type json_table_column() :: %{
  :name => String.t(),
  optional(:path) => String.t(),
  optional(:type) => atom(),
  optional(:for_ordinality) => boolean()
}
Link to this type

subquery_builder()

@type subquery_builder() :: (Selecto.t() -> Selecto.t())
@type t() :: %Selecto.Advanced.LateralJoin.Spec{
  alias: String.t(),
  correlation_refs: [correlation_ref()],
  id: String.t(),
  join_type: join_type(),
  subquery_builder: subquery_builder() | nil,
  table_function: table_function() | nil,
  validated: boolean()
}
Link to this type

table_function()

@type table_function() ::
  {:unnest, String.t()}
  | {:function, atom(), [term()]}
  | {:udf_table, atom() | String.t(), [term()]}
  | {:json_each, String.t(), String.t() | nil}
  | {:json_tree, String.t(), String.t() | nil}
  | {:json_table, String.t(), String.t(), [json_table_column()]}