Skip to main content

TypeDBDriver

Struct TypeDBDriver 

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

A connection to a TypeDB server which serves as the starting point for all interaction.

Implementations§

Source§

impl TypeDBDriver

Source

pub const DEFAULT_ADDRESS: &'static str = "127.0.0.1:1729"

Source

pub async fn new( addresses: Addresses, credentials: Credentials, driver_options: DriverOptions, ) -> Result<Self>

Creates a new TypeDB Server connection.

§Arguments
  • addresses — The address(es) of the TypeDB Server(s), provided in a unified format
  • credentials — The Credentials to connect with
  • driver_options — The DriverOptions to connect with
§Examples
TypeDBDriver::new(Addresses::try_from_address_str("127.0.0.1:1729").unwrap(), Credentials::new("username", "password"), DriverOptions::new(true, None)).await
Source

pub async fn new_with_description( addresses: Addresses, credentials: Credentials, driver_options: DriverOptions, driver_lang: impl AsRef<str>, ) -> Result<Self>

Creates a new TypeDB Server connection with a description. This method is generally used by TypeDB drivers built on top of the Rust driver. In other cases, use Self::new instead.

§Arguments
  • addresses — The address(es) of the TypeDB Server(s), provided in a unified format
  • credentials — The Credentials to connect with
  • driver_options — The DriverOptions to connect with
  • driver_lang — The language of the driver connecting to the server
§Examples
TypeDBDriver::new_with_description(Addresses::try_from_address_str("127.0.0.1:1729").unwrap(), Credentials::new("username", "password"), DriverOptions::new(true, None), "rust").await
Source

pub fn is_open(&self) -> bool

Checks it this connection is opened.

§Examples
driver.is_open()
Source

pub fn databases(&self) -> &DatabaseManager

The DatabaseManager for this connection, providing access to database management methods.

§Examples
driver.databases()
Source

pub fn users(&self) -> &UserManager

The UserManager for this connection, providing access to user management methods.

§Examples
driver.databases()
Source

pub async fn server_version(&self) -> Result<ServerVersion>

Retrieves the server’s version, using default automatic server routing.

See Self::server_version_with_routing for more details and options.

§Examples
driver.server_version().await
Source

pub async fn server_version_with_routing( &self, server_routing: ServerRouting, ) -> Result<ServerVersion>

Retrieves the server’s version.

§Arguments
  • server_routing — The server routing directive to use for the operation
§Examples
driver.server_version_with_routing(ServerRouting::Auto).await;
Source

pub async fn servers(&self) -> Result<HashSet<Server>>

Retrieves the servers, using default automatic server routing.

See Self::servers_with_routing for more details and options.

§Examples
driver.servers().await;
Source

pub async fn servers_with_routing( &self, server_routing: ServerRouting, ) -> Result<HashSet<Server>>

Retrieves the servers.

§Arguments
  • server_routing — The server routing directive to use for the operation
§Examples
driver.servers_with_routing(ServerRouting::Auto).await;
Source

pub async fn primary_server(&self) -> Result<Option<AvailableServer>>

Retrieves the primary server, if exists, using default automatic server routing.

See Self::primary_server_with_routing for more details and options.

§Examples
driver.primary_server().await;
Source

pub async fn primary_server_with_routing( &self, server_routing: ServerRouting, ) -> Result<Option<AvailableServer>>

Retrieves the primary server, if exists.

§Arguments
  • server_routing — The server routing directive to use for the operation
§Examples
driver.primary_server_with_routing(ServerRouting::Auto).await;
Source

pub fn options(&self) -> &DriverOptions

Updates address translation of the driver. This lets you actualize new translation information without recreating the driver from scratch. Useful after registering new replicas requiring address translation. This operation will update existing connections using the provided addresses.

The DriverOptions for this connection.

§Examples
driver.options()
Source

pub fn configured_addresses(&self) -> &Addresses

The Addresses this connection is configured to.

§Examples
driver.configured_addresses()
Source

pub async fn transaction( &self, database_name: impl AsRef<str>, transaction_type: TransactionType, ) -> Result<Transaction>

Opens a transaction with default options.

See TypeDBDriver::transaction_with_options for more details.

§Examples
driver.transaction(database_name, TransactionType::Read).await;
Source

pub async fn transaction_with_options( &self, database_name: impl AsRef<str>, transaction_type: TransactionType, options: TransactionOptions, ) -> Result<Transaction>

Opens a new transaction with custom transaction options.

§Arguments
  • database_name — The name of the database to connect to
  • transaction_type — The TransactionType to open the transaction with
  • options — The TransactionOptions to open the transaction with
§Examples
transaction.transaction_with_options(database_name, transaction_type, options).await
Source

pub fn force_close(&self) -> Result

Closes this connection if it is open.

§Examples
driver.force_close()

Trait Implementations§

Source§

impl Debug for TypeDBDriver

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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