Deveel.Data.Sql.Query.LeftOuterJoinNode.Evaluate C# (CSharp) Method

Evaluate() public method

public Evaluate ( IRequest context ) : ITable
context IRequest
return ITable
        public override ITable Evaluate(IRequest context)
        {
            // Evaluate the child branch,
            var result = Child.Evaluate(context);
            // Get the table of the complete mark name,
            var completeLeft = context.Access().GetCachedTable(MarkerName);

            // The rows in 'complete_left' that are outside (not in) the rows in the
            // left result.
            var outside = completeLeft.OuterJoin(result);

            // Create an OuterTable
            var outerTable = OuterTable.Create(result);
            outerTable.MergeIn(outside);

            // Return the outer table
            return outerTable;
        }