Uploaded image for project: 'Engineering'
  1. Engineering
  2. ENG-10107

Query with params to IN list arguments of type TINYINT getting rejected (confused with VARBINARY)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: V6.1
    • Fix Version/s: None
    • Component/s: Core
    • Labels:
      None
    • Team Backlog:
      CORE team

      Description

      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 =

      {'1', '3', '4'}

      ;
      voltQueueSQL(m_tinyInList, (Object) tiArray);
      voltExecuteSQL();

      Results in error below:

      org.voltdb.client.ProcCallException: VOLTDB ERROR: SQL ERROR
      rhs of IN expression is of a non-list type varbinary

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              hhakimi Huzefa Hakimi
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:

                Zendesk Support