cubrid icon indicating copy to clipboard operation
cubrid copied to clipboard

[CBRD-25365] Change 'Creation_time' in 'SHOW VOLUME|LOG|ARCHIVE LOG HEADER' statements to Volume creation time.

Open H2SU opened this issue 1 year ago • 0 comments

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

H2SU avatar May 24 '24 09:05 H2SU