pub struct Transaction { /* private fields */ }Expand description
Uma transação iniciada (handle do servidor).
Implementations§
Source§impl Transaction
impl Transaction
Sourcepub fn commit(self, conn: &mut Connection) -> Result<()>
pub fn commit(self, conn: &mut Connection) -> Result<()>
Faz commit e libera a transação.
Examples found in repository?
examples/dump.rs (line 53)
11fn main() -> Result<()> {
12 let cfg = ConnectConfig::new()
13 .host(std::env::var("FB_HOST").unwrap_or_else(|_| "127.0.0.1".into()))
14 .port(
15 std::env::var("FB_PORT")
16 .ok()
17 .and_then(|p| p.parse().ok())
18 .unwrap_or(3555),
19 )
20 .database(std::env::var("FB_DB").unwrap_or_else(|_| "employee".into()))
21 .user(std::env::var("FB_USER").unwrap_or_else(|_| "SYSDBA".into()))
22 .password(std::env::var("FB_PASSWORD").expect("set FB_PASSWORD"))
23 .wire_crypt(WireCrypt::Enabled);
24
25 let mut conn = Connection::connect(&cfg)?;
26 println!("conectado: protocolo v{}", conn.protocol_version());
27 let tx = conn.begin()?;
28
29 let sql = "SELECT emp_no, first_name FROM employee WHERE emp_no = 2";
30 let stmt = conn.prepare(&tx, sql)?;
31 println!(
32 "\nstmt_type={} colunas={}",
33 stmt.stmt_type(),
34 stmt.columns().len()
35 );
36 for c in stmt.columns() {
37 println!(
38 " [{}] name={:?} field={:?} relation={:?} alias={:?} owner={:?} type={} sub={} scale={} len={}",
39 c.index,
40 c.name(),
41 c.field,
42 c.relation,
43 c.alias,
44 c.owner,
45 c.sql_type,
46 c.sub_type,
47 c.scale,
48 c.length
49 );
50 }
51
52 stmt.drop_statement(&mut conn)?;
53 tx.commit(&mut conn)?;
54 conn.close()?;
55 Ok(())
56}Sourcepub fn rollback(self, conn: &mut Connection) -> Result<()>
pub fn rollback(self, conn: &mut Connection) -> Result<()>
Faz rollback e libera a transação.
Sourcepub fn commit_retaining(&self, conn: &mut Connection) -> Result<()>
pub fn commit_retaining(&self, conn: &mut Connection) -> Result<()>
Faz commit mas mantém o contexto da transação (e o handle) ativo.
Sourcepub fn rollback_retaining(&self, conn: &mut Connection) -> Result<()>
pub fn rollback_retaining(&self, conn: &mut Connection) -> Result<()>
Faz rollback mas mantém o contexto da transação (e o handle) ativo.
Trait Implementations§
Source§impl Debug for Transaction
impl Debug for Transaction
Source§impl Drop for Transaction
impl Drop for Transaction
Auto Trait Implementations§
impl Freeze for Transaction
impl RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnsafeUnpin for Transaction
impl UnwindSafe for Transaction
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