system.query_processing.predicates module

WHERE-clause predicates and clause combinators for query processing.

class system.query_processing.predicates.Clause[source]

Bases: ABC

Interface for a WHERE-clause predicate that can be evaluated against a single object (row).

abstractmethod evaluate(_object) → bool[source]

Evaluate this clause against a single object (row).

Parameters:

_object – The object (row) whose attributes the predicate is tested against.

Returns:

True if the object satisfies the clause, False otherwise.

class system.query_processing.predicates.WHERE_Clause(attribute: str, operator: str, constant)[source]

Bases: Clause

A WHERE clause in SQL is a clause that specifies a filter condition for selecting data. The condition is evaluated to true, false, or unknown.

sanitize()[source]

Sanitizes the WHERE clause for security reasons.

evaluate(_object: object) → bool[source]

See Clause.evaluate().

Reads self.attribute from the object and compares it against self.constant using self.operator.

class system.query_processing.predicates.Disjunction(*clauses: Clause)[source]

Bases: Clause

A disjunction is a logical operation that outputs true if at least one of the operands is true.

evaluate(_object) → bool[source]

See Clause.evaluate().

Returns True as soon as any of the contained clauses evaluates to True (logical OR).

class system.query_processing.predicates.TrueClause[source]

Bases: Clause

A clause that always evaluates to True.

evaluate(_object) → bool[source]

See Clause.evaluate().

Always returns True.

class system.query_processing.predicates.FalseClause[source]

Bases: Clause

A clause that always evaluates to False.

evaluate(_object) → bool[source]

See Clause.evaluate().

Always returns False.