[][src]Struct postgres_parser::nodes::RowExpr

pub struct RowExpr {
    pub args: Option<Vec<Node>>,
    pub row_typeid: Oid,
    pub row_format: CoercionForm,
    pub colnames: Option<Vec<Node>>,
    pub location: i32,
}

RowExpr a ROW() expression

Note: the list of fields must have a oneforone correspondence with physical fields of the associated rowtype, although it is okay for it to be shorter than the rowtype. That is, the N'th list element must match up with the N'th physical field. When the N'th physical field is a dropped column (attisdropped) then the N'th list element can just be a NULL constant. (This case can only occur for named composite types, not RECORD types, since those are built from the RowExpr itself rather than vice versa.) It is important not to assume that length(args) is the same as the number of columns logically present in the rowtype.

colnames provides field names in cases where the names can't easily be obtained otherwise. Names must be provided if row_typeid is RECORDOID. If row_typeid identifies a known composite type, colnames can be NIL to indicate the type's cataloged field names apply. Note that colnames can be nonNIL even for a composite type, and typically is when the RowExpr was created by expanding a wholerow Var. This is so that we can retain the column alias names of the RTE that the Var referenced (which would otherwise be very difficult to extract from the parsetree). Like the args list, colnames is oneforone with physical fields of the rowtype.

Fields

args: Option<Vec<Node>>row_typeid: Oidrow_format: CoercionFormcolnames: Option<Vec<Node>>location: i32

Trait Implementations

impl Debug for RowExpr[src]

impl<'de> Deserialize<'de> for RowExpr[src]

impl Eq for RowExpr[src]

impl PartialEq<RowExpr> for RowExpr[src]

impl Serialize for RowExpr[src]

impl StructuralEq for RowExpr[src]

impl StructuralPartialEq for RowExpr[src]

Auto Trait Implementations

impl RefUnwindSafe for RowExpr

impl Send for RowExpr

impl Sync for RowExpr

impl Unpin for RowExpr

impl UnwindSafe for RowExpr

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> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[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.