PgArray¶
A 1-dimensional PostgreSQL array. Contains the element type OID and an
ordered sequence of elements, where each element is either a FieldData
value or None (SQL NULL).
Used for both decoding arrays from query results and encoding arrays as query parameters:
// As a query parameter
let arr = PgArray(23,
recover val [as (FieldData | None): I32(1); I32(2); None; I32(4)] end)
session.execute(PreparedQuery("SELECT $1::int4[]",
recover val [as FieldDataTypes: arr] end), receiver)
// From a result field
match field.value
| let a: PgArray =>
for elem in a.elements.values() do
match elem
| let v: I32 => // use v
| None => // NULL element
end
end
end
Implements¶
- FieldData val
- FieldDataEquatable val
- Equatable[PgArray val] ref
Constructors¶
create¶
new val create(
element_oid': U32 val,
elements': Array[(FieldData val | None val)] val)
: PgArray val^
Parameters¶
Returns¶
- PgArray val^
Public fields¶
let element_oid: U32 val¶
let elements: Array[(FieldData val | None val)] val¶
Public Functions¶
size¶
Number of elements in the array.
Returns¶
- USize val
apply¶
Indexed element access.
Parameters¶
- i: USize val
Returns¶
eq¶
Parameters¶
- that: PgArray val
Returns¶
- Bool val
field_data_eq¶
Parameters¶
- that: FieldData box
Returns¶
- Bool val
string¶
PostgreSQL array literal format: {1,2,NULL,4}. Elements containing
commas, braces, quotes, backslashes, or whitespace are double-quoted
with internal backslash escaping. Empty string elements are quoted
("") to distinguish from NULL. None elements render as unquoted
NULL.
Returns¶
- String iso^
ne¶
Parameters¶
- that: PgArray val
Returns¶
- Bool val