cubrid
cubrid copied to clipboard
[CBRD-25365] Change 'Creation_time' in 'SHOW VOLUME|LOG|ARCHIVE LOG HEADER' statements to Volume creation time.
http://jira.cubrid.org/browse/CBRD-25365
Purpose
현재, 'SHOW VOLUME HEADER' 구문은 각 볼륨 별 생성시간을 출력하지 않습니다. 사용자의 요청에 따라 데이터베이스의 생성시간을 출력하고 있던 'Creation_time'을 각 볼륨 별 생성시간으로 변경합니다.
또한, 'SHOW VOLUME HEADER' 뿐만 아니라 'SHOW LOG HEADER', 'SHOW ARCHIVE LOG HEADER'의 'Creation_time'도 '볼륨 생성 시간'으로 변경하여 출력합니다.
Implementation
새 볼륨이 생성될 때 볼륨 생성시간을 저장하기 위해 disk_volume_header 구조체에 'vol_creation_time' field가 추가됩니다.
해당 field를 추가하기 위해 reserved area를 사용합니다.
- before
struct disk_volume_header
{
...
INT64 db_creation;
...
INT32 reserved0; /* reserved area */
INT32 reserved1; /* reserved area */
INT32 reserved2; /* reserved area */
INT32 reserved3; /* reserved area */
...
};
- after ( reserved0 --> dummy3 , reserved1,2 --> vol_creation_time , reserved3 --> reserved0 )
struct disk_volume_header
{
...
INT64 db_creation_time;
...
INT32 dummy3; /* Dummy fields for alignment */
INT64 vol_creation_time;
INT32 reserved0; /* reserved area */
...
};
log header 구조체와 archive log header 구조체, background archive log header 구조체에 vol_creation_time 필드가 추가됩니다.
- log header struct
typedef struct log_header LOG_HEADER;
struct log_header
{
/* Log header information */
...
INT64 db_creation_time; /* Database creation time. For safety reasons, this value is set on all volumes and the
* log. The value is generated by the log manager */
...
INT64 vol_creation_time; /* Volume creation time */
- archive log header struct
typedef struct log_arv_header LOG_ARV_HEADER;
struct log_arv_header
{
/* Log archive header information */
...
INT64 db_creation_time; /* Database creation time. For safety reasons, this value is set on all volumes and the
* log. The value is generated by the log manager */
...
INT64 vol_creation_time; /* Volume creation time */
...
}
- background archive log header struct
struct log_bgarv_header
{ /* Background log archive header information */
...
INT64 db_creation_time; /* Database creation time */
...
INT64 vol_creation_time; /* Volume creation time */
};
Remarks
N/A