Data conversion gotchas

Implicit data conversion

Data conversion that is implicitly done is always dangerous.  That has always been the case.

Because we made data conversion to String and back driven by the metadata such as conversion masks etc, it is a thing to watch out for when validating transformations on version 3.0.0.

Wherever possible, do explicit data conversion, for example using a "Select Values" step (using the metadata tab) or using the "JavaScript" step.

Add Sequence

In versions before 3.0, the "Add Sequence" step incorrectly returned data type "Integer" at runtime.
At design time, it returned data type "Integer(9)" for the sequences.

The consequence of the above is that if you convert the "Integer" data type for value 123 to String you get " 123".
If you convert data type "Integer(9)" (as this is the case in version 3.x) to String you get " 000000123".

To stay compatible with the old run-time behavior, we decided to remove the length (9) from the design-time metadata.
As such you will see a difference when designing transformations. (not when running it)

Stream Lookup

This step has to be verified in case the data types of the lookup data does not correspond to the data type of the input data. (see Implicit data conversion)

We made the Integer/Number/Date/BigNumber/Boolean to String data conversion compatible with the old version.