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); }
private function OptimizeReviveColumnCompareConstantExpression(ReviveColumnExpression &$ColumnExpression, CoreExpression &$ConstantExpression) { $Column = $ColumnExpression->GetColumn(); $ColumnExpression = Expression::Column($Column); $ConstantExpression = Expression::PersistData($Column, $ConstantExpression); }
public function AppendDataAsInlineRow(QueryBuilder $QueryBuilder, array $Columns, Relational\ColumnData $ColumnData) { $QueryBuilder->Append(' SELECT '); foreach ($QueryBuilder->Delimit($Columns, ', ') as $Column) { $QueryBuilder->AppendExpression(Expression::PersistData($Column, Expression::Constant($ColumnData[$Column]))); } }