Skip to main content

QueryResult

Struct QueryResult 

Source
pub struct QueryResult {
    pub columns: Vec<String>,
    pub column_types: Vec<LogicalType>,
    pub rows: Vec<Vec<Value>>,
}
Expand description

The result of running a query.

Contains rows and columns, like a table. Use iter() to loop through rows, or scalar() if you expect a single value.

§Examples

use grafeo_engine::GrafeoDB;

let db = GrafeoDB::new_in_memory();
db.create_node(&["Person"]);

let result = db.execute("MATCH (p:Person) RETURN count(p) AS total")?;

// Check what we got
println!("Columns: {:?}", result.columns);
println!("Rows: {}", result.row_count());

// Iterate through results
for row in result.iter() {
    println!("{:?}", row);
}

Fields§

§columns: Vec<String>

Column names from the RETURN clause.

§column_types: Vec<LogicalType>

Column types - useful for distinguishing NodeId/EdgeId from plain integers.

§rows: Vec<Vec<Value>>

The actual result rows.

Implementations§

Source§

impl QueryResult

Source

pub fn new(columns: Vec<String>) -> Self

Creates a new empty query result.

Source

pub fn with_types(columns: Vec<String>, column_types: Vec<LogicalType>) -> Self

Creates a new empty query result with column types.

Source

pub fn row_count(&self) -> usize

Returns the number of rows.

Source

pub fn column_count(&self) -> usize

Returns the number of columns.

Source

pub fn is_empty(&self) -> bool

Returns true if the result is empty.

Source

pub fn scalar<T: FromValue>(&self) -> Result<T>

Extracts a single value from the result.

Use this when your query returns exactly one row with one column, like RETURN count(n) or RETURN sum(p.amount).

§Errors

Returns an error if the result has multiple rows or columns.

Source

pub fn iter(&self) -> impl Iterator<Item = &Vec<Value>>

Returns an iterator over the rows.

Trait Implementations§

Source§

impl Debug for QueryResult

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more