Miscellaneous changes in 9.12 affecting backwards compatibility
The following changes in Apama 9.12 affect backwards compatibility to previous Apama versions:
Due to tightening of the
canParse and
parse methods on the EPL types of
integer,
float and
decimal, some previously allowed behavior is now invalid. These EPL types now only allow trailing and leading whitespace, excluding special characters on the
float and
decimal types such as
d.
As of this version, integer parsing will only accept integers and whitespace. Any other characters are invalid, which also means that whole numbers such as "1.0" and "2.0" will not parse. The following examples illustrate the new behavior for the canParse and parse methods:
Now false | Was previously parsed to |
" " | 0 |
"2.2" | 2 |
"2e3" | 2 |
"2 2" | 2 |
"2garbage" | 2 |
float and decimal parsing remains unchanged, except that hexadecimal integers will no longer parse. The following example illustrates the new behavior for the canParse and parse methods:
Now false | Was previously parsed to |
0x1d | 0 |
In previous releases, any invalid keyword arguments passed to methods in the Apama PySys extension classes were silently ignored with no error. For example, the following did not produce an error despite being incorrect:
correlator.start(foobar='x')
As of this release, an exception will be thrown if an invalid argument is specified. Thus, test cases that have errors in them are now easy to notice.