public function __construct(ColumnData $ColumnData) { $ConstraintExpressions = []; foreach ($ColumnData as $ColumnIdentifier => $Value) { $Column = $ColumnData->GetColumn($ColumnIdentifier); $ConstraintExpressions[] = Expression::BinaryOperation(Expression::Column($Column), Binary::Equality, Expression::PersistData($Column, Expression::Constant($Value))); } parent::__construct($ConstraintExpressions, Binary::LogicalAnd); }
public function __construct(ForeignKey $ForeignKey) { $ReferencedColumnMap = $ForeignKey->GetReferencedColumnMap(); $ConstraintExpressions = []; foreach ($ReferencedColumnMap as $PrimaryColumn) { $ForeignColumn = $ReferencedColumnMap[$PrimaryColumn]; $ConstraintExpressions[] = Expression::BinaryOperation(Expression::Column($PrimaryColumn), Binary::Equality, Expression::Column($ForeignColumn)); } parent::__construct($ConstraintExpressions, Binary::LogicalAnd); }
public function __construct(Column $Column) { parent::__construct($Column); $this->ReviveExpression = $Column instanceof Column ? $Column->GetDataType()->GetReviveExpression(Expression::Column($Column)) : Expression::Column($Column); }
private function OptimizeReviveColumnCompareConstantExpression(ReviveColumnExpression &$ColumnExpression, CoreExpression &$ConstantExpression) { $Column = $ColumnExpression->GetColumn(); $ColumnExpression = Expression::Column($Column); $ConstantExpression = Expression::PersistData($Column, $ConstantExpression); }