GET_BEFORE_AFTER_IND

有效对象

提取和复制

说明

使用 GET_BEFORE_AFTER_IND 函数可确定记录是数据库操作的前图像还是后图像。INSERT 位于映像之后,DELETE 位于映像之前,UPDATE 可以在映像之前或之后(请参见提取和复制参数 GETUPDATEBEFORES 和 GETUPDATEAFTERS)。如果正在提取 UPDATE 操作的之前映像,则同一更新中的之前映像将位于之后映像之前。

语法

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

缓冲区

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;

输入

无

输出

<before_after_ind>

以下项之一,用于指示记录是图像之前还是之后。

BEFORE_IMAGE_VAL
AFTER_IMAGE_VAL

返回值

EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK