Skip to main content

errors.PreconditionError

Input data violates a precondition.

Usage

Source

errors.PreconditionError(
    message,
    *,
    source=None,
    condition=None,
    rows=None,
)

Import it from sverify.errors. Raised when a contracted transformation is called on inputs bound to a backend, or a node is refreshed (on the full source tables the first time, then on each batch of changes), and a precondition does not hold on the rows. The message says how many rows violate which condition, for example “2 row(s) of orders violate (_.amount >= 0)“.

Attributes

source

The input or source table the condition is on (None when the error is about several, an assumed SUM among them).

condition

The condition as stated in requires (an Ibis deferred, a SQL string, a unique key, …) or as inferred, an Inferred whose text is its SQL; None as for source.

rows
Up to ROWS_SHOWN (10) of the rows that break it, as an Arrow table with the input’s columns; None where the condition is on the table as a whole (max_rows, rows_per) or the rows could not be fetched.