comparison SQLSTATEs @ 144:d6abd1ffffbb

Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08) Use SQLDataException instead of SQLException where applicable (SQLState starts with 22) Also updated documentation file: SQLSTATEs which documents the MonetDB JDBC driver specific SQLSTATEs
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 03 Aug 2017 18:53:04 +0200 (2017-08-03)
parents a5a898f6886c
children 5c575fb21be0
comparison
equal deleted inserted replaced
143:dcf7879d4862 144:d6abd1ffffbb
1 08M01 opening logfile failed 1 Following SQLStates are MonetDB JDBC driver specific:
2 01M02 redirect warning 2 01M02 redirect warning
3 M0M03 illegal arguments (invalid call of internal function)
4 01M03 illegal arguments (invalid call of internal function) 3 01M03 illegal arguments (invalid call of internal function)
5 M0M04 only supported in SQL mode
6 M1M05 invalid argument (user supplied)
7 M0M06 savepoint is not MonetSavepoint
8 01M07 unrecognised clientinfo property 4 01M07 unrecognised clientinfo property
9 01M08 read-only conection mode not supported 5 01M08 read-only conection mode not supported
10 01M09 transaction mode not supported 6 01M09 transaction mode not supported
11 M0M10 protocol violation/unexpected server response
12 01M10 unexpected server output 7 01M10 unexpected server output
13 01M11 server-client autocommit state mismatch 8 01M11 server-client autocommit state mismatch
14 M0M12 matching client handle referenced by server not found
15 01M13 concurrency mode not supported 9 01M13 concurrency mode not supported
16 01M14 scrolling mode not supported 10 01M14 scrolling mode not supported
17 01M15 holdability mode not supported 11 01M15 holdability mode not supported
18 M1M16 multistatements not supported in batches
19 M1M17 result set not expected for DML or DDL-statement
20 01M18 generated keys for columns not supported 12 01M18 generated keys for columns not supported
21 M1M19 response is not a result set
22 M1M20 object closed
23 01M21 cursors not supported 13 01M21 cursors not supported
24 0AM21 cursors not supported
25 01M22 JDBC escape syntax not supported 14 01M22 JDBC escape syntax not supported
26 01M23 field size limitation not supported 15 01M23 field size limitation not supported
27 01M24 query time out not supported 16 01M24 query time out not supported
28 M1M25 failed reading from/writing to object stream 17
18 08M01 opening logfile failed
29 08M26 invalid URI 19 08M26 invalid URI
30 M0M27 unknown error 20 08M33 connection timed out
21
22 0AM21 cursors not supported
23 0AM34 Java generics not supported
24
31 22M28 invalid BLOB format 25 22M28 invalid BLOB format
32 M0M29 assert 26 22M29 invalid inet format
27 22M30 invalid url format
28
29 2BM37 dependent objects still exist
30 2DM30 autocommit mode active
33 3BM30 autocommit mode active 31 3BM30 autocommit mode active
34 2DM30 autocommit mode active 32
35 42M31 user/role already exists 33 42M31 user/role already exists
36 42M32 user/role not found 34 42M32 user/role not found
37 08M33 connection timeout
38 0AM34 Java generics not supported
39 42M35 sequence not found 35 42M35 sequence not found
40 42M36 cannot restart sequence with NULL 36 42M36 cannot restart sequence with NULL
41 2BM37 dependent objects still exist
42 37
43 TODO: 38 M0M03 illegal arguments (invalid call of internal function)
44 JDBC 4.1 suggests the following SQLException subclass mapping: 39 M0M04 only supported in SQL mode
45 NonTransientSQLExeceptions (fails when same operation executed again) 40 M0M06 savepoint is not MonetSavepoint
46 0A SQLFeatureNotSupportedException 41 M0M10 protocol violation/unexpected server response
47 08 SQLNonTransientConnectionException 42 M0M12 matching client handle referenced by server not found
48 22 SQLDataException 43 M0M27 unknown error
49 23 SQLIntegrityConstraintViolationException 44 M0M29 assert
50 28 SQLInvalidAuthorizationException
51 42 SQLSyntaxErrorException
52 TransientSQLExeceptions (retry of same operation might succeed)
53 08 SQLTransientConnectionException
54 40 SQLTransactionRollbackException
55 SQLTimeoutException
56 45
46 M1M05 invalid argument (user supplied)
47 M1M16 multistatements not supported in batches
48 M1M17 result set not expected for DML or DDL-statement
49 M1M19 response is not a result set
50 M1M20 object closed
51 M1M25 failed reading from/writing to object stream
52
53 SQLState codes are used in SQLExceptions.
54 JDBC 4.1 defines the following SQLException subclass mappings:
55 NonTransientSQLExceptions (fails when same operation executed again)
56 0A SQLFeatureNotSupportedException
57 08 SQLNonTransientConnectionException
58 22 SQLDataException
59 23 SQLIntegrityConstraintViolationException
60 28 SQLInvalidAuthorizationSpecException
61 42 SQLSyntaxErrorException
62 TransientSQLExeceptions (retry of same operation might succeed)
63 08 SQLTransientConnectionException
64 40 SQLTransactionRollbackException
65 null SQLTimeoutException
66
67 See also: http://docs.oracle.com/javase/7/docs/api/java/sql/SQLException.html
68 See also: https://en.wikibooks.org/wiki/Structured_Query_Language/SQLSTATE
69