Types for Arroyo SQL
Arroyo | Rust | Python | Arrow | Sql Types | Example Literals |
---|---|---|---|---|---|
Boolean | bool | bool | Boolean | BOOLEAN | TRUE , FALSE |
Int32 | i32 | int | Int32 | INT , INTEGER | 0 , 1 , -2 |
Int64 | i64 | int | Int64 | BIGINT | 0 , 1 , -2 |
Uint32 | u32 | int | UInt32 | INT UNSIGNED , INTEGER UNSIGNED | 0 , 1 , 2 |
Uint64 | u64 | int | UInt64 | BIGINT UNSIGNED | 0 , 1 , 2 |
Float32 | f32 | float | Float32 | FLOAT , REAL | 0.0 , -2.4 , 1E-3 |
Float64 | f64 | float | Float64 | DOUBLE | 0.0 , -2.4 , 1E-35 |
String | String | str | Utf8 | VARCHAR , CHAR , TEXT , STRING | "hello" , "world" |
Timestamp | SystemTime | — | Timestamp | TIMESTAMP | '2020-01-01' , '2023-05-17T22:16:00.648662+00:00' |
Bytes | Vec<u8> | — | Binary | BYTEA | X'A123' (hex) |
[]
, for example an INT array can be
declared with INT[]
. Arrays values can be indexed using 1-indexed subscript
notation (v[1]
is the first element of v
).
Arrays can be constructed via []
literals, like [1, 2, 3]
.
Arroyo provides a set of array functions for
manipulating array values; arrays may also be unnested using the
UNNEST
operator.
struct<field_name field_type, ..>
, and may contain any other type,
including arrays and other structs.
For example:
.
notation, for example properties.name.first
.