Contents
The StreamBase .NET Client Library was rewritten in October 2011 to improve the performance of dequeuing and enqueuing tuples. These changes are found in StreamBase 6.6.17, 7.0.11, 7.1.5, 7.2.0, and later releases.
To take advantage of these performance improvements:
-
Examine your .NET client code for changes in the API as described in the next few sections, and make any required changes.
-
Recompile your .NET client code with the libraries provided by StreamBase 6.6.17 or later.
As before, the .NET Client Library is documented in an HTML Help file provided in Windows installations of StreamBase. Open the documentation from the Windows Start menu, navigating as follows:
Start |
(All) Programs |
StreamBase n.m |
StreamBase API Documentation |
StreamBase n.m .NET API |
The following method's behavior changed as of the October 2011 refresh:
-
StreamBase.SB.Tuple.GetBlobBuffer(), and all its overloads, now return a ByteArrayView instead of a byte[].
The following class is new to the StreamBase .NET API as of the October 2011 refresh:
-
StreamBase.SB.ByteArrayView, which provides a view to access parts of a backing byte[]. Use this class to manipulate fields of type Blob.
The following methods are new to the StreamBase .NET API as of the October 2011 refresh:
-
StreamBase.SB.Client.DequeueResult.DequeueResult (DequeueResult, Tuple[])
-
StreamBase.SB.Client.DequeueResult.DequeueResult (DequeueResult, IList<T>)
-
StreamBase.SB.CompleteDataType.EqualTypes()
-
StreamBase.SB.CompleteDataType.ForSimpleType()
-
StreamBase.SB.CompleteDataType.IsSimpleType()
-
StreamBase.SB.CompleteDataType.IsTupleType()
-
StreamBase.SB.CompleteDataType.IsListType()
-
StreamBase.SB.CompleteDataType.ToString()
-
StreamBase.SB.DataType.IsSimpleType()
-
StreamBase.SB.Schema.Field.GetDescription()
-
StreamBase.SB.Schema.Field.GetNestedField()
-
StreamBase.SB.Schema.Field.GetNestedFields()
-
StreamBase.SB.Schema.Field.GetShortName()
-
StreamBase.SB.Schema.Field.ToStringWithFields()
-
StreamBase.SB.Tuple.GetTupleLength()
-
StreamBase.SB.Tuple.IsReadOnly()
-
StreamBase.SB.Tuple.SetBlobBuffer(Schema.Field field, ByteArrayView value)
-
StreamBase.SB.Tuple.SetBlobBuffer(int fieldIndex, ByteArrayView value)
-
StreamBase.SB.Tuple.SetBlobBuffer(String fieldName, ByteArrayView value)
-
StreamBase.SB.Tuple.ToString(Char cDelimiter, Char cQuote, String sNullString, bool bVerbose)
The following properties and constants were added:
-
StreamBase.SB.CompleteDataType.VARIABLE_SIZE
-
StreamBase.SB.Schema.Field.Description
-
StreamBase.SB.Tuple.NULL_STRING
The following methods were removed from the .NET API:
-
StreamBase.SB.CompleteDataType.Dispose()
-
StreamBase.SB.Tuple.Tuple(SB::Schema ^ schema). Construct Tuples now with Schema.CreateTuple().
-
The following overloads of CreateTuple() were removed, but the parameterless Schema.CreateTuple() remains:
-
StreamBase.SB.Schema.CreateTuple(String[] fieldValues, int nOffset, int nLength)
-
StreamBase.SB.Schema.CreateTuple(String[] fieldValues, int nOffset, int nLength, String sNullString)
-
StreamBase.SB.Schema.CreateTuple(byte[] sourceBuffer, SB.ByteOrder byteOrder)
-
-
StreamBase.SB.Schema.Field.AsXml()
-
StreamBase.SB.Schema.Schema(String xmlInput)
-
StreamBase.SB.Schema.Field.Field()
-
StreamBase.SB.StreamProperties.StreamProperties() and all its overloads. Do not construct StreamProperties objects manually. Instead, obtain this object through StreamBaseClient or DequeueResult method calls.
The following methods were marked as deprecated in prior releases and are now removed:
-
StreamBase.SB.Client.DequeueResult.ReuseTuple()
-
StreamBase.SB.Schema.Field.Field(String name, DataType type, unsigned int size)
-
StreamBase.SB.Tuple.GetStringBytes() and all its overloads.
-
StreamBase.SB.Tuple.SetString(Schema.Field field, String sValue, bool bTruncate)
-
StreamBase.SB.Tuple.SetString(int fieldIndex, String sValue, bool bTruncate)
-
StreamBase.SB.Tuple.SetString(String fieldName, String sValue, bool bTruncate)
-
StreamBase.SB.Tuple.SetStringBytes() and all its overloads