COMPRESS_RECORD
Válido Para
Extract e Replicat
Descrição
Use a função COMPRESS_RECORD para recomprimir registros que foram descompactados com a função DECOMPRESS_RECORD. Chame COMPRESS_RECORD somente depois de usar DECOMPRESS_RECORD.
O conteúdo do buffer de registro não é convertido para ou a partir do conjunto de caracteres da saída do usuário. Foi informado como está.
Sintaxe
#include "usrdecs.h"
short result_code;
compressed_rec_def compressed_rec;
ERCALLBACK (COMPRESS_RECORD, &compressed_rec, &result_code);
Buffer
typedef struct
{
char *compressed_rec;
long compressed_len;
char *decompressed_rec;
long decompressed_len;
short *columns_present;
short source_or_target;
char requesting_before_after_ind;
} compressed_rec_def;
Entrada
<decompressed_rec>
Um ponteiro para o buffer que contém o registro antes da compactação. Presume-se que o registro esteja no formato canônico padrão do Oracle GoldenGate.
<decompressed_len>
O comprimento do registro descompactado.
<source_or_target>
Um dos itens a seguir indica se o registro de origem ou de destino está sendo compactado.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
<requesting_before_after_ind>
Usado como entrada interna. Não é necessário definir. Se definido, será ignorado.
<columns_present>
Um array de valores que indica as colunas presentes no registro compactado. Por exemplo, se a primeira, terceira e sexta colunas existirem no registro compactado e o número total de colunas na tabela for sete, a matriz deverá conter:
1, 0, 1, 0, 0, 1, 0
Use a função GET_TABLE_COLUMN_COUNT para obter o número de colunas na tabela (consulte "GET_TABLE_COLUMN_COUNT").
Saída
<compressed_rec>
Um ponteiro para o registro retornado em formato compactado. Geralmente, compressed_rec é um ponteiro para um buffer do tipo exit_rec_buf_def. O buffer exit_rec_buf_def contém o registro real prestes a ser processado pelo processo Extract ou Replicat. O buffer é fornecido quando o tipo de chamada é EXIT_CALL_DISCARD_RECORD. Rotinas de saída podem alterar o conteúdo deste buffer, por exemplo, para executar funções de mapeamento personalizadas. O chamador deve garantir que a quantidade apropriada de memória seja alocada para compressed_rec.
<compressed_len>
O comprimento retornado do registro compactado.
Valores de Retorno
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK
EXIT_FN_RET_INVALID_PARAM