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 TypeSupportedAthenaBigQueryClickhouseDatabricksMongoDBMySQLPostgresRedshiftSnowflakeSQL Server
bytes✔️binarybytesblob, mediumblob, longblobbinarybinDatabinary, varbinary, blob, mediumblob, longblobbyteaVARBYTE, VARBINARY, BINARY VARYINGbinary, varbinarybinary, image, varbinary
string✔️char, varchar, stringstringstring, fixedstring, text, mediumtext, longtext, varcharstringString, ObjectIdstring, char, text, longtext, varcharchar, character, character varying, text, uuid, varcharCHAR, CHARACTER, NCHAR, BPCHAR, CHARACTER VARYING, NVARCHAR, TEXTCHAR, CHARACTER, NCHAR, BPCHAR, CHARACTER VARYING, NVARCHAR, TEXTchar, varchar, text, nvarchar, ntext, nchar
boolean✔️booleanboolbool, booleanbooleanBooleanbooleanbooleanbooleanbooleanbit
integer✔️smallint, integersmallint, int64, bigintint, int8, int16, int32smallint, intInt32smallint, mediumint, intsmallint, integersmallint, integersmallint, integersmallint, int
bigint✔️bigintint64, bigintint64, bigintbigintInt64, Longbigintbigintbigintbigintbigint
decimal✔️decimaldecimal, numericdecimal, numericdecimal, dec, numericDecimal128decimal, numericdecimal, numericdecimal, numericdecimal, numericdecimal, numeric
float✔️real, floatfloat64float32, float64, doublefloat, doubleDoublefloat, doublereal, double precisionreal, float4, float8, double precisionreal, float4, float8, double precisionfloat, real
timestamp✔️timestamptimestampdatetime, Datetime64timestampDate, Timestamptimestamptimestamp, timestamptztimestamp, timestamptztimestamp, timestamp_ntz, timestamp_tz, timestamp_ltzdatetime2
date✔️datedatedatedatedatedatedatedatedate
json✔️varchar, stringjsonstring*stringObjectjsonjson, jsonbvarchar(MAX)varchar, variantnvarchar(MAX)
time*✖️varchar, stringtimetimestringtimetimetimetimetime

🚧

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.

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

Destination type mapping

If you are predicting what data type your Recipient destination will receive, reference this table.

Prequel TypeSupportedAthenaBigQueryClickhouseDatabricksMySQLPostgresRedshiftSnowflakeSQL Server
bytes✔️stringbytesblobbinarybinarybyteaVARBYTE(MAX)*binaryblob
string✔️stringstringstringstringtexttextvarchar(MAX)textnvarchar(MAX)
boolean✔️booleanboolbooleanbooleanbooleanbooleanbooleanbooleanbit
integer✔️integerint64integerintintintegerbigintintegerint
bigint✔️bigintbigintbigintbigintbigintbigintbigintbigintbigint
decimal✔️decimaldecimaldecimaldecimaldecimaldecimaldecimaldecimaldecimal
float✔️floatfloat64doubledoubledoubledouble precisiondouble precisionfloat
timestamp✔️timestamptimestampDatetime64timestamptimestamptimestamptztimestamptztimestamp_tzdatetime2
date✔️datedatedatedatedatedatedatedatedate
json✔️stringjsonstring*stringjsonjsonbvarchar(MAX)variantnvarchar(MAX)

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