# mco_translog_play_stop

This function provides the ability to stop one instance of transaction logging without affecting other instances of transaction logging (in this context a "transaction logging instance" refers to a thread which calls `mco_translog_play()` ) .

### For an overview see page TL Applications

### Prototype

        MCO_RET	mco_translog_play_stop (	mco_db_h db );

### Arguments

db | A database connection handle that had been passed to the corresponding `mco_translog_iterate()` or `mco_translog_play()`.

### Description

This function allows interrupting a currently executing `mco_tranlog_iterate()` iterating over a pipe. It is implemented internally by placing a marker into the pipe that indicates that the re-play must be stopped immediately even if the pipe is not updated from the database side (i.e. database transactions are not written into the pipe at the moment). Once the `mco_translog_play()` is stopped, the next call to the `mco_tranlog_iterate()` or `mco_translog_play()` returns `MCO_E_TL_PLAY_STOPPED`.

(Note that an equivalent to `mco_translog_play_stop`() is not currently available through the JNI or C# API.)

### Return Codes

MCO_S_OK | The marker was set; the next call to the `mco_translog_play()` returns `MCO_E_TL_PLAY_STOPPED`.
MCO_E_TL_PLAY_NOT_STARTED | `mco_translog_play_stop()` has been called prior to calling `mco_tranlog_iterate()` (the pipe has not been read yet).
MCO_E_TL_NOT_STARTED | The transaction logging process has not been started (`mco_translog_start()` has not been called yet).

### Files

Header file:
mcolog.h
Source file:
mcolog.c
Library:
libmcolog.a