Skip to content
Alexander Turenko edited this page Dec 30, 2018 · 46 revisions

Status

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

Data model

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

Links

Clone this wiki locally