Client Library Changes in StreamBase 6.3

General Client Library Changes in StreamBase 6.3

Release 6.3 eliminated the requirement that string fields have a declared size. As part of this change, the various setString methods in the Tuple class that take a boolean truncate parameter are now deprecated. Calls to these methods do not now truncate strings.

Java Client Library Changes in StreamBase 6.3

The StreamBase Client library for Java changed in the following ways for release 6.3:

New Classes

CompleteDataType

CustomFunctionResolver

Changed Classes
Schema
  • New methods:

    • createListField(String, CompletDataType)

    • createTupleField(String, Schema)

  • Newly deprecated methods:

    • createField(DataType, String, int)

Schema.Field
  • New methods:

    • getCompleteDataType()

    • getElementType()

  • Newly deprecated methods:

    • Field(String, DataType)

    • Field(String, DataType, int)

    • checkType(DataType)

Tuple
  • New methods:

    • getList(Field)

    • getList(int)

    • getList(String)

    • setList(Field, List)

    • setList(int, List)

    • setList(String, List)

  • Newly deprecated methods:

    • setString(Field, String, bool)

    • setString(String, String, bool)

    • setString(int, String, bool)

    • setStringBuffer(Field, ByteArrayView, bool)

    • setStringBuffer(String, ByteArrayView, bool)

    • setStringBuffer(int, ByteArrayView, bool)

ByteArrayView
  • New method:

    • clone()

Back to Top ^

C++ Client Library Changes in StreamBase 6.3

The StreamBase Client library for C++ changed in the following ways for release 6.3:

  • Schema::Field has been renamed to Field and moved out of Schema. Schema::Field should still work.

  • Added FieldValue:

    • Represents a platonic value of any type a Field or list element can take on.

    • Constructed by invoking the FieldValue() constructor with a C++ type. For example, FieldValue(5) creates a FieldValue of type DataType::INT and FieldValue("foo") creates a FieldValue of type DataType::STRING.

    • Immutable. Once constructed, a FieldValue's value cannot be changed.

    • Has getters and setters for all types.

    • Calling a getter is type-dependent. If you ask a DataType::BOOL FieldValue for a string, it returns an error.

  • getList and setList methods on Tuples. These return and take std::vector<FieldValue>.

  • Added CompleteDataType:

    • You can now get a DataType (by calling the getType() method) or a CompleteDataType (by calling the getCompleteType() method).

    • CompleteDataTypes are created by calling CompleteDataType::forDATATYPE. For example, CompleteDataType::forInt().

    • Parameterized data types (Tuples and Lists) are created by calling CompleteDataType::forTuple(Schema) and ::forList(CompleteDataType), respectively. (The latter takes the CompleteDataType of its elements.)

    • CompleteDataType equality is DataType equality.

Back to Top ^

.NET Client Library Changes in StreamBase 6.3

The StreamBase Client library for .NET changed in the following ways for release 6.3:

New Classes

CompleteDataType

Changed Classes
Schema
  • New methods:

    • CreateListField(String, CompletDataType)

    • CreateTupleField(String, Schema)

    • CreateField(CompleteDataType, String)

Schema.Field
  • New methods:

    • getCompleteDataType()

    • getElementType()

  • New properties:

    • CompleteDataType

    • ElementType

    • Schema

  • Newly deprecated methods:

    • Field(String, DataType)

    • Field(String, DataType, int)

    • CheckType(DataType)

Tuple
  • New methods:

    • GetList(Field)

    • GetList(int)

    • GetList(String)

    • SetList(Field, List)

    • SetList(int, List)

    • SetList(String, List)

  • Newly deprecated methods:

    • SetString(Field, String, bool)

    • SetString(String, String, bool)

    • SetString(int, String, bool)

    • SetStringBuffer(Field, array<byte>, bool)

    • SetStringBuffer(String, array<byte>, bool)

    • SetStringBuffer(int, array<byte>, bool)

Back to Top ^