-
Notifications
You must be signed in to change notification settings - Fork 616
Open
Labels
jdbc-v2jdbc-v2 issuesjdbc-v2 issues
Description
Description
V2 has reworked DatabaseMetadata implementation to be more JDBC compliant.
Here is what V1 returns for Type info:
--- ALL DATA TYPES SUPPORTED BY ClickHouse (from DatabaseMetaData.getTypeInfo()) ---
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TYPE_NAME | DATA_TYPE | PRECISION | LITERAL_PREFIX | LITERAL_SUFFIX | NULLABLE | CASE_SENS | SEARCHABLE | CREATE_PARAMS
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AggregateFunction | 1111 | 0 | '(' | ')' | NO | true | BASIC |
Array | 2003 | 0 | '[' | ']' | NO | true | BASIC |
BFloat16 | 1111 | 3 | '' | '' | YES | true | BASIC |
BIGINT | -5 | 19 | '' | '' | YES | true | BASIC |
BIGINT SIGNED | -5 | 19 | '' | '' | YES | true | BASIC |
BIGINT UNSIGNED | 2 | 20 | '' | '' | YES | true | BASIC |
BINARY | 12 | 0 | ''' | ''' | YES | true | ALL |
BINARY LARGE OBJECT | 12 | 0 | ''' | ''' | YES | true | ALL |
BINARY VARYING | 12 | 0 | ''' | ''' | YES | true | ALL |
BIT | 2 | 20 | '' | '' | YES | true | BASIC |
BLOB | 12 | 0 | ''' | ''' | YES | true | ALL |
BYTE | -6 | 3 | '' | '' | YES | true | BASIC |
BYTEA | 12 | 0 | ''' | ''' | YES | true | ALL |
Bool | 16 | 1 | '' | '' | YES | false | BASIC |
CHAR | 12 | 0 | ''' | ''' | YES | true | ALL |
CHAR LARGE OBJECT | 12 | 0 | ''' | ''' | YES | true | ALL |
CHAR VARYING | 12 | 0 | ''' | ''' | YES | true | ALL |
CHARACTER | 12 | 0 | ''' | ''' | YES | true | ALL |
CHARACTER LARGE OBJECT | 12 | 0 | ''' | ''' | YES | true | ALL |
CHARACTER VARYING | 12 | 0 | ''' | ''' | YES | true | ALL |
CLOB | 12 | 0 | ''' | ''' | YES | true | ALL |
DEC | 3 | 76 | '' | '' | YES | false | BASIC |
DOUBLE | 8 | 22 | '' | '' | YES | true | BASIC |
DOUBLE PRECISION | 8 | 22 | '' | '' | YES | true | BASIC |
Date | 91 | 10 | ''' | ''' | YES | false | BASIC |
Date32 | 91 | 10 | ''' | ''' | YES | false | BASIC |
DateTime | 93 | 29 | ''' | ''' | YES | false | BASIC |
DateTime32 | 93 | 19 | ''' | ''' | YES | false | BASIC |
DateTime64 | 93 | 29 | ''' | ''' | YES | false | BASIC |
Decimal | 3 | 76 | '' | '' | YES | false | BASIC |
Decimal128 | 3 | 38 | '' | '' | YES | false | BASIC |
Decimal256 | 3 | 76 | '' | '' | YES | false | BASIC |
Decimal32 | 3 | 9 | '' | '' | YES | false | BASIC |
Decimal64 | 3 | 18 | '' | '' | YES | false | BASIC |
Dynamic | 1111 | 0 | '' | '' | YES | true | BASIC |
ENUM | 12 | 0 | ''' | ''' | YES | true | BASIC |
Enum | 1111 | 0 | '' | '' | YES | true | BASIC |
Enum16 | 12 | 0 | ''' | ''' | YES | true | BASIC |
Enum8 | 12 | 0 | ''' | ''' | YES | true | BASIC |
FIXED | 3 | 76 | '' | '' | YES | false | BASIC |
FLOAT | 6 | 12 | '' | '' | YES | true | BASIC |
FixedString | 12 | 0 | ''' | ''' | YES | true | ALL |
Float32 | 6 | 12 | '' | '' | YES | true | BASIC |
Float64 | 8 | 22 | '' | '' | YES | true | BASIC |
GEOMETRY | 1111 | 0 | '' | '' | YES | false | BASIC |
Geometry | 1111 | 0 | '' | '' | YES | false | BASIC |
INET4 | 12 | 10 | '' | '' | YES | true | BASIC |
INET6 | 12 | 39 | '' | '' | YES | true | BASIC |
INT | 4 | 10 | '' | '' | YES | true | BASIC |
INT SIGNED | 4 | 10 | '' | '' | YES | true | BASIC |
INT UNSIGNED | -5 | 10 | '' | '' | YES | true | BASIC |
INT1 | -6 | 3 | '' | '' | YES | true | BASIC |
INT1 SIGNED | -6 | 3 | '' | '' | YES | true | BASIC |
INT1 UNSIGNED | 5 | 3 | '' | '' | YES | true | BASIC |
INTEGER | 4 | 10 | '' | '' | YES | true | BASIC |
INTEGER SIGNED | 4 | 10 | '' | '' | YES | true | BASIC |
INTEGER UNSIGNED | -5 | 10 | '' | '' | YES | true | BASIC |
IPv4 | 12 | 10 | '' | '' | YES | true | BASIC |
IPv6 | 12 | 39 | '' | '' | YES | true | BASIC |
Int128 | 2 | 39 | '' | '' | YES | true | BASIC |
Int16 | 5 | 5 | '' | '' | YES | true | BASIC |
Int256 | 2 | 77 | '' | '' | YES | true | BASIC |
Int32 | 4 | 10 | '' | '' | YES | true | BASIC |
Int64 | -5 | 19 | '' | '' | YES | true | BASIC |
Int8 | -6 | 3 | '' | '' | YES | true | BASIC |
IntervalDay | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalHour | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalMicrosecond | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalMillisecond | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalMinute | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalMonth | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalNanosecond | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalQuarter | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalSecond | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalWeek | -5 | 19 | '' | '' | YES | true | BASIC |
IntervalYear | -5 | 19 | '' | '' | YES | true | BASIC |
JSON | 12 | 0 | '' | '' | YES | false | BASIC |
LONGBLOB | 12 | 0 | ''' | ''' | YES | true | ALL |
LONGTEXT | 12 | 0 | ''' | ''' | YES | true | ALL |
LineString | 1111 | 0 | '' | '' | YES | true | BASIC |
LowCardinality | 1111 | 0 | '' | '' | YES | true | BASIC |
MEDIUMBLOB | 12 | 0 | ''' | ''' | YES | true | ALL |
MEDIUMINT | 4 | 10 | '' | '' | YES | true | BASIC |
MEDIUMINT SIGNED | 4 | 10 | '' | '' | YES | true | BASIC |
MEDIUMINT UNSIGNED | -5 | 10 | '' | '' | YES | true | BASIC |
MEDIUMTEXT | 12 | 0 | ''' | ''' | YES | true | ALL |
Map | 2002 | 0 | '{' | '}' | NO | true | BASIC |
MultiLineString | 1111 | 0 | '' | '' | YES | true | BASIC |
MultiPolygon | 2003 | 0 | '[' | ']' | NO | true | BASIC |
NATIONAL CHAR | 12 | 0 | ''' | ''' | YES | true | ALL |
NATIONAL CHAR VARYING | 12 | 0 | ''' | ''' | YES | true | ALL |
NATIONAL CHARACTER | 12 | 0 | ''' | ''' | YES | true | ALL |
NATIONAL CHARACTER LARGE OBJECT | 12 | 0 | ''' | ''' | YES | true | ALL |
NATIONAL CHARACTER VARYING | 12 | 0 | ''' | ''' | YES | true | ALL |
NCHAR | 12 | 0 | ''' | ''' | YES | true | ALL |
NCHAR LARGE OBJECT | 12 | 0 | ''' | ''' | YES | true | ALL |
NCHAR VARYING | 12 | 0 | ''' | ''' | YES | true | ALL |
NUMERIC | 3 | 76 | '' | '' | YES | false | BASIC |
NVARCHAR | 12 | 0 | ''' | ''' | YES | true | ALL |
Nested | 2002 | 0 | '[' | ']' | NO | true | BASIC |
Nothing | 0 | 0 | '' | '' | YES | true | BASIC |
Nullable | 1111 | 0 | '' | '' | YES | true | BASIC |
Point | 2003 | 0 | '(' | ')' | NO | true | BASIC |
Polygon | 2003 | 0 | '[' | ']' | NO | true | BASIC |
QBit | 1111 | 0 | '' | '' | YES | true | BASIC |
REAL | 6 | 12 | '' | '' | YES | true | BASIC |
Ring | 2003 | 0 | '[' | ']' | NO | true | BASIC |
SET | 2 | 20 | '' | '' | YES | true | BASIC |
SIGNED | -5 | 19 | '' | '' | YES | true | BASIC |
SINGLE | 6 | 12 | '' | '' | YES | true | BASIC |
SMALLINT | 5 | 5 | '' | '' | YES | true | BASIC |
SMALLINT SIGNED | 5 | 5 | '' | '' | YES | true | BASIC |
SMALLINT UNSIGNED | 4 | 5 | '' | '' | YES | true | BASIC |
SimpleAggregateFunction | 1111 | 0 | '' | '' | YES | true | BASIC |
String | 12 | 0 | ''' | ''' | YES | true | ALL |
TEXT | 12 | 0 | ''' | ''' | YES | true | ALL |
TIMESTAMP | 93 | 29 | ''' | ''' | YES | false | BASIC |
TINYBLOB | 12 | 0 | ''' | ''' | YES | true | ALL |
TINYINT | -6 | 3 | '' | '' | YES | true | BASIC |
TINYINT SIGNED | -6 | 3 | '' | '' | YES | true | BASIC |
TINYINT UNSIGNED | 5 | 3 | '' | '' | YES | true | BASIC |
TINYTEXT | 12 | 0 | ''' | ''' | YES | true | ALL |
Time | 1111 | 9 | '' | '' | YES | false | BASIC |
Time64 | 1111 | 9 | '' | '' | YES | false | BASIC |
Tuple | 2002 | 0 | '(' | ')' | NO | true | BASIC |
UInt128 | 2 | 39 | '' | '' | YES | true | BASIC |
UInt16 | 4 | 5 | '' | '' | YES | true | BASIC |
UInt256 | 2 | 78 | '' | '' | YES | true | BASIC |
UInt32 | -5 | 10 | '' | '' | YES | true | BASIC |
UInt64 | 2 | 20 | '' | '' | YES | true | BASIC |
UInt8 | 5 | 3 | '' | '' | YES | true | BASIC |
UNSIGNED | 2 | 20 | '' | '' | YES | true | BASIC |
UUID | 12 | 69 | ''' | ''' | YES | true | BASIC |
VARBINARY | 12 | 0 | ''' | ''' | YES | true | ALL |
VARCHAR | 12 | 0 | ''' | ''' | YES | true | ALL |
VARCHAR2 | 12 | 0 | ''' | ''' | YES | true | ALL |
Variant | 1111 | 0 | '' | '' | YES | true | BASIC |
YEAR | 4 | 5 | '' | '' | YES | true | BASIC |
bool | 16 | 1 | '' | '' | YES | false | BASIC |
boolean | 16 | 1 | '' | '' | YES | false | BASIC |
And this is V2 output:
--- ALL DATA TYPES SUPPORTED BY ClickHouse (from DatabaseMetaData.getTypeInfo()) ---
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TYPE_NAME | DATA_TYPE | PRECISION | LITERAL_PREFIX | LITERAL_SUFFIX | NULLABLE | CASE_SENS | SEARCHABLE | CREATE_PARAMS
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AggregateFunction | 1111 | 0 | null | null | NO | true | ALL |
Array | 2003 | 0 | null | null | NO | true | ALL |
BFloat16 | 6 | 3 | null | null | NO | true | ALL |
Bool | 16 | 1 | null | null | NO | false | ALL |
Date | 91 | 10 | null | null | NO | false | ALL |
Date32 | 91 | 10 | null | null | NO | false | ALL |
DateTime | 93 | 29 | null | null | NO | false | ALL |
DateTime32 | 93 | 19 | null | null | NO | false | ALL |
DateTime64 | 93 | 29 | null | null | NO | false | ALL |
Decimal | 3 | 76 | null | null | NO | false | ALL |
Decimal128 | 3 | 38 | null | null | NO | false | ALL |
Decimal256 | 3 | 76 | null | null | NO | false | ALL |
Decimal32 | 3 | 9 | null | null | NO | false | ALL |
Decimal64 | 3 | 18 | null | null | NO | false | ALL |
Dynamic | 1111 | 0 | null | null | YES | true | ALL |
Enum | 12 | 0 | null | null | NO | false | ALL |
Enum16 | 12 | 0 | null | null | NO | true | ALL |
Enum8 | 12 | 0 | null | null | NO | true | ALL |
FixedString | 12 | 0 | null | null | NO | true | ALL |
Float32 | 6 | 12 | null | null | NO | true | ALL |
Float64 | 8 | 22 | null | null | NO | true | ALL |
Geometry | 2003 | 0 | null | null | NO | true | ALL |
IPv4 | 1111 | 10 | null | null | NO | true | ALL |
IPv6 | 1111 | 39 | null | null | NO | true | ALL |
Int128 | 1111 | 39 | null | null | NO | true | ALL |
Int16 | 5 | 5 | null | null | NO | true | ALL |
Int256 | 1111 | 77 | null | null | NO | true | ALL |
Int32 | 4 | 10 | null | null | NO | true | ALL |
Int64 | -5 | 19 | null | null | NO | true | ALL |
Int8 | -6 | 3 | null | null | NO | true | ALL |
IntervalDay | -5 | 19 | null | null | NO | true | ALL |
IntervalHour | -5 | 19 | null | null | NO | true | ALL |
IntervalMicrosecond | -5 | 19 | null | null | NO | true | ALL |
IntervalMillisecond | -5 | 19 | null | null | NO | true | ALL |
IntervalMinute | -5 | 19 | null | null | NO | true | ALL |
IntervalMonth | -5 | 19 | null | null | NO | true | ALL |
IntervalNanosecond | -5 | 19 | null | null | NO | true | ALL |
IntervalQuarter | -5 | 19 | null | null | NO | true | ALL |
IntervalSecond | -5 | 19 | null | null | NO | true | ALL |
IntervalWeek | -5 | 19 | null | null | NO | true | ALL |
IntervalYear | -5 | 19 | null | null | NO | true | ALL |
JSON | 1111 | 0 | null | null | NO | false | ALL |
LineString | 2003 | 0 | null | null | NO | true | ALL |
LowCardinality | 1111 | 0 | null | null | NO | true | ALL |
Map | 1111 | 0 | null | null | NO | true | ALL |
MultiLineString | 2003 | 0 | null | null | NO | true | ALL |
MultiPolygon | 2003 | 0 | null | null | NO | true | ALL |
Nested | 2003 | 0 | null | null | NO | true | ALL |
Nothing | 1111 | 0 | null | null | NO | true | ALL |
Nullable | 1111 | 0 | null | null | YES | true | ALL |
Point | 2003 | 0 | null | null | NO | true | ALL |
Polygon | 2003 | 0 | null | null | NO | true | ALL |
QBit | 1111 | 0 | null | null | NO | true | ALL |
Ring | 2003 | 0 | null | null | NO | true | ALL |
SimpleAggregateFunction | 1111 | 0 | null | null | NO | true | ALL |
String | 12 | 0 | null | null | NO | true | ALL |
Time | 92 | 9 | null | null | NO | false | ALL |
Time64 | 92 | 9 | null | null | NO | false | ALL |
Tuple | 1111 | 0 | null | null | NO | true | ALL |
UInt128 | 1111 | 39 | null | null | NO | true | ALL |
UInt16 | 4 | 5 | null | null | NO | true | ALL |
UInt256 | 1111 | 78 | null | null | NO | true | ALL |
UInt32 | -5 | 10 | null | null | NO | true | ALL |
UInt64 | 1111 | 20 | null | null | NO | true | ALL |
UInt8 | 5 | 3 | null | null | NO | true | ALL |
UUID | 1111 | 69 | null | null | NO | true | ALL |
Variant | 1111 | 0 | null | null | NO | true | ALL |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
jdbc-v2jdbc-v2 issuesjdbc-v2 issues