pgsql: Move pg_lzcompress.c to src/common.

Поиск
Список
Период
Сортировка
От Fujii Masao
Тема pgsql: Move pg_lzcompress.c to src/common.
Дата
Msg-id E1YKhe0-0007ng-0n@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Move pg_lzcompress.c to src/common.

The meta data of PGLZ symbolized by PGLZ_Header is removed, to make
the compression and decompression code independent on the backend-only
varlena facility. PGLZ_Header is being used to store some meta data
related to the data being compressed like the raw length of the uncompressed
record or some varlena-related data, making it unpluggable once PGLZ is
stored in src/common as it contains some backend-only code paths with
the management of varlena structures. The APIs of PGLZ are reworked
at the same time to do only compression and decompression of buffers
without the meta-data layer, simplifying its use for a more general usage.

On-disk format is preserved as well, so there is no incompatibility with
previous major versions of PostgreSQL for TOAST entries.

Exposing compression and decompression APIs of pglz makes possible its
use by extensions and contrib modules. Especially this commit is required
for upcoming WAL compression feature so that the WAL reader facility can
decompress the WAL data by using pglz_decompress.

Michael Paquier, reviewed by me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/40bede5477bb5bce98ce9548841cb414634c26f7

Modified Files
--------------
src/backend/access/heap/tuptoaster.c  |   87 +++-
src/backend/utils/adt/Makefile        |    4 +-
src/backend/utils/adt/pg_lzcompress.c |  779 ---------------------------------
src/common/Makefile                   |    3 +-
src/common/pg_lzcompress.c            |  778 ++++++++++++++++++++++++++++++++
src/include/common/pg_lzcompress.h    |   91 ++++
src/include/utils/pg_lzcompress.h     |  112 -----
src/tools/msvc/Mkvcbuild.pm           |    3 +-
src/tools/pgindent/typedefs.list      |    1 -
9 files changed, 940 insertions(+), 918 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Noah Misch
Дата:
Сообщение: pgsql: Assert(PqCommReadingMsg) in pq_peekbyte().
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Move pg_crc.c to src/common, and remove pg_crc_tables.h