Пример #1
0
        public override void JoinApplicationTransaction(Program program, IRow row)
        {
            if (_sequenceColumnIndex >= 0)
            {
                // Exclude any columns from AKey which were included by this node
                Schema.RowType rowType = new Schema.RowType();
                foreach (Schema.Column column in row.DataType.Columns)
                {
                    if (SourceNode.DataType.Columns.ContainsName(column.Name))
                    {
                        rowType.Columns.Add(column.Copy());
                    }
                }

                Row localRow = new Row(program.ValueManager, rowType);
                try
                {
                    row.CopyTo(localRow);
                    SourceNode.JoinApplicationTransaction(program, localRow);
                }
                finally
                {
                    localRow.Dispose();
                }
            }
            else
            {
                base.JoinApplicationTransaction(program, row);
            }
        }
Пример #2
0
        public override void JoinApplicationTransaction(Program program, IRow row)
        {
            Schema.RowType rowType = new Schema.RowType();
            foreach (Schema.Column column in row.DataType.Columns)
            {
                rowType.Columns.Add(SourceNode.DataType.Columns[DataType.Columns.IndexOfName(column.Name)].Copy());
            }

            Row localRow = new Row(program.ValueManager, rowType, (NativeRow)row.AsNative);

            try
            {
                SourceNode.JoinApplicationTransaction(program, localRow);
            }
            finally
            {
                localRow.Dispose();
            }
        }
Пример #3
0
        public override void JoinApplicationTransaction(Program program, IRow row)
        {
            // Exclude any columns from AKey which were included by this node
            Schema.RowType rowType = new Schema.RowType();
            foreach (Schema.Column column in row.DataType.Columns)
            {
                if (!((IList)_redefineColumnOffsets).Contains(_tableVar.DataType.Columns.IndexOfName(column.Name)))
                {
                    rowType.Columns.Add(column.Copy());
                }
            }

            Row localRow = new Row(program.ValueManager, rowType);

            try
            {
                row.CopyTo(localRow);
                SourceNode.JoinApplicationTransaction(program, localRow);
            }
            finally
            {
                localRow.Dispose();
            }
        }