pub trait TableTransaction {
// Required methods
fn id(&self) -> String;
fn lookup_rows(
&self,
path: &str,
keys: &[Row],
options: &LookupOptions,
) -> Result<Vec<MaybeRow>>;
fn select_rows(
&self,
query: &str,
options: &SelectOptions,
) -> Result<Vec<Row>>;
fn insert_rows(&self, path: &str, rows: &[Row]) -> Result<()>;
fn delete_rows(&self, path: &str, keys: &[Row]) -> Result<()>;
fn ping(&self) -> Result<()>;
fn commit(self: Box<Self>) -> Result<()>;
fn abort(self: Box<Self>) -> Result<()>;
}Expand description
A transaction over a dynamic table.
Dropping one does not abort it: neither transport can abort reliably
from Drop, and a silent best-effort attempt would be a lie. An unfinished
transaction expires on the server after its timeout.
Required Methods§
Sourcefn lookup_rows(
&self,
path: &str,
keys: &[Row],
options: &LookupOptions,
) -> Result<Vec<MaybeRow>>
fn lookup_rows( &self, path: &str, keys: &[Row], options: &LookupOptions, ) -> Result<Vec<MaybeRow>>
Looks rows up as of this transaction.
Sourcefn select_rows(&self, query: &str, options: &SelectOptions) -> Result<Vec<Row>>
fn select_rows(&self, query: &str, options: &SelectOptions) -> Result<Vec<Row>>
Runs a query as of this transaction.
Sourcefn delete_rows(&self, path: &str, keys: &[Row]) -> Result<()>
fn delete_rows(&self, path: &str, keys: &[Row]) -> Result<()>
Deletes rows by key in this transaction.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".