Official | HULFT IoT EdgeStreaming Mapper Reference First Edition: July 1, 2021
Functional restrictions
The common functional restrictions described below apply to HULFT IoT EdgeStreaming.
(1) Handling of floating point type
Floating point type values may be calculated in error (cancelation of significant digits or loss of trailing digits) when calculation or writing to another system is performed.
Examples:
-
If you input "0.05" and "0.01" to the Mapper Number > Calculation > Add logic, the data output is "0.060000000000000005".
-
If you input "1.2345678901234567" and "100000000" to the Mapper Number > Calculation > Add logic, the data output is "1.000000012345679e+08".
-
If you write the floating point type "9223372036854775000.0" to the BIGINT type column of SQL Server, the value becomes "9223372036854774784" due to processing by HULFT IoT EdgeStreaming.
-
If you write the floating point type "922337203685477.5807" to the Money type column of SQL Server, the following error occurs, and writing cannot be performed:
could not exec statement: mssql: value = 922337203685477.620000 in money type causes an arithmetic overflow error.
-
If you write the floating point type "92233720368547758.07" to the Money type column of PostgreSQL, the following error occurs, and writing cannot be performed:
pq: value \"92233720368547760\" is out of range for type money
-
If you write the floating point type "9223372036854775000.0" to the BIGINT type column of MySQL, the value becomes "9223372036854774784" due to processing by HULFT IoT EdgeStreaming.
If you write the floating point type "9223372036854776000.0", the value becomes "9223372036854775807".
(2) Maximum and minimum values for integer type
The maximum and minimum values for integer type are as follows:
Maximum: 9223372036854775807
Minimum: -9223372036854775808
If the Mapper calculation result exceeds the maximum value, the calculation result value overflows.
If the calculation result is lower than the minimum value, the calculation result value underflows.
(3) Maximum and minimum values for floating point type
The maximum and minimum values for floating point type are as follows:
Maximum: 1.7976931348623157e+308
Minimum: -1.7976931348623157e+308
If the Mapper calculation result exceeds the maximum value, the calculation result value overflows.
If the calculation result is lower than the minimum value, the calculation result value underflows.
The value may be calculated in error (cancelation of significant digits or loss of trailing digits) when calculation is performed.
(4) Security software
Processes for HULFT IoT EdgeStreaming may be blocked when they are detected by security software.
If this happens, remove the following directories from the list of detection targets in your security software:
-
server/bin
-
server/es-agent
-
client/bin
(5) Use of script variables
In the property settings dialog box for the Mapper logic, you cannot specify script variables for any of the specifiable fields.
(6) Conversion of value type
The type of values entered in the Mapper logic is not automatically converted. For example, if you enter string type numbers and perform the calculation as-is, an error will occur. In this case, convert the string type to numbers before you perform the calculation.
Example:
If you enter a string type "1" for the Number > Calculation > Add logic of the Mapper logic, an error occurs.
In this case, use the following logic to convert the string type to numbers, and then perform the Add logic:
-
Use the Number > Basic > Convert to integer logic to convert the string type value to integer type
-
Use the Number > Basic > Convert to floating point logic to convert the string type value to floating point type
(7) Stream flow
On the script canvas, when you draw a stream flow from the Mapper to another operation, if you are using the schema tree shown under Output destination > Output data on the mapping canvas, the input schema of the last operation you drew is enabled.
(8) Calculation result of integer type and floating point type
If you enter integer type and floating point type values for the logic shown below, the type of the calculation result is floating point.
Therefore, the resulting value may be calculated in error (cancelation of significant digits or loss of trailing digits) when calculation is performed.
-
Number > Calculation > Add logic
-
Number > Calculation > Subtract logic
-
Number > Calculation > Multiply logic
-
Number > Calculation > Divide logic
-
Number > Calculation > Remainder logic
(9) Output destination schema
If you draw a mapping link to an element that has a child element in the output destination schema, an error may occur when EdgeStreaming Runtime is executed.
Do not draw a mapping link to an element that has a child element.
Official | HULFT IoT EdgeStreaming Mapper Reference First Edition: July 1, 2021