DocumentationAPI Reference
Documentation

Data types

Understanding Prequel data types

Understanding Prequel data types

Because data from any source can be synced to any destination, and because data types are not necessarily synonymous across data stores, a common mapping must be used to specify the source data type and predict the destination data type. As part of Prequel configuration, the expected data type must be defined ahead of time: for Export, this means specifying what data type the source will export, or for Import, specifying what data type to enforce in the destination.

Source type mapping

If you are configuring a source and need to decide what PREQUEL type to use, reference this table.

Prequel TypeSupportedAthenaBigQueryClickhouseDatabricksMongoDBMotherDuckMySQLPostgresOracleRedshiftSnowflakeSQL Server
bytes✔️binarybytesblob, mediumblob, longblobbinarybinDatabinary, blobbinary, varbinary, blob, mediumblob, longblobbyteablobVARBYTE, VARBINARY, BINARY VARYINGbinary, varbinarybinary, image, varbinary
string✔️char, varchar, stringstringstring, fixedstring, text, mediumtext, longtext, varcharstringString, ObjectIdtext, varcharstring, char, text, longtext, varcharchar, character, character varying, text, uuid, varcharnchar, char, varchar2, nvarchar2CHAR, CHARACTER, NCHAR, BPCHAR, CHARACTER VARYING, NVARCHAR, TEXTCHAR, CHARACTER, NCHAR, BPCHAR, CHARACTER VARYING, NVARCHAR, TEXTchar, varchar, text, nvarchar, ntext, nchar
boolean✔️booleanboolbool, booleanbooleanBooleanbooleanbooleanbooleannumberbooleanbooleanbit
integer✔️smallint, integerN/Aint, int8, int16, int32smallint, intInt32smallint, intsmallint, mediumint, intsmallint, integerintsmallint, integersmallint, integersmallint, int
bigint✔️bigintint64, int, smallint, integer, bigintint64, bigintbigintInt64, Longbigintbigintbigintbigintbigintbigintbigint
decimal✔️decimaldecimal, numericdecimal, numericdecimal, dec, numericDecimal128decimaldecimal, numericdecimal, numericdecimaldecimal, numericdecimal, numericdecimal, numeric
float✔️real, floatfloat64float32, float64, doublefloat, doubleDoublefloat, double, float4, float8float, doublereal, double precisionfloat, doublereal, float4, float8, double precisionreal, float4, float8, double precisionfloat, real
timestamp✔️timestamptimestampdatetime, Datetime64timestampDate, Timestamptimestamp, timestamptztimestamptimestamp, timestamptztimestamp(n)timestamp, timestamptztimestamp, timestamp_ntz, timestamp_tz, timestamp_ltzdatetime2
date✔️datedatedatedateN/Adatedatedatedatedatedatedate
json✔️varchar, stringjsonstring*stringObjectjsonjsonjson, jsonbnchar, char, varchar2, nvarchar2varchar(MAX)varchar, variantnvarchar(MAX)
time✔️timetimetimeN/AN/AtimeN/AtimeN/Atimetimetime
geography✔️geometrygeographyPoint, Ring, Linestring, Multilinestring, Polygon, MultipolygonN/Ageojsongeometrygeometry, point, ring, linestring, multilinestring, polygon, multipolygongeometry, point, ring, linestring, multilinestring, polygon, multipolygonN/Ageometry, point, ring, linestring, multilinestring, polygon, multipolygongeography, geometrygeography, geometry
vector✔️arrayarrayArray(Float64)arrayarray(float)double[]N/Adouble precision[]N/Aarray(double precision)array(double precision)N/A

🚧

Precision limitations for floating point types

Due to technical constraints, Prequel is unable to guarantee the absence of a loss of precision for any floating point (eg float) type. For use-cases in which precision is key, such as when transferring financial data, we strongly recommend leveraging fixed precision types instead such as decimal.

🌎

Geography type is limited to World Geodetic System

Every geometric shape has a spatial reference system associated with it. The geography type is limited to geospatial data that coresponds to an SRID of 4326, which represents spatial data using longitude and latitude coordinates on the Earth's surface as defined in the WGS84 standard.

* An asterisk indicates partial support. Ask us about any specific data type limitations.

Destination type mapping

If you are interested in what data type your recipient destination will receive, reference this table.

Prequel TypeSupportedAthenaBigQueryClickhouseDatabricksMongoDBMotherDuckMySQLPostgresOracleRedshiftSnowflakeSQL Server
bytes✔️stringbytesblobbinarybinDatablobbinarybyteablobvarbyte(16777216)binaryblob
string✔️stringstringstringstringstringtexttexttextclobvarchar(MAX)textnvarchar(MAX)
boolean✔️booleanboolbooleanbooleanbooleanbooleanbooleanbooleannumberbooleanbooleanbit
integer✔️integerint64integerintintsmallint, intintintegerintbigintintegerint
bigint✔️bigintbigintbigintbigintlongbigintbigintbigintbigintbigintbigintbigint
decimal✔️decimaldecimaldecimaldecimaldecimal128decimaldecimaldecimaldecimaldecimaldecimaldecimal
float✔️floatfloat64doubledoubledoubledoubledoubledouble precisiondoubledouble precisiondouble precisionfloat
timestamp✔️timestamptimestampDatetime64timestampdatetimestamptztimestamptimestamptztimestamp(9)timestamptztimestamp_tzdatetime2
date✔️datedatedatedatestringdatedatedatedatedatedatedate
json✔️stringjsonstring*stringjsonjsonjsonjsonbclobvarchar(MAX)variantnvarchar(MAX)
time✔️timetimetimetimestringtimetimetimevarchar2(8)varchar(MAX)timetime
geography✔️geometrygeographystring (wkt)string (geojson)geojsongeometrygeometrygeometryclobgeometrygeographygeography
vector✔️arrayarrayArray(Float64)arrayarray(float)double[]jsondouble precision[]clob (json)superarray(double precision)nvarchar(MAX) (json)

* An asterisk indicates partial or incomplete support. Ask us about any specific data type limitations.