Export (0) Print
Expand All

DtsPipelineComponentAttribute.SupportsBackPressure Property

Identifies the component as one that supports more than one input, and implements the optional methods for handling excessive memory usage if the inputs produce data at uneven rates.

Namespace:  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.PipelineHost (in Microsoft.SqlServer.PipelineHost.dll)

public bool SupportsBackPressure { get; set; }

Property Value

Type: Boolean
true if the component supports more than one input and implements the optional methods for handling excessive memory usage if the inputs produce data at uneven rates; otherwise, false.

The first step in implementing better memory management for a custom data flow component that supports multiple inputs is to set the value of the SupportsBackPressure property to true in the T:Microsoft.SqlServer.Dts.Pipeline.DtsPipelineComponentAttribute. When the value of SupportsBackPressure is true, the data flow engine calls the PipelineComponent.IsInputReady method and, when there are more than two inputs, the PipelineComponent.GetDependentInputs method at run time.

For more information about the handling of excessive memory usage if the inputs of a custom data flow component produce data at uneven rates, see Developing Data Flow Components with Multiple Inputs.

In the following example, the implementation of the DtsPipelineComponentAttribute class sets the value of the SupportsBackPressure property to true.

[DtsPipelineComponent(ComponentType = ComponentType.Transform,
        DisplayName = "Shuffler",
        Description = "Shuffle the rows from input.",
        SupportsBackPressure = true,
        LocalizationType = typeof(Localized),
        IconResource = "Microsoft.Samples.SqlServer.Dts.MIBPComponent.ico")
]
public class Shuffler : Microsoft.SqlServer.Dts.Pipeline.PipelineComponent
        {
          ...
        }

Community Additions

ADD
Show:
© 2014 Microsoft