Skip to main content

GraphLite

Struct GraphLite 

Source
pub struct GraphLite { /* private fields */ }
Expand description

Main entry point for GraphLite database operations

Represents an open connection to a GraphLite database. Despite being an embedded database, we use “Connection” terminology following the SQLite convention as it represents the connection to the database files.

§Examples

use graphlite_sdk::GraphLite;

// Open a database
let db = GraphLite::open("./mydb")?;

// Create a session for a user
let session = db.session("admin")?;

// Execute a query
let result = session.query("MATCH (n:Person) RETURN n")?;

Implementations§

Source§

impl GraphLite

Source

pub fn open<P: AsRef<Path>>(path: P) -> Result<Self>

Open a GraphLite database at the given path

Creates or opens a database at the specified path and initializes all necessary components. This is the main entry point for working with GraphLite databases.

§Arguments
  • path - Path to the database directory
§Examples
use graphlite_sdk::GraphLite;

let db = GraphLite::open("./mydb")?;
Source

pub fn session(&self, username: &str) -> Result<Session>

Create a new session for the given user

Sessions provide user context for permissions and security. Each session maintains its own transaction state and is isolated from other sessions.

Unlike SQLite which doesn’t have sessions, GraphLite uses sessions for:

  • User authentication and permissions
  • Transaction isolation
  • Audit logging
§Arguments
  • username - Username for the session
§Examples
let session = db.session("admin")?;
Source

pub fn coordinator(&self) -> &QueryCoordinator

Get access to the underlying QueryCoordinator

Provides direct access to the low-level API when needed for advanced operations not yet covered by the SDK.

§Safety

This is an escape hatch for advanced users. Most applications should use the high-level SDK API instead.

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, 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 = !

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.