PrestoDB and TileDB have slight differences in their supported datatypes. This document serves as a mapping between the (core) TileDB datatypes and the MariaDB datatypes for easy reference.
Presto and all connectors are written in Java, and Java does not have unsigned values. As a result, an unsigned 64-bit integer can overflow if it is larger than 2^63 - 1
. Unsigned integers that are 8, 16 or 32 bits are treated as larger integers. For instance, an unsigned 32-bit value is read into a Java type oflong
.
Special cases ofchar(1)
orvarchar(1)
are stored on disk as fixed-sized attributes of size 1. Any char
/varchar
greater than 1 is stored as a variable-length attribute in TileDB. TileDB will not enforce the length parameter, but Presto will for inserts.
Decimal types are currently treated as doubles. TileDB does not enforce the precision or scale of the decimal types.
TileDB Datatype
PrestoDB SQL Datatype
TILEDB_INT8
BOOLEAN
TILEDB_INT16
TINYINT
TILEDB_INT32
INTEGER
TILEDB_INT64
BIGINT
TILEDB_FLOAT64
REAL
TILEDB_FLOAT64
DOUBLE
TILEDB_FLOAT64
DECIMAL
(treated as DOUBLE
)
TILEDB_CHAR
(var)
STRING
TILEDB_CHAR
(var)
VARCHAR
TILEDB_CHAR
(var)
CHAR
TILEDB_CHAR
(var)
VARBINARY