Module typecheck

Source
Expand description

Check that the visible type of each query has not been changed

Macros§

type_error 🔒
Detailed type error logging as a warning, with failures in CI and a logged error in production

Structs§

TypeErrorHumanizer
Wrapper struct for a Display instance for TypeErrors with a given ExprHumanizer
Typecheck
Check that the visible type of each query has not been changed

Enums§

ColumnTypeDifference
Characterizes differences between individual column types
RelationTypeDifference
Characterizes differences between relation types
TypeError
The possible forms of inconsistency/errors discovered during typechecking.

Functions§

column_subtype_difference
Returns a list of differences that make sub not a subtype of sup
columns_pretty
Prints a type prettily with a given ExprHumanizer
empty_context
Generates an empty context
is_subtype_of
Returns true when it is safe to treat a sub row as an sup row
relation_subtype_difference
Returns a list of differences that make sub not a subtype of sup
scalar_subtype_difference
Returns a list of differences that make sub not a subtype of sup

Type Aliases§

Context 🔒
SharedContext
Typechecking contexts as shared by various typechecking passes.