Enum libsql_client::client::Client
source · pub enum Client {
Local(Client),
Http(Client),
Hrana(Client),
}
Expand description
A generic client struct, wrapping possible backends. It’s a convenience struct which allows implementing connect() with backends being passed as env parameters.
Variants§
Implementations§
source§impl Client
impl Client
pub async fn raw_batch( &self, stmts: impl IntoIterator<Item = impl Into<Statement> + Send> + Send ) -> Result<BatchResult>
sourcepub async fn batch<I: IntoIterator<Item = impl Into<Statement> + Send> + Send>(
&self,
stmts: I
) -> Result<Vec<ResultSet>>where
<I as IntoIterator>::IntoIter: Send,
pub async fn batch<I: IntoIterator<Item = impl Into<Statement> + Send> + Send>( &self, stmts: I ) -> Result<Vec<ResultSet>>where <I as IntoIterator>::IntoIter: Send,
Executes a batch of SQL statements, wrapped in “BEGIN”, “END”, transaction-style. Each statement is going to run in its own transaction, unless they’re wrapped in BEGIN and END
Arguments
stmts
- SQL statements
pub fn batch_sync<I: IntoIterator<Item = impl Into<Statement> + Send> + Send>( &self, stmts: I ) -> Result<Vec<ResultSet>>where <I as IntoIterator>::IntoIter: Send,
pub async fn execute( &self, stmt: impl Into<Statement> + Send ) -> Result<ResultSet>
pub fn execute_sync( &self, stmt: impl Into<Statement> + Send ) -> Result<ResultSet>
pub async fn transaction(&self) -> Result<Transaction<'_>>
pub async fn execute_in_transaction( &self, tx_id: u64, stmt: Statement ) -> Result<ResultSet>
pub fn execute_in_transaction_sync( &self, tx_id: u64, stmt: Statement ) -> Result<ResultSet>
pub async fn commit_transaction(&self, tx_id: u64) -> Result<()>
pub fn commit_transaction_sync(&self, tx_id: u64) -> Result<()>
pub async fn rollback_transaction(&self, tx_id: u64) -> Result<()>
pub fn rollback_transaction_sync(&self, tx_id: u64) -> Result<()>
source§impl Client
impl Client
sourcepub async fn from_config<'a>(config: Config) -> Result<Client>
pub async fn from_config<'a>(config: Config) -> Result<Client>
Establishes a database client based on Config
struct
Examples
let config = Config { url: url::Url::parse("file:////tmp/example.db").unwrap(), auth_token: None };
let db = libsql_client::Client::from_config(config).await.unwrap();
sourcepub fn from_config_sync(config: Config) -> Result<Client>
pub fn from_config_sync(config: Config) -> Result<Client>
A sync flavor of from_config
sourcepub async fn from_env() -> Result<Client>
pub async fn from_env() -> Result<Client>
Establishes a database client based on environment variables
Env
LIBSQL_CLIENT_URL
- URL of the database endpoint - e.g. a https:// endpoint for remote connections (with specified credentials) or local file:/// path for a local database- (optional)
LIBSQL_CLIENT_TOKEN
- authentication token for the database. Skip if your database does not require authentication
Examples
let db = libsql_client::Client::from_env().await.unwrap();
sourcepub fn from_env_sync() -> Result<Client>
pub fn from_env_sync() -> Result<Client>
A sync flavor of from_env
pub fn from_workers_env(env: &Env) -> Result<Client>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more