Module typeconv

Source
Expand description

Maintains a catalog of valid casts between mz_repr::ScalarTypes, as well as other cast-related functions.

Macrosยง

casts ๐Ÿ”’

Structsยง

CastImpl ๐Ÿ”’
The implementation of a cast.
CastTemplate ๐Ÿ”’
A cast template is a function that produces a Cast given a concrete input and output type. A template can return None to indicate that it is incapable of producing a cast for the specified types.

Enumsยง

CastContext
Describes the context of a cast.

Constantsยง

REG_STRING_CAST_TEMPLATE ๐Ÿ”’
STRING_REG_CAST_TEMPLATE ๐Ÿ”’
STRING to REG*

Staticsยง

REGCLASS_TO_STRING ๐Ÿ”’
REGPROC_TO_STRING ๐Ÿ”’
REGTYPE_TO_STRING ๐Ÿ”’
STRING_TO_REGCLASS_COERCED ๐Ÿ”’
STRING_TO_REGCLASS_EXPLICIT ๐Ÿ”’
STRING_TO_REGPROC ๐Ÿ”’
STRING_TO_REGTYPE ๐Ÿ”’
VALID_CASTS ๐Ÿ”’

Functionsยง

can_cast
Reports whether it is possible to perform a cast from the specified types.
get_cast ๐Ÿ”’
Get casts directly between two ScalarTypes, with control over the allowed CastContext.
guess_best_common_type
Guesses the most-common type among a set of ScalarTypes that all members can be cast to. Returns None if a common type cannot be deduced.
plan_cast
Plans a cast between ScalarTypes, specifying which types of casts are permitted using CastContext.
plan_coerce
plan_hypothetical_cast
Similar to plan_cast, but for situations where you only know the type of the input expression (from) and not the expression itself. The returned expression refers to the first column of some imaginary row, where the first column is assumed to have type from.
sql_impl_cast ๐Ÿ”’
Like func::sql_impl_func, but for casts.
sql_impl_cast_per_context ๐Ÿ”’
to_jsonb
Converts an expression to ScalarType::Jsonb.
to_string
Converts an expression to ScalarType::String.

Type Aliasesยง

Cast ๐Ÿ”’
A cast is a function that takes a ScalarExpr to another ScalarExpr.