[][src]Trait sqlx::prelude::Row

pub trait Row: 'static + Sealed + Send + Sync + Unpin {
    type Database: Database;
    fn columns(&self) -> &[<Self::Database as Database>::Column];
fn try_get_raw<I>(
        &self,
        index: I
    ) -> Result<<Self::Database as HasValueRef<'_>>::ValueRef, Error>
    where
        I: ColumnIndex<Self>
; fn is_empty(&self) -> bool { ... }
fn len(&self) -> usize { ... }
fn column<I>(&self, index: I) -> &<Self::Database as Database>::Column
    where
        I: ColumnIndex<Self>
, { ... }
fn try_column<I>(
        &self,
        index: I
    ) -> Result<&<Self::Database as Database>::Column, Error>
    where
        I: ColumnIndex<Self>
, { ... }
fn get<'r, T, I>(&'r self, index: I) -> T
    where
        I: ColumnIndex<Self>,
        T: Decode<'r, Self::Database> + Type<Self::Database>
, { ... }
fn get_unchecked<'r, T, I>(&'r self, index: I) -> T
    where
        I: ColumnIndex<Self>,
        T: Decode<'r, Self::Database>
, { ... }
fn try_get<'r, T, I>(&'r self, index: I) -> Result<T, Error>
    where
        I: ColumnIndex<Self>,
        T: Decode<'r, Self::Database> + Type<Self::Database>
, { ... }
fn try_get_unchecked<'r, T, I>(&'r self, index: I) -> Result<T, Error>
    where
        I: ColumnIndex<Self>,
        T: Decode<'r, Self::Database>
, { ... } }

Represents a single row from the database.

This trait is sealed and cannot be implemented for types outside of SQLx.

Associated Types

Loading content...

Required methods

fn columns(&self) -> &[<Self::Database as Database>::Column]

Gets all columns in this statement.

fn try_get_raw<I>(
    &self,
    index: I
) -> Result<<Self::Database as HasValueRef<'_>>::ValueRef, Error> where
    I: ColumnIndex<Self>, 

Index into the database row and decode a single value.

Errors

Loading content...

Provided methods

fn is_empty(&self) -> bool

Returns true if this row has no columns.

fn len(&self) -> usize

Returns the number of columns in this row.

fn column<I>(&self, index: I) -> &<Self::Database as Database>::Column where
    I: ColumnIndex<Self>, 

Gets the column information at index.

A string index can be used to access a column by name and a usize index can be used to access a column by position.

Panics

Panics if index is out of bounds. See try_column for a non-panicking version.

fn try_column<I>(
    &self,
    index: I
) -> Result<&<Self::Database as Database>::Column, Error> where
    I: ColumnIndex<Self>, 

Gets the column information at index or None if out of bounds.

fn get<'r, T, I>(&'r self, index: I) -> T where
    I: ColumnIndex<Self>,
    T: Decode<'r, Self::Database> + Type<Self::Database>, 

Index into the database row and decode a single value.

A string index can be used to access a column by name and a usize index can be used to access a column by position.

Panics

Panics if the column does not exist or its value cannot be decoded into the requested type. See try_get for a non-panicking version.

fn get_unchecked<'r, T, I>(&'r self, index: I) -> T where
    I: ColumnIndex<Self>,
    T: Decode<'r, Self::Database>, 

Index into the database row and decode a single value.

Unlike get, this method does not check that the type being returned from the database is compatible with the Rust type and blindly tries to decode the value.

Panics

Panics if the column does not exist or its value cannot be decoded into the requested type. See try_get_unchecked for a non-panicking version.

fn try_get<'r, T, I>(&'r self, index: I) -> Result<T, Error> where
    I: ColumnIndex<Self>,
    T: Decode<'r, Self::Database> + Type<Self::Database>, 

Index into the database row and decode a single value.

A string index can be used to access a column by name and a usize index can be used to access a column by position.

Errors

fn try_get_unchecked<'r, T, I>(&'r self, index: I) -> Result<T, Error> where
    I: ColumnIndex<Self>,
    T: Decode<'r, Self::Database>, 

Index into the database row and decode a single value.

Unlike try_get, this method does not check that the type being returned from the database is compatible with the Rust type and blindly tries to decode the value.

Errors

Loading content...

Implementors

impl Row for AnyRow[src]

type Database = Any

impl Row for MssqlRow[src]

type Database = Mssql

impl Row for MySqlRow[src]

type Database = MySql

impl Row for PgRow[src]

type Database = Postgres

impl Row for SqliteRow[src]

type Database = Sqlite

Loading content...