You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2016/03/23 20:16:25 UTC

[jira] [Created] (CALCITE-1164) Use setObject(int, Object, int) when binding parameters

Josh Elser created CALCITE-1164:
-----------------------------------

             Summary: Use setObject(int, Object, int) when binding parameters
                 Key: CALCITE-1164
                 URL: https://issues.apache.org/jira/browse/CALCITE-1164
             Project: Calcite
          Issue Type: Improvement
          Components: avatica
            Reporter: Josh Elser
            Priority: Minor
             Fix For: 1.8.0


Trying to capture some discussion from a recent pull request: https://github.com/apache/calcite/pull/209#issuecomment-195025402

In a few places (such as https://github.com/apache/calcite/blob/master/avatica/server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcMeta.java#L795-L800), we perform:

{code}
TypedValue o = parameterValues.get(i);
preparedStatement.setObject(i + 1, o.toJdbc(calendar));
{code}

Vladimir stated that this is ambiguous (stored procedures differing by argument list and differentiating between the actual type when the value is null) and would be remedied by passing along the desired type when setting the object.

We may also have to invoke setNull explicitly? This is unclear to me.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)