GET_POSITION

有效对象

提取(仅数据泵)和复制

说明

使用 GET_POSITION 函数可获取提取数据泵或复制在 Oracle GoldenGate 线索中的读取位置。

语法

#include "usrdecs.h"
short result_code;
ERCALLBACK (GET_POSITION &position_def, &result_code);

缓冲区

typedef struct
{
char *position;
long position_len;
short position_type;
short ascii_or_internal;
} position_def;

输入

<position_len>

职位长度的分配长度。

<position_type>

可以是以下名称之一:

STARTUP_CHECKPOINT

线索中的起始位置。

CURRENT_CHECKPOINT

线索中上次读取的位置。

column_value_mode

用于表示传递列值的格式的指示符。当前,仅支持默认 Oracle GoldenGate 规范格式,如下所示:

EXIT_FN_RAW_FORMAT

输出

* 位置

指向表示位置值的缓冲区的指针。此缓冲区在 position_def 中声明为两个二进制值(未签名 int32t 和 int32t),在 char 字段中声明为八个字节的 seqnorba。用户出口必须将数据移动到正确的数据类型。在 Little Endian 平台上使用此函数将导致该进程在两个字段上分别“反转字节”。

返回值

EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_NOT_SUPPORTED
EXIT_FN_RET_OK