[ 
https://issues.apache.org/jira/browse/IGNITE-5339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16153780#comment-16153780
 ] 

Vladimir Ozerov commented on IGNITE-5339:
-----------------------------------------

[~tledkov-gridgain], I resolved several warning, please see my recent commits. 
My comments:
1) {{JdbcThinConnectionSelfTest.testPrepareStatement4}} - unused variable in a 
loop?
2) {{JdbcThinStatement.setFetchDirection}} - checking the same condition twice 
- bug?
3) {{JdbcThinConnection.prepareStatement}} - "Invalid arguments" is not 
informative 
4) {{JdbcThinConnection.nativeSQL}} - "Invalid arguments" is not informative 
5) {{JdbcThinConnection.commit}} - "Invalid arguments" is not informative 
6) {{JdbcThinConnection.rollback}} - "Auto-commit mode" is not informative 
7) {{JdbcThinConnection}} - bad error messages in savepoint-related methods 
({{setSavepoint}}, {{setSavepoint(String)}}, {{rollback(Savepoint)}}, 
{{releaseSavepoint}})
8) {{JdbcThinConnection}} - bad error messages in {{createArrayOf}}, 
{{createStruct}}
9) {{JdbcThinConnection.setSchema}} - bad error message, why null schema is 
prohibited?
10) - bad error messages in {{abort}} and {{setNetworkTimeout}}

Correct error message should look like this (example): "SQL string cannot be 
null", "Type name cannot be null", etc..
Please make sure to re-run JDBC tests once comments are addressed.


> JDBC thin driver: validate compliance
> -------------------------------------
>
>                 Key: IGNITE-5339
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5339
>             Project: Ignite
>          Issue Type: Task
>          Components: jdbc
>            Reporter: Vladimir Ozerov
>            Assignee: Taras Ledkov
>              Labels: important
>             Fix For: 2.3
>
>
> We need to make sure that all methods of our new driver are compliant with 
> JDBC spec, namely:
> 1) Semantics of normal execution is correct
> 2) Exceptions are thrown when excepted
> I propose the following flow:
> 1) Walk through interface classes (Connection -> Statement, PreparedStatement 
> -> ResultSet)
> 2) For every method identify a set of tests to verify semantics (if any).
> 3) Write those tests, even if they fail.
> 4) Once all tests are ready, decide how to proceed with their fixes.
> NB: we should write tests even for methods which throw "not-implemented 
> exception", so that we better understand the scope of remaining work.
> Link to [JDBC 
> specification|http://download.oracle.com/otn-pub/jcp/jdbc-4_1-mrel-spec/jdbc4.1-fr-spec.pdf?AuthParam=1496141650_c2ec45f13eb8c532632bbfaede64f351]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to