[−][src]Struct postgres_parser::nodes::RowExpr
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: Oid
row_format: CoercionForm
colnames: Option<Vec<Node>>
location: i32
Trait Implementations
impl Debug for RowExpr
[src]
impl<'de> Deserialize<'de> for RowExpr
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Eq for RowExpr
[src]
impl PartialEq<RowExpr> for RowExpr
[src]
impl Serialize for RowExpr
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,