Data types

Data types in Squiller are inspired by Rust and Python. Strictly speaking they do not map to any SQL types by themselves, only to types in the target language. It is up to the database driver to then map those to SQL types. However, it is still useful to explain the types that Squiller supports in terms of the corresponding SQL data types.

Supported types

Vaporware warning: Not all of these are implemented.

SquillerPostgreSQLSQLite
i32intinteger
i64bigintinteger
f32float4number
f64float8number
strtexttext
bytesbyteablob
boolboolinteger
instanttimestamptztext1

1 Encoded to text as an ISO-8601 timestamp with Z suffix.

Language mapping

Vaporware warning: Not all of these are implemented.

SquillerRustPythonHaskell
i32i32intInt32
i64i64intInt64
f32f32floatFloat
f64f64floatDouble
str&str or StringstrText
bytes&[u8] or Vec<u8>bytesByteString
boolboolboolBool
instantDateTime<Utc>datetime1UtcTime

1 Non-naive datetime, where tzinfo is not None.

See also