[][src]Struct postgres_parser::sys::ArrayCoerceExpr

#[repr(C)]pub struct ArrayCoerceExpr {
    pub xpr: Expr,
    pub arg: *mut Expr,
    pub elemexpr: *mut Expr,
    pub resulttype: Oid,
    pub resulttypmod: int32,
    pub resultcollid: Oid,
    pub coerceformat: CoercionForm,
    pub location: c_int,
}

ArrayCoerceExpr

ArrayCoerceExpr represents a type coercion from one array type to another, which is implemented by applying the perelement coercion expression "elemexpr" to each element of the source array. Within elemexpr, the source element is represented by a CaseTestExpr node. Note that even if elemexpr is a noop (that is, just CaseTestExpr + RelabelType), the coercion still requires some effort: we have to fix the element type OID stored in the array header.

Fields

xpr: Exprarg: *mut Exprelemexpr: *mut Expr

input expression (yields an array)

resulttype: Oid

expression representing perelement work

resulttypmod: int32

output type of coercion (an array type)

resultcollid: Oid

output typmod (also element typmod)

coerceformat: CoercionForm

OID of collation, or InvalidOid if none

location: c_int

how to display this node

Trait Implementations

impl Debug for ArrayCoerceExpr[src]

impl Default for ArrayCoerceExpr[src]

impl Eq for ArrayCoerceExpr[src]

impl Hash for ArrayCoerceExpr[src]

impl PartialEq<ArrayCoerceExpr> for ArrayCoerceExpr[src]

impl StructuralEq for ArrayCoerceExpr[src]

impl StructuralPartialEq for ArrayCoerceExpr[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.