Status: Closed (View Workflow)
Affects Version/s: 8.12.3
Component/s: Misc. Connectors
Steps to Reproduce:
- Define a metadata DDL in vdb's source model. Set mentioned datatypes instead of default string.
- Deploy vdb, try queries with literals in WHERE clauses.
- Check the tserver's log file in your ACCUMULO_HOME/logs directory (tserver_dhcp-30-126.brq.redhat.com.log in my case)
When accessing Accumulo instance using accumulo translator with table DDL defined in the model's metadata, there are problems filtering the output in from clause.
For example, when there is a comparison between a column of type long with literal value 3, an exception, whose cause is below, is thrown on accumulo's side:
but when I provide a value higher, than can be saved in integer, thus the type of the literal is inferred as long, the query runs as expected.
Similar problems I had with
|Column type||Literal||Inferred type||Rootcause message|
|long||3||Integer||java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long|
|biginteger||3||Integer||java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigInteger|
|double||3.0||BigDecimal||java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Double|
|float||3.0||BigDecimal||java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Float|
rest of the cause's stacktrace look the same.
In Squirrel I get: