Source datatype mappings¶
Introduction¶
The Sesam entity model defines a set of supported data types that any external types need to be mapped to. The various data sources have different schemas, and which types are supported and their current mappings to the Sesam types is listed in this document.
SQL systems¶
This section documents which native types are supported by the RDBMS systems and to what Sesam type they map to. Any unsupported column type will have to be blacklisted in the source configuration, or you will have to write a custom query that coerces the non-supported column to a supported type.
SQL Server¶
The following is the supported native types of Microsoft SQL server. We support SQL Server 2008, but most of these column types should be both forwards and backwards compatible with older and future SQL Server versions.
Native type |
Sesam type |
Comment |
---|---|---|
|
Integer |
|
|
Integer |
|
|
Decimal |
|
|
Decimal |
|
|
Float |
|
|
Float |
|
|
Decimal |
|
|
String |
|
|
Boolean |
|
|
String |
|
|
String |
|
|
Datetime |
Values with timezone will be shifted into UTC timezone on import. |
|
Datetime |
Values with timezone will be shifted into UTC timezone on import. |
|
String |
Converted by the driver to |
|
String |
Converted by the driver to |
|
UUID |
|
|
String |
Oracle¶
The following is the supported native types of Oracle RDBMS. The tested version of oracle is Oracle 11g, but most of the supported column types should be compatible with both older and newer versions of Oracle.
Native type |
Sesam type |
Comment |
---|---|---|
|
Integer |
|
|
Float |
Depending on the column definition |
|
Float |
|
|
Float |
|
|
String |
|
|
String |
|
|
String |
|
|
Datetime |
The range of this datatype is unlimited to nanosecond precision. Values with timezone will be shifted into UTC timezone on import. |
|
Datetime |
The range of this datatype is unlimited to nanosecond precision. Values with timezone will be shifted into UTC timezone on import. |
|
Bytes |
|
|
String |
|
|
String |
|
|
Bytes |
|
|
Bytes |
|
|
String |
MySQL¶
The following is the supported native types of MySQL. The tested version is 5.6, but most of the supported column types should be compatible with both older and newer versions of MySQL.
Native type |
Sesam type |
Comment |
---|---|---|
|
Integer |
|
|
Integer |
|
|
Integer |
|
|
Decimal |
|
|
Float |
|
|
Decimal |
|
|
Decimal |
|
|
Decimal |
|
|
Integer |
|
|
Integer |
|
|
String |
|
|
Bytes |
|
|
String |
|
|
Bytes |
|
|
String |
|
|
String |
|
|
Datetime |
The range of this datatype is unlimited to nanosecond precision. Values with timezone will be shifted into UTC timezone on import. |
|
Datetime |
The time part of the Datetime object is set to midnight (i.e. |
|
Integer |
Range is |
|
String |
Converted by the driver to |
|
Datetime |
|
|
Bytes |
|
|
Bytes |
|
|
Bytes |
|
|
Bytes |
|
|
Varying |
Based on enum type |
|
Varying |
List of values, based on set type |
PostgreSQL¶
The following is the supported native types of PostgreSQL. The tested version is 9.5, but most of the supported column types should be compatible with both older and newer versions of PostgreSQL.
Native type |
Sesam type |
Comment |
---|---|---|
|
Integer |
|
|
Integer |
|
|
Integer |
|
|
Decimal |
|
|
Float |
|
|
Float |
|
|
Decimal |
|
|
Boolean |
|
|
String |
|
|
String |
|
|
String |
|
|
Datetime |
The range of this datatype is unlimited to nanosecond precision. Values with timezone will be shifted into UTC timezone on import. |
|
String |
Converted to |
|
String |
Converted by the driver to |
|
Bytes |
|
|
Varying |
Based on enum type |
|
String |
|
|
String |