Class AttemptContext
Inherited Members
Namespace: Couchbase.Transactions
Assembly: Couchbase.Transactions.dll
Syntax
public class AttemptContext
Properties
| Improve this Doc View SourceAttemptId
Declaration
public string AttemptId { get; }
Property Value
| Type | Description |
|---|---|
| String |
Logger
Declaration
public ILogger<AttemptContext> Logger { get; }
Property Value
| Type | Description |
|---|---|
| ILogger<AttemptContext> |
TransactionId
Declaration
public string TransactionId { get; }
Property Value
| Type | Description |
|---|---|
| String |
Methods
| Improve this Doc View SourceBailoutIfInOvertime(Boolean, String)
Declaration
protected void BailoutIfInOvertime(bool rollback, string caller = "BailoutIfInOvertime")
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | rollback | |
| String | caller |
CheckExpiryAndThrow(String, String)
Declaration
protected void CheckExpiryAndThrow(string docId, string hookPoint)
Parameters
| Type | Name | Description |
|---|---|---|
| String | docId | |
| String | hookPoint |
CommitAsync(IRequestSpan)
Declaration
public async Task CommitAsync(IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan |
Returns
| Type | Description |
|---|---|
| Task |
ConvertQueryError(Exception)
Declaration
public Exception ConvertQueryError(Exception err)
Parameters
| Type | Name | Description |
|---|---|---|
| Exception | err |
Returns
| Type | Description |
|---|---|
| Exception |
DoneCheck()
Declaration
protected void DoneCheck()
ErrorIfExpiredAndNotInExpiryOvertimeMode(String, String, String)
Declaration
protected void ErrorIfExpiredAndNotInExpiryOvertimeMode(string hookPoint, string docId = null, string caller = "")
Parameters
| Type | Name | Description |
|---|---|---|
| String | hookPoint | |
| String | docId | |
| String | caller |
GetAsync(ICouchbaseCollection, String)
Gets a document.
Declaration
public async Task<TransactionGetResult> GetAsync(ICouchbaseCollection collection, string id)
Parameters
| Type | Name | Description |
|---|---|---|
| Couchbase.KeyValue.ICouchbaseCollection | collection | The collection to look up the document in. |
| String | id | The ID of the document. |
Returns
| Type | Description |
|---|---|
| Task<TransactionGetResult> | A TransactionGetResult containing the document. |
Exceptions
| Type | Condition |
|---|---|
| Couchbase.Core.Exceptions.KeyValue.DocumentNotFoundException | If the document does not exist. |
GetOptionalAsync(ICouchbaseCollection, String, IRequestSpan)
Gets a document or null.
Declaration
public Task<TransactionGetResult> GetOptionalAsync(ICouchbaseCollection collection, string id, IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Couchbase.KeyValue.ICouchbaseCollection | collection | The collection to look up the document in. |
| String | id | The ID of the document. |
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan | The optional parent tracing span. |
Returns
| Type | Description |
|---|---|
| Task<TransactionGetResult> | A TransactionGetResult containing the document, or null if not found. |
InitAtrIfNeeded(ICouchbaseCollection, String, IRequestSpan)
Declaration
protected async Task InitAtrIfNeeded(ICouchbaseCollection collection, string id, IRequestSpan parentSpan)
Parameters
| Type | Name | Description |
|---|---|---|
| Couchbase.KeyValue.ICouchbaseCollection | collection | |
| String | id | |
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan |
Returns
| Type | Description |
|---|---|
| Task |
InsertAsync(ICouchbaseCollection, String, Object, IRequestSpan)
Insert a document.
Declaration
public Task<TransactionGetResult> InsertAsync(ICouchbaseCollection collection, string id, object content, IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Couchbase.KeyValue.ICouchbaseCollection | collection | The collection to insert the document into. |
| String | id | The ID of the new document. |
| Object | content | The content of the new document. |
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan | The optional parent tracing span. |
Returns
| Type | Description |
|---|---|
| Task<TransactionGetResult> | A TransactionGetResult representing the inserted document. |
QueryAsync<T>(String, TransactionQueryConfigBuilder, IScope, IRequestSpan)
Run a query in transaction mode.
Declaration
public Task<IQueryResult<T>> QueryAsync<T>(string statement, TransactionQueryConfigBuilder config = null, IScope scope = null, IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| String | statement | The statement to execute. |
| TransactionQueryConfigBuilder | config | The configuration to use for this query. |
| Couchbase.KeyValue.IScope | scope | The scope |
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan |
Returns
| Type | Description |
|---|---|
| Task<Couchbase.Query.IQueryResult<T>> | A SingleQueryTransactionResult<T> with the query results, if any. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the result. Use Object for queries with no results. |
Remarks
IMPORTANT: Any KV operations after this query will be run via the query engine, which has performance implications.
QueryAsync<T>(String, TransactionQueryOptions, IScope, IRequestSpan)
Run a query in transaction mode.
Declaration
public Task<IQueryResult<T>> QueryAsync<T>(string statement, TransactionQueryOptions options, IScope scope = null, IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| String | statement | The statement to execute. |
| TransactionQueryOptions | options | The query options to use for this query. |
| Couchbase.KeyValue.IScope | scope | The scope |
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan |
Returns
| Type | Description |
|---|---|
| Task<Couchbase.Query.IQueryResult<T>> | A SingleQueryTransactionResult<T> with the query results, if any. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the result. Use Object for queries with no results. |
Remarks
IMPORTANT: Any KV operations after this query will be run via the query engine, which has performance implications.
RemoveAsync(TransactionGetResult, IRequestSpan)
Remove a document previously looked up in this transaction.
Declaration
public Task RemoveAsync(TransactionGetResult doc, IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| TransactionGetResult | doc | The TransactionGetResult of a document previously looked up in this transaction. |
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan | The optional parent tracing span. |
Returns
| Type | Description |
|---|---|
| Task | A task representing the asynchronous work. |
ReplaceAsync(TransactionGetResult, Object, IRequestSpan)
Replace the content of a document previously fetched in this transaction with new content.
Declaration
public Task<TransactionGetResult> ReplaceAsync(TransactionGetResult doc, object content, IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| TransactionGetResult | doc | The TransactionGetResult of a document previously looked up in this transaction. |
| Object | content | The updated content. |
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan | The optional parent tracing span. |
Returns
| Type | Description |
|---|---|
| Task<TransactionGetResult> | A TransactionGetResult reflecting the updated content. |
RollbackAsync(IRequestSpan)
Rollback the transaction, explicitly.
Declaration
public Task RollbackAsync(IRequestSpan parentSpan = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Couchbase.Core.Diagnostics.Tracing.IRequestSpan | parentSpan | The optional parent tracing span. |
Returns
| Type | Description |
|---|---|
| Task | A task representing the asynchronous work. |
Remarks
Calling this method on AttemptContext is usually unnecessary, as unhandled exceptions will trigger a rollback automatically.