8.42 GET_TIMESTAMP

Valid For

Extract and Replicat

Description

Use the GET_TIMESTAMP function to retrieve the I/O timestamp associated with a source data record in ASCII datetime format. The timestamp is then converted to local time and approximates the time of the original database operation.

Note:

The ASCII commit timestamp can vary with the varying regional use of Daylight Savings Time. The user exit callback should return the ASCII datetime as a GMT time to avoid this variance. The Oracle GoldenGate trail uses GMT format. See "GET_GMT_TIMESTAMP".

Syntax

#include "usrdecs.h"
short result_code;
record_def record;
ERCALLBACK (GET_TIMESTAMP, &record, &result_code);

Buffer

typedef struct
{
char *table_name;
char *buffer;
long length;
char before_after_ind;
short io_type;
short record_type;
short transaction_ind;
int64_t timestamp;
exit_ts_str io_datetime;
short mapped;
short source_or_target;
/* Version 2 CALLBACK_STRUCT_VERSION   */
char requesting_before_after_ind;
} record_def;

Input

None

Output

timestamp

The returned 64-bit I/O timestamp in ASCII format.

io_datetime

A null-terminated string containing the local I/O date and time, in the format of:

YYYY-MM-DD HH:MI:SS.FFFFFF

Return Values

EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK