Skip to content

Commit 31f0354

Browse files
authored
examples: Consuming results in writeTransactions (#278)
1 parent d1073c8 commit 31f0354

File tree

1 file changed

+34
-5
lines changed

1 file changed

+34
-5
lines changed

neo4j/test-integration/examples_test.go

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -539,31 +539,55 @@ func configTxMetadata(driver neo4j.Driver, name string) error {
539539
// tag::pass-bookmarks[]
540540
func addCompanyTxFunc(name string) neo4j.TransactionWork {
541541
return func(tx neo4j.Transaction) (interface{}, error) {
542-
return tx.Run("CREATE (a:Company {name: $name})", map[string]interface{}{"name": name})
542+
var result, err = tx.Run("CREATE (a:Company {name: $name})", map[string]interface{}{"name": name})
543+
544+
if err != nil {
545+
return nil, err
546+
}
547+
548+
return result.Consume()
543549
}
544550
}
545551

546552
func addPersonTxFunc(name string) neo4j.TransactionWork {
547553
return func(tx neo4j.Transaction) (interface{}, error) {
548-
return tx.Run("CREATE (a:Person {name: $name})", map[string]interface{}{"name": name})
554+
var result, err = tx.Run("CREATE (a:Person {name: $name})", map[string]interface{}{"name": name})
555+
556+
if err != nil {
557+
return nil, err
558+
}
559+
560+
return result.Consume()
549561
}
550562
}
551563

552564
func employTxFunc(person string, company string) neo4j.TransactionWork {
553565
return func(tx neo4j.Transaction) (interface{}, error) {
554-
return tx.Run(
566+
var result, err = tx.Run(
555567
"MATCH (person:Person {name: $personName}) "+
556568
"MATCH (company:Company {name: $companyName}) "+
557569
"CREATE (person)-[:WORKS_FOR]->(company)", map[string]interface{}{"personName": person, "companyName": company})
570+
571+
if err != nil {
572+
return nil, err
573+
}
574+
575+
return result.Consume()
558576
}
559577
}
560578

561579
func makeFriendTxFunc(person1 string, person2 string) neo4j.TransactionWork {
562580
return func(tx neo4j.Transaction) (interface{}, error) {
563-
return tx.Run(
581+
var result, err = tx.Run(
564582
"MATCH (a:Person {name: $name1}) "+
565583
"MATCH (b:Person {name: $name2}) "+
566584
"MERGE (a)-[:KNOWS]->(b)", map[string]interface{}{"name1": person1, "name2": person2})
585+
586+
if err != nil {
587+
return nil, err
588+
}
589+
590+
return result.Consume()
567591
}
568592
}
569593

@@ -738,9 +762,14 @@ func addPersonsAsEmployees(driver neo4j.Driver, companyName string) (int, error)
738762
employees := 0
739763
for _, person := range persons {
740764
_, err = session.WriteTransaction(func(tx neo4j.Transaction) (interface{}, error) {
741-
return tx.Run("MATCH (emp:Person {name: $person_name}) "+
765+
var result, err = tx.Run("MATCH (emp:Person {name: $person_name}) "+
742766
"MERGE (com:Company {name: $company_name}) "+
743767
"MERGE (emp)-[:WORKS_FOR]->(com)", map[string]interface{}{"person_name": person.Values[0], "company_name": companyName})
768+
if err != nil {
769+
return nil, err
770+
}
771+
772+
return result.Consume()
744773
})
745774
if err != nil {
746775
return 0, err

0 commit comments

Comments
 (0)