53 lines
1.8 KiB
C
53 lines
1.8 KiB
C
/****************************************************************
|
|
* *
|
|
* Copyright 2001, 2009 Fidelity Information Services, Inc *
|
|
* *
|
|
* This source code contains the intellectual property *
|
|
* of its copyright holder(s), and is made available *
|
|
* under a license. If you do not know the terms of *
|
|
* the license, please stop and do not read further. *
|
|
* *
|
|
****************************************************************/
|
|
|
|
/* This is the routine used by both db_init() and mu_rndwn_file() for initializing appropriate structures. */
|
|
|
|
#include "mdef.h"
|
|
|
|
#include "gtm_string.h"
|
|
|
|
#include "gdsroot.h"
|
|
#include "gtm_facility.h"
|
|
#include "fileinfo.h"
|
|
#include "gdsbt.h"
|
|
#include "gdsfhead.h"
|
|
#include "filestruct.h"
|
|
#include "iosp.h"
|
|
#include "jnl.h"
|
|
|
|
GBLREF jnl_process_vector *prc_vec;
|
|
|
|
void db_common_init(gd_region *reg, sgmnt_addrs *csa, sgmnt_data_ptr_t csd)
|
|
{
|
|
csa->bmm = MM_ADDR(csd);
|
|
csa->reorg_last_dest = 0; /* For mupip reorg swap operation */
|
|
csa->region = reg; /* initialize the back-link */
|
|
reg->max_rec_size = csd->max_rec_size;
|
|
reg->max_key_size = csd->max_key_size;
|
|
reg->null_subs = csd->null_subs;
|
|
reg->std_null_coll = csd->std_null_coll;
|
|
reg->jnl_state = csd->jnl_state;
|
|
reg->jnl_file_len = csd->jnl_file_len; /* journal file name length */
|
|
memcpy(reg->jnl_file_name, csd->jnl_file_name, reg->jnl_file_len); /* journal file name */
|
|
reg->jnl_alq = csd->jnl_alq;
|
|
reg->jnl_deq = csd->jnl_deq;
|
|
reg->jnl_buffer_size = csd->jnl_buffer_size;
|
|
reg->jnl_before_image = csd->jnl_before_image;
|
|
bt_init(csa);
|
|
/* Initialization of prc_vec is done even for no journaling. gtcm uses this always. Others might need it too. */
|
|
if (NULL == prc_vec)
|
|
{
|
|
prc_vec = (jnl_process_vector *)malloc(SIZEOF(jnl_process_vector));
|
|
jnl_prc_vector(prc_vec);
|
|
}
|
|
}
|