JoinDefinition class

Representation of a JOIN clause applied during query compilation.

This class encapsulates all the necessary information to construct a SQL JOIN clause, including the type of join, the target table or subquery, an optional alias, and the conditions for the join.

Example:

final join = JoinDefinition(
  type: JoinType.inner,
  target: JoinTarget.table('profiles'),
  conditions: [
    JoinCondition.column(
      left: 'users.id',
      operator: '=',
      right: 'profiles.user_id',
    ),
  ],
);

Constructors

JoinDefinition({required JoinType type, required JoinTarget target, String? alias, List<JoinCondition>? conditions, bool isLateral = false})
Representation of a JOIN clause applied during query compilation.

Properties

alias String?
An optional alias for the joined table or subquery.
final
conditions List<JoinCondition>
A list of conditions that define how the tables are joined.
final
hashCode int
The hash code for this object.
no setterinherited
isLateral bool
Whether this is a LATERAL JOIN (supported by some SQL dialects).
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
target JoinTarget
The target of the join, which can be a table or a subquery.
final
type JoinType
The type of join to perform (e.g., JoinType.inner, JoinType.left).
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited