Deveel.Data.Sql.ExecutionContext.Transfer C# (CSharp) Method

Transfer() private method

private Transfer ( string label ) : void
label string
return void
        internal void Transfer(string label)
        {
            AssertNotFinished();

            if (String.IsNullOrEmpty(label))
                throw new ArgumentNullException("label");

            var statement = FindInTree(Statement, label);
            if (statement == null)
                throw new StatementException(String.Format("Could not find any block labeled '{0}' in the execution tree.", label));

            var block = NewBlock(statement);
            statement.Execute(block);

            if (block.HasResult)
                SetResult(block.Result);
        }