When using equality comparison between an integer and float columns in a WHERE or ON clause, Teiid pushes it to Osisoft PI with both columns cast as double.
There seems to be a bug in Osisoft PI which causes the non-positive float values in the result for such a query to be returned as NULL (or not at all).
is translated to
which seems to be correct, but returns the wrong result:
Note that the only the positive values are returned, even though the criteria match also negative values (which are present in the source table).
If the cast to double in the source query is removed (or replaced with cast to single), the query returns the expected results.