forked from dork/tarantool-java
-
Notifications
You must be signed in to change notification settings - Fork 19
JDBC status
Alexander Turenko edited this page Dec 30, 2018
·
46 revisions
package java.sql;
Interface | Required? | Supported? | Covered? | Details |
---|---|---|---|---|
Array | No | No | No | #65; blocked |
Blob | No | No | No | #67 |
CallableStatement | No | No | No | #64 |
Clob | No | No | No | #66; blocked |
Connection | 35/55 | 13/35 + 0/20 optional | 5/35 + 0/20 optional | |
DatabaseMetaData | ||||
Driver | ||||
DriverAction | ||||
NClob | No | No | No | #68; blocked |
ParameterMetaData | ||||
PreparedStatement | ||||
Ref | ||||
ResultSet | ||||
ResultSetMetaData | ||||
RowId | ||||
Savepoint | ||||
SQLData | ||||
SQLInput | ||||
SQLOutput | ||||
SQLType | N/A | N/A | N/A | |
SQLXML | No | No | No | #69; blocked |
Statement | ||||
Struct | No | No | No | #70; blocked |
Wrapper | Yes | No | No | #73 |
interface java.sql.Connection;
Method | Required? | Supported? | Covered? | Details |
---|---|---|---|---|
abort | Yes | No | No | #71 |
clearWarnings | Yes | Yes | No | dumb, but enough |
close | Yes | Yes | Yes | |
commit | Yes | No | No | #63; blocked |
createArrayOf | No | No | No | #65; blocked |
createBlob | No | No | No | #67 |
createClob | No | No | No | #66; blocked |
createNClob | No | No | No | #68; blocked |
createSQLXML | No | No | No | #69; blocked |
createStatement | Yes | Yes | Yes | |
createStatement(type, concurrency) | Yes | No | No | #85, #86 |
createStatement(type, concurrency, holdability) | Yes | No | No | #85, #86, #87 |
createStruct | No | No | No | #70; blocked |
getAutoCommit | Yes | No | No | #63; blocked |
getCatalog | Yes | Yes | No | dumb, but enough |
getClientInfo | Yes | No | No | #74 |
getClientInfo(name) | Yes | No | No | #74 |
getHoldability | Yes | No | No | #87 |
getMetaData | Yes | Yes | Yes | |
getNetworkTimeout | No | No | No | |
getSchema | Yes | Yes | No | dumb, but enough |
getTransactionIsolation | Yes | No | No | #63; blocked |
getTypeMap | No | No | No | |
getWarnings | Yes | Yes | No | dumb, but enough |
isClosed | Yes | Yes | Yes | |
isReadOnly | Yes | Yes | No | dumb, but enough |
isValid | Yes | No | No | #75 |
nativeSQL | Yes | No | No | #76 |
prepareCall(sql) | No | No | No | |
prepareCall(sql, type, concurrency) | No | No | No | #85, #86 |
prepareCall(sql, type, concurrency, holdability) | No | No | No | #85, #86, #87 |
prepareStatement(sql) | Yes | Yes | Yes | |
prepareStatement(sql, NO_GENERATED_KEYS) | Yes | No | No | #78 |
prepareStatement(sql, RETURN_GENERATED_KEYS) | No | No | No | #77; blocked |
prepareStatement(sql, columnIndexes) | No | No | No | #77; blocked |
prepareStatement(sql, type, concurrency) | Yes | No | No | #85, #86 |
prepareStatement(sql, type, concurrency, holdability) | Yes | No | No | #85, #86, #87 |
prepareStatement(sql, columnNames) | No | No | No | #77; blocked |
releaseSavepoint | No | No | No | |
rollback | Yes | No | No | #63; blocked |
rollback(savepoint) | No | No | No | |
setAutoCommit | Yes | No | No | #63; blocked |
setCatalog | Yes | Yes | No | dumb, but enough |
setClientInfo(properties) | Yes | No | No | #74 |
setClientInfo(name, value) | Yes | No | No | #74 |
setHoldability | Yes | No | No | #87 |
setNetworkTimeout | No | No | No | |
setReadOnly | Yes | Yes | No | dumb, but enough |
setSavepoint | No | No | No | |
setSavepoint(name) | No | No | No | |
setSchema | Yes | Yes | No | dumb, but enough |
setTransactionIsolation | Yes | No | No | #63; blocked |
setTypeMap | No | No | No | |
isWrapperFor | Yes | No | No | #73 |
unwrap | Yes | No | No | #73 |
Tarantool/SQL types are going to be more strict, so tables below will be updated to reflect current Tarantool and Tarantool/SQL types.
Mapping from Tarantool/SQL types into JDBC and Java types:
Tarantool/SQL | JDBC | Java | Supported? | Details |
---|---|---|---|---|
FLOAT | Types.FLOAT | double | No | |
DOUBLE | Types.DOUBLE | double | No | |
REAL | Types.REAL | float | No | |
INT | Types.INTEGER | BigInteger | No | |
INTEGER | Types.INTEGER | BigInteger | No | |
DECIMAL | Types.DECIMAL | BigDecimal | No | |
DECIMAL(N) | Types.DECIMAL | BigDecimal | No | |
DECIMAL(N, M) | Types.DECIMAL | BigDecimal | No | |
NUMERIC | Types.NUMERIC | BigDecimal | No | |
NUMERIC(N) | Types.NUMERIC | BigDecimal | No | |
NUMERIC(N, M) | Types.NUMERIC | BigDecimal | No | |
NUM | Types.NUMERIC | BigDecimal | No | |
NUM(N) | Types.NUMERIC | BigDecimal | No | |
NUM(N, M) | Types.NUMERIC | BigDecimal | No | |
DATE | Types.DATE | java.sql.Date | No | blocked by #3694 |
TIME | Types.TIME | java.sql.Time | No | blocked by #3694 |
DATETIME | N/A | N/A | N/A | to be removed |
TIMESTAMP | Types.TIMESTAMP | java.sql.Timestamp | No | blocked by #3694 |
CHAR(N) | Types.CHAR | String | No | |
VARCHAR(N) | Types.VARCHAR | String | No | |
TEXT | Types.VARCHAR | String | No | |
BLOB | Types.VARBINARY | byte[] | No | blocked by #3650, tracked by #45 |
Mapping from Tarantool/SQL types into Tarantool native types (space format / index format) and additional Tarantool/SQL constraints (for reference):
Tarantool/SQL | Tarantool native | Tarantool/SQL constraints |
---|---|---|
FLOAT | number | float64 for insert, native number (int+fp) for select |
DOUBLE | number | float64 for insert, native number (int+fp) for select |
REAL | number | float64 for insert, native number (int+fp) for select |
INT | integer | -2^63 .. 2^63-1 for insert, native integer (-2^63 .. 2^64-1) for select |
INTEGER | integer | -2^63 .. 2^63-1 for insert, native integer (-2^63 .. 2^64-1) for select |
DECIMAL | number | same as REAL |
DECIMAL(N) | number | same as REAL |
DECIMAL(N, M) | number | same as REAL |
NUMERIC | number | same as REAL |
NUMERIC(N) | number | same as REAL |
NUMERIC(N, M) | number | same as REAL |
NUM | number | same as REAL |
NUM(N) | number | same as REAL |
NUM(N, M) | number | same as REAL |
DATE | number | broken at all (blocked by #3694) |
TIME | number | broken at all (blocked by #3694) |
DATETIME | number | broken at all (blocked by #3694) |
CHAR(N) | string | native string (of any length) |
VARCHAR(N) | string | native string (of any length) |
TEXT | string | native string (of any length) |
BLOB | scalar | native scalar (blocked by #3650, tracked by #45) |
Tarantool native types, msgpack and Lua types (for reference):
Tarantool native | Msgpack | Lua |
---|---|---|
integer | nil, pos/neg fixint, int/uint 8/16/32/64 | nil/box.NULL, number, cdata(int64_t), cdata(uint64_t) |
number | nil, pos/neg fixint, int/uint 8/16/32/64, float 32/64 | nil/box.NULL, number, cdata(int64_t), cdata(uint64_t) |
string | nil, fixstr, str 8/16/32 | nil/box.NULL, string |
scalar | all above, bin 8/16/32, bool | all above, bool |