Module rusted_cypher::cypher::transaction
[−]
[src]
Transaction management through neo4j's transaction endpoint
The recommended way to start a transaction is through the GraphClient
Examples
Starting a transaction
let graph = GraphClient::connect(URL).unwrap(); let mut transaction = graph.cypher().transaction(); transaction.add_statement("MATCH (n:TRANSACTION) RETURN n"); let (transaction, results) = transaction.begin().unwrap();
Statement is optional when beggining a transaction
let (transaction, _) = graph.cypher().transaction() .begin().unwrap();
Send queries in a started transaction
// Send a single query let result = transaction.exec("MATCH (n:TRANSACTION) RETURN n").unwrap(); // Send multiple queries let results = transaction .with_statement("MATCH (n:TRANSACTION) RETURN n") .with_statement("MATCH (n:OTHER_TRANSACTION) RETURN n") .send().unwrap();
Commit a transaction
transaction.exec("CREATE (n:TRANSACTION)").unwrap(); transaction.commit().unwrap(); // Send more statements when commiting let results = transaction .with_statement("MATCH (n:TRANSACTION) RETURN n") .send().unwrap();
Rollback a transaction
transaction.exec("CREATE (n:TRANSACTION)").unwrap(); transaction.rollback().unwrap();
Structs
Created | |
Started | |
Transaction |
Provides methods to interact with a transaction |