WiredTiger: WT_ASYNC_OP Struct Reference

| Version 3.1.0

Fork me on GitHub Join my user group
List of all members | Public Member Functions | Public Attributes
WT_ASYNC_OP Struct Reference
WiredTiger API

A WT_ASYNC_OP handle is the interface to an asynchronous operation. More...

## Public Member Functions
uint64_t | get_id (WT_ASYNC_OP *op)
| Get the unique identifier for this operation. More...
WT_ASYNC_OPTYPE | get_type (WT_ASYNC_OP *op)
| Get the type for this operation. More...
Data access
int | get_key (WT_ASYNC_OP *op,...)
| Invoke the underlying WT_CURSOR::get_key method; see that method for configuration, return and error values. More...
int | get_value (WT_ASYNC_OP *op,...)
| Invoke the underlying WT_CURSOR::get_value method; see that method for configuration, return and error values. More...
void | set_key (WT_ASYNC_OP *op,...)
| Invoke the underlying WT_CURSOR::set_key method; see that method for configuration, return and error values. More...
void | set_value (WT_ASYNC_OP *op,...)
| Invoke the underlying WT_CURSOR::set_value method; see that method for configuration, return and error values. More...
Positioning
int | search (WT_ASYNC_OP *op)
| Invoke the underlying WT_CURSOR::search method; see that method for configuration, return and error values. More...
Data modification
int | insert (WT_ASYNC_OP *op)
| Invoke the underlying WT_CURSOR::insert method; see that method for configuration, return and error values. More...
int | update (WT_ASYNC_OP *op)
| Invoke the underlying WT_CURSOR::update method; see that method for configuration, return and error values. More...
int | remove (WT_ASYNC_OP *op)
| Invoke the underlying WT_CURSOR::remove method; see that method for configuration, return and error values. More...
Table operations
int | compact (WT_ASYNC_OP *op)
| Invoke the underlying WT_SESSION::compact method; see that method for configuration, return and error values. More...

## Public Attributes
WT_CONNECTION * | connection
| The connection for this operation. More...
const char * | key_format
| The format of the data packed into key items. More...
const char * | value_format
| The format of the data packed into value items. More...
void * | app_private
| A location for applications to store information that will be available in the callback from an async operation.

## Detailed Description

A WT_ASYNC_OP handle is the interface to an asynchronous operation.

An asynchronous operation describes a data manipulation to be performed asynchronously by a WiredTiger worker thread. These operations implement the CRUD (create, read, update and delete) operations. Each operation is a self-contained work unit. The operation will be performed in the context of the worker thread's session. Each operation is performed within the context of a transaction. The application is notified of its completion with a callback. The transaction is resolved once the callback returns.

The table referenced in an operation must already exist.

Raw data is represented by key/value pairs of WT_ITEM structures, but operations can also provide access to fields within the key and value if the formats are described in the WT_SESSION::create method.

Thread safety: A WT_ASYNC_OP handle may not be shared between threads, see Multithreading for more information.

Examples:
  ex_async.c.

## Member Function Documentation

## ◆ compact()

int WT_ASYNC_OP::compact | ( | WT_ASYNC_OP * | op | ) |

Invoke the underlying WT_SESSION::compact method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Returns
  via the callback as described for WT_SESSION::compact

Examples:
  ex_async.c.

## ◆ get_id()

uint64_t WT_ASYNC_OP::get_id | ( | WT_ASYNC_OP * | op | ) |

Get the unique identifier for this operation.

/* Retrieve the operation's 64-bit identifier. */
id = op->get_id(op);

Parameters

  op | the operation handle

Returns
  the id of the operation

Examples:
  ex_async.c.

## ◆ get_key()

int WT_ASYNC_OP::get_key | ( | WT_ASYNC_OP * | op,
|  |  | ...
| ) |  |

Invoke the underlying WT_CURSOR::get_key method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Returns
  as described for WT_CURSOR::get_key

Examples:
  ex_async.c.

## ◆ get_type()

WT_ASYNC_OPTYPE WT_ASYNC_OP::get_type | ( | WT_ASYNC_OP * | op | ) |

Get the type for this operation.

/* Retrieve the operation's WT_ASYNC_OPTYPE type. */
type = op->get_type(op);

Parameters

  op | the operation handle

Returns
  the WT_ASYNC_OPTYPE of the operation

Examples:
  ex_async.c.

## ◆ get_value()

int WT_ASYNC_OP::get_value | ( | WT_ASYNC_OP * | op,
|  |  | ...
| ) |  |

Invoke the underlying WT_CURSOR::get_value method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Returns
  as described for WT_CURSOR::get_value

Examples:
  ex_async.c.

## ◆ insert()

int WT_ASYNC_OP::insert | ( | WT_ASYNC_OP * | op | ) |

Invoke the underlying WT_CURSOR::insert method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Returns
  via the callback as described for WT_CURSOR::insert

Examples:
  ex_async.c.

## ◆ remove()

int WT_ASYNC_OP::remove | ( | WT_ASYNC_OP * | op | ) |

Invoke the underlying WT_CURSOR::remove method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Returns
  via the callback as described for WT_CURSOR::remove

## ◆ search()

int WT_ASYNC_OP::search | ( | WT_ASYNC_OP * | op | ) |

Invoke the underlying WT_CURSOR::search method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Returns
  via the callback as described for WT_CURSOR::search

Examples:
  ex_async.c.

## ◆ set_key()

void WT_ASYNC_OP::set_key | ( | WT_ASYNC_OP * | op,
|  |  | ...
| ) |  |

Invoke the underlying WT_CURSOR::set_key method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Examples:
  ex_async.c.

## ◆ set_value()

void WT_ASYNC_OP::set_value | ( | WT_ASYNC_OP * | op,
|  |  | ...
| ) |  |

Invoke the underlying WT_CURSOR::set_value method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Examples:
  ex_async.c.

## ◆ update()

int WT_ASYNC_OP::update | ( | WT_ASYNC_OP * | op | ) |

Invoke the underlying WT_CURSOR::update method; see that method for configuration, return and error values.

Parameters

  op | the operation handle

Returns
  via the callback as described for WT_CURSOR::update

## Member Data Documentation

## ◆ connection

WT_CONNECTION* WT_ASYNC_OP::connection

The connection for this operation.

## ◆ key_format

const char* WT_ASYNC_OP::key_format

The format of the data packed into key items.

See Packing and Unpacking Data for details. If not set, a default value of "u" is assumed, and applications must use WT_ITEM structures to manipulate untyped byte arrays.

## ◆ value_format

const char* WT_ASYNC_OP::value_format

The format of the data packed into value items.

See Packing and Unpacking Data for details. If not set, a default value of "u" is assumed, and applications must use WT_ITEM structures to manipulate untyped byte arrays.