diff --git a/contrib/hstore/hstore_gist.c b/contrib/hstore/hstore_gist.c index 876b4359c6..54e96fca38 100644 --- a/contrib/hstore/hstore_gist.c +++ b/contrib/hstore/hstore_gist.c @@ -6,7 +6,7 @@ #include "access/gist.h" #include "access/skey.h" #include "catalog/pg_type.h" -#include "utils/pg_crc.h" +#include "common/pg_crc.h" #include "hstore.h" diff --git a/contrib/ltree/crc32.c b/contrib/ltree/crc32.c index 1c08d264f7..9e04037575 100644 --- a/contrib/ltree/crc32.c +++ b/contrib/ltree/crc32.c @@ -20,7 +20,7 @@ #define TOLOWER(x) (x) #endif -#include "utils/pg_crc.h" +#include "common/pg_crc.h" #include "crc32.h" unsigned int diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c index 5936c02234..acabd94f08 100644 --- a/src/backend/utils/adt/tsquery.c +++ b/src/backend/utils/adt/tsquery.c @@ -14,6 +14,7 @@ #include "postgres.h" +#include "common/pg_crc.h" #include "libpq/pqformat.h" #include "miscadmin.h" #include "tsearch/ts_locale.h" diff --git a/src/common/Makefile b/src/common/Makefile index 5f24eb38de..372a21b99d 100644 --- a/src/common/Makefile +++ b/src/common/Makefile @@ -23,7 +23,7 @@ include $(top_builddir)/src/Makefile.global override CPPFLAGS := -DFRONTEND $(CPPFLAGS) LIBS += $(PTHREAD_LIBS) -OBJS_COMMON = exec.o pg_lzcompress.o pgfnames.o psprintf.o relpath.o \ +OBJS_COMMON = exec.o pg_crc.o pg_lzcompress.o pgfnames.o psprintf.o relpath.o \ rmtree.o string.o username.o wait_error.o OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o diff --git a/src/include/utils/pg_crc_tables.h b/src/common/pg_crc.c similarity index 93% rename from src/include/utils/pg_crc_tables.h rename to src/common/pg_crc.c index 5524fda43a..faf5a66ad1 100644 --- a/src/include/utils/pg_crc_tables.h +++ b/src/common/pg_crc.c @@ -1,32 +1,28 @@ /*------------------------------------------------------------------------- * - * pg_crc_tables.h - * Polynomial lookup tables for CRC macros - * - * We make these tables available as a .h file so that programs not linked - * with libpgport can still use the macros in pg_crc.h. They just need - * to #include this header as well. + * pg_crc.c + * PostgreSQL CRC support * * See Ross Williams' excellent introduction * A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS, available from * http://www.ross.net/crc/download/crc_v3.txt or several other net sites. * - * These lookup tables are for normal, not "reflected", in Williams' terms, - * CRC. - * * Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * src/include/utils/pg_crc_tables.h + * + * IDENTIFICATION + * src/common/pg_crc.c * *------------------------------------------------------------------------- */ -#ifndef PG_CRC_TABLES_H -#define PG_CRC_TABLES_H + +#include "c.h" /* * This table is based on the so-called Castagnoli polynomial (the same - * that is used e.g. in iSCSI). + * that is used e.g. in iSCSI). It is for normal, not "reflected", in + * Williams' terms, CRC. */ const uint32 pg_crc32c_table[256] = { 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, @@ -100,6 +96,7 @@ const uint32 pg_crc32c_table[256] = { * This table is based on the polynomial * x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. * (This is the same polynomial used in Ethernet checksums, for instance.) + * It is for normal, not "reflected", in Williams' terms, CRC. */ const uint32 pg_crc32_table[256] = { 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, @@ -167,5 +164,3 @@ const uint32 pg_crc32_table[256] = { 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D }; - -#endif /* PG_CRC_TABLES_H */ diff --git a/src/include/access/xlogrecord.h b/src/include/access/xlogrecord.h index ff77db8037..25a92657b8 100644 --- a/src/include/access/xlogrecord.h +++ b/src/include/access/xlogrecord.h @@ -13,9 +13,9 @@ #include "access/rmgr.h" #include "access/xlogdefs.h" +#include "common/pg_crc.h" #include "storage/block.h" #include "storage/relfilenode.h" -#include "utils/pg_crc.h" /* * The overall layout of an XLOG record is: diff --git a/src/include/catalog/pg_control.h b/src/include/catalog/pg_control.h index cd6ae4083d..31232b13c5 100644 --- a/src/include/catalog/pg_control.h +++ b/src/include/catalog/pg_control.h @@ -16,8 +16,8 @@ #define PG_CONTROL_H #include "access/xlogdefs.h" +#include "common/pg_crc.h" #include "pgtime.h" /* for pg_time_t */ -#include "utils/pg_crc.h" /* Version identifier for this pg_control format */ diff --git a/src/include/utils/pg_crc.h b/src/include/common/pg_crc.h similarity index 99% rename from src/include/utils/pg_crc.h rename to src/include/common/pg_crc.h index 9bbd6d25ec..ea03dbf840 100644 --- a/src/include/utils/pg_crc.h +++ b/src/include/common/pg_crc.h @@ -27,7 +27,7 @@ * Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * src/include/utils/pg_crc.h + * src/include/common/pg_crc.h */ #ifndef PG_CRC_H #define PG_CRC_H diff --git a/src/include/tsearch/ts_type.h b/src/include/tsearch/ts_type.h index ae158fad0d..1cdfa82fb0 100644 --- a/src/include/tsearch/ts_type.h +++ b/src/include/tsearch/ts_type.h @@ -14,7 +14,6 @@ #include "fmgr.h" #include "utils/memutils.h" -#include "utils/pg_crc.h" /* diff --git a/src/port/Makefile b/src/port/Makefile index 1be4ff57a2..a0908bf5e3 100644 --- a/src/port/Makefile +++ b/src/port/Makefile @@ -31,7 +31,7 @@ override CPPFLAGS := -I$(top_builddir)/src/port -DFRONTEND $(CPPFLAGS) LIBS += $(PTHREAD_LIBS) OBJS = $(LIBOBJS) chklocale.o dirmod.o erand48.o fls.o inet_net_ntop.o \ - noblock.o path.o pgcheckdir.o pg_crc.o pgmkdirp.o pgsleep.o \ + noblock.o path.o pgcheckdir.o pgmkdirp.o pgsleep.o \ pgstrcasecmp.o pqsignal.o \ qsort.o qsort_arg.o quotes.o sprompt.o tar.o thread.o diff --git a/src/port/pg_crc.c b/src/port/pg_crc.c deleted file mode 100644 index b944be10a7..0000000000 --- a/src/port/pg_crc.c +++ /dev/null @@ -1,21 +0,0 @@ -/*------------------------------------------------------------------------- - * - * pg_crc.c - * PostgreSQL CRC support - * - * This file simply #includes the CRC table definitions so that they are - * available to programs linked with libpgport. - * - * Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/port/pg_crc.c - * - *------------------------------------------------------------------------- - */ - -#include "c.h" - -#include "utils/pg_crc_tables.h"