pub enum FromItemKind {
Relation,
Unnest,
GenerateSeries,
Subquery,
JsonbEach,
TableFn,
RowsFrom,
JsonTable,
ScalarFn,
}Expand description
What a FROM item IS.
v7.40.10 — a boolean cannot make a consumer handle a new kind; an
enum can. Every consumer that must know the difference writes a
match with no wildcard arm, so a variant added here is a compile
error at each of them rather than a defect at whichever one the new
shape reaches first.
The engine asked “is this item synthesised?” in fifty-six places and
exactly one of them listed every field. The rest were missing
between one and five, and the gaps were reachable:
SELECT * FROM jsonb_each_text('{"a":1}'::jsonb) answered
relation "jsonb_each_text" does not exist over the extended
protocol because one such list named four of seven.
Variants§
Relation
A table, view or CTE named in the catalog.
Unnest
unnest(...) and the set-returning functions the parser lowers
onto the same slot (string_to_table, jsonb_object_keys, …).
GenerateSeries
generate_series(...).
Subquery
A derived table or LATERAL subquery.
JsonbEach
jsonb_each(...) / jsonb_each_text(...).
TableFn
A table function call the parser kept as a name plus arguments.
RowsFrom
ROWS FROM (...).
JsonTable
JSON_TABLE(...).
ScalarFn
A scalar function in FROM position, which yields one row.
Trait Implementations§
Source§impl Clone for FromItemKind
impl Clone for FromItemKind
Source§fn clone(&self) -> FromItemKind
fn clone(&self) -> FromItemKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more