duckplus.static_typed.select#
Helpers for assembling SELECT statements from typed expressions.
Attributes#
Classes#
Fluent builder for composing SQL SELECT statements. |
Functions#
|
|
|
|
|
Module Contents#
- class duckplus.static_typed.select._ColumnEntry#
- sql: str#
- optional: bool#
- required_columns: frozenset[str] | None#
- render(available: frozenset[str] | None) str | None#
- class duckplus.static_typed.select._ReplaceEntry#
- sql: str#
- optional: bool#
- required_columns: frozenset[str] | None#
- render(available: frozenset[str] | None) str | None#
- class duckplus.static_typed.select._ExcludeEntry#
- identifier: str#
- sql: str#
- optional: bool#
- render(available: frozenset[str] | None) str | None#
- class duckplus.static_typed.select._StarEntry#
- replace_entries: tuple[_ReplaceEntry, Ellipsis]#
- exclude_entries: tuple[_ExcludeEntry, Ellipsis]#
- render(available: frozenset[str] | None) str#
- duckplus.static_typed.select._SelectEntry#
- duckplus.static_typed.select._require_available_columns(available: frozenset[str] | None) frozenset[str]#
- duckplus.static_typed.select._require_columns(required: frozenset[str] | None) frozenset[str]#
- duckplus.static_typed.select._resolve_required_columns(dependencies: frozenset[duckplus.static_typed.dependencies.ExpressionDependency]) frozenset[str]#
- class duckplus.static_typed.select.SelectStatementBuilder#
Fluent builder for composing SQL SELECT statements.
- __slots__ = ('_columns', '_from_clause', '_finalised')#
- _columns: list[_SelectEntry] = []#
- _from_clause: str | None = None#
- _finalised = False#
- column(expression: object, *, alias: str | None = None, if_exists: bool = False) SelectStatementBuilder#
Append a column expression to the SELECT list.
- star(*, exclude: collections.abc.Iterable[str] | None = None, replace: collections.abc.Mapping[str, object] | collections.abc.Iterable[tuple[str, object]] | collections.abc.Iterable[duckplus.static_typed.expressions.base.AliasedExpression] | None = None, exclude_if_exists: collections.abc.Iterable[str] | None = None, replace_if_exists: collections.abc.Mapping[str, object] | collections.abc.Iterable[tuple[str, object]] | collections.abc.Iterable[duckplus.static_typed.expressions.base.AliasedExpression] | None = None) SelectStatementBuilder#
Append a
*expression with optional modifiers.
- from_(source: str) SelectStatementBuilder#
Define the FROM clause for the SELECT statement.
- build(*, available_columns: collections.abc.Iterable[str] | None = None) str#
Render the accumulated SQL statement.
- build_select_list(*, available_columns: collections.abc.Iterable[str] | None = None) str#
Render only the SELECT list for use with
Relation.project.
- _coerce_expression(expression: object) tuple[str, str | None, frozenset[duckplus.static_typed.dependencies.ExpressionDependency] | None]#
- _ensure_mutable() None#
- _normalise_replace_clauses(replace: collections.abc.Mapping[str, object] | collections.abc.Iterable[tuple[str, object]] | collections.abc.Iterable[duckplus.static_typed.expressions.base.AliasedExpression] | None, *, optional: bool) list[_ReplaceEntry]#
- _normalise_exclude_identifiers(exclude: collections.abc.Iterable[str] | None, *, optional: bool) list[_ExcludeEntry]#