Affects Version/s: V6.1
Fix Version/s: None
Team Backlog:CORE team
If user creates a stored procedure with IN list arguments of type TinyInt parameterized and tries to execute the stored procedure by supplying in array of TinyInt, it gets rejected in EE generating SQL exception with message "rhs of IN expression is of a non-list type varbinary". The issue in here looks like to be the logic is getting treats byte as varbinary (in EE or frontend?) instead of deducing it byte itself in list arguments. Opening ticket to investigate and fix this issue. This can be part of technical debt, so if needed please change it to task.
Steps to reproduce the issue:
For table T "CREATE TABLE T (ti TINYINT, int INTEGER NOT NULL );"
and SQL statement "tinyInList = new SQLStmt("Select * from T where ti IN ? ;");"
if I execute the above sql statement using
byte tiArray =
voltQueueSQL(m_tinyInList, (Object) tiArray);
Results in error below:
org.voltdb.client.ProcCallException: VOLTDB ERROR: SQL ERROR
rhs of IN expression is of a non-list type varbinary