DataProvider::AbstractDataProviderBulkOperation Class Referenceabstract

Abstract bulk data operation class. More...

Inheritance diagram for DataProvider::AbstractDataProviderBulkOperation:
[legend]

## Public Member Functions

| commit ()
| Commits data written to the data provider. More...
| constructor (AbstractDataProvider provider)
| Creates the object.
abstract | discard ()
| Discards any buffered data. More...
abstract | flush ()
| Flushes any remaining data to the data provider. More...
abstract | queueData (hash< auto > record)
| Queues data in the buffer.
abstract | queueData (list< hash< auto >> records)
| Queues data in the buffer.
| rollback ()
| Rolls back data written to the data provider. More...

## Protected Attributes

AbstractDataProvider | provider
| The data provider.

## Detailed Description

Abstract bulk data operation class.

## Member Function Documentation

## commit()

DataProvider::AbstractDataProviderBulkOperation::commit | ( |  | ) |

Commits data written to the data provider.

Has no effect if the data provider does not support transaction management

## discard()

abstract DataProvider::AbstractDataProviderBulkOperation::discard | ( |  | ) |

pure virtual

Discards any buffered data.

This method should be called before rolling back the transaction (if the data provider supports transaction management) or destroying the object if an error occurs

Implemented in DataProvider::DefaultBulkUpserter, and DataProvider::DefaultBulkInserter.

## flush()

abstract DataProvider::AbstractDataProviderBulkOperation::flush | ( |  | ) |

pure virtual

Flushes any remaining data to the data provider.

This method should always be called before committing the transaction (if the data provider supports transaction management) or destroying the object

Implemented in DataProvider::DefaultBulkUpserter, and DataProvider::DefaultBulkInserter.

## rollback()

DataProvider::AbstractDataProviderBulkOperation::rollback | ( |  | ) |

Rolls back data written to the data provider.

Has no effect if the data provider does not support transaction management