mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Reorganize our CRC source files again.
Now that we use CRC-32C in WAL and the control file, the "traditional" and "legacy" CRC-32 variants are not used in any frontend programs anymore. Move the code for those back from src/common to src/backend/utils/hash. Also move the slicing-by-8 implementation (back) to src/port. This is in preparation for next patch that will add another implementation that uses Intel SSE 4.2 instructions to calculate CRC-32C, where available.
This commit is contained in:
@ -13,7 +13,7 @@
|
||||
|
||||
#include "access/rmgr.h"
|
||||
#include "access/xlogdefs.h"
|
||||
#include "common/pg_crc.h"
|
||||
#include "port/pg_crc32c.h"
|
||||
#include "storage/block.h"
|
||||
#include "storage/relfilenode.h"
|
||||
|
||||
@ -46,13 +46,13 @@ typedef struct XLogRecord
|
||||
uint8 xl_info; /* flag bits, see below */
|
||||
RmgrId xl_rmid; /* resource manager for this record */
|
||||
/* 2 bytes of padding here, initialize to zero */
|
||||
pg_crc32 xl_crc; /* CRC for this record */
|
||||
pg_crc32c xl_crc; /* CRC for this record */
|
||||
|
||||
/* XLogRecordBlockHeaders and XLogRecordDataHeader follow, no padding */
|
||||
|
||||
} XLogRecord;
|
||||
|
||||
#define SizeOfXLogRecord (offsetof(XLogRecord, xl_crc) + sizeof(pg_crc32))
|
||||
#define SizeOfXLogRecord (offsetof(XLogRecord, xl_crc) + sizeof(pg_crc32c))
|
||||
|
||||
/*
|
||||
* The high 4 bits in xl_info may be used freely by rmgr. The
|
||||
|
Reference in New Issue
Block a user