From 55b973a2cd27ed9f9bbe82552b34e7e813c2852a Mon Sep 17 00:00:00 2001 From: Daniel Mai Date: Thu, 3 Jan 2019 14:14:53 -0800 Subject: [PATCH 1/2] Add docs about read-only transactions. --- README.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 273fbc0..83a8264 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ client.alter(op) To create a transaction, call `DgraphClient#txn()` method, which returns a new `Txn` object. This operation incurs no network overhead. -It is good practise to call `Txn#discard()` in a `finally` block after running +It is good practice to call `Txn#discard()` in a `finally` block after running the transaction. Calling `Txn#discard()` after `Txn#commit()` is a no-op and you can call `Txn#discard()` multiple times with no additional side-effects. @@ -106,6 +106,23 @@ finally: # ... ``` +To create a read-only transaction, call `DgraphClient#txn(read_only=True)`. +Read-only transactions are ideal for transactions which only involve queries. +Mutations and commits are not allowed. + +```python +txn = client.txn(read_only=True) +try: + # Do some queries here + # ... +finally: + txn.discard() + # ... +``` + +`client.query()` uses a read-only transaction to execute the query. + + ### Run a mutation `Txn#mutate(mu=Mutation)` runs a mutation. It takes in a `Mutation` object, From 64553295114da4aad04b6862dd69ae813d5d5048 Mon Sep 17 00:00:00 2001 From: Daniel Mai Date: Thu, 3 Jan 2019 14:24:08 -0800 Subject: [PATCH 2/2] Fix spacing. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 83a8264..2f7d07b 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,6 @@ finally: `client.query()` uses a read-only transaction to execute the query. - ### Run a mutation `Txn#mutate(mu=Mutation)` runs a mutation. It takes in a `Mutation` object,