1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

Add support for binary I/O of ltree, lquery, and ltxtquery types.

Not much to say here --- does what it says on the tin.  The "binary"
representation in each case is really just the same as the text format,
though we prefix a version-number byte in case anyone ever feels
motivated to change that.  Thus, there's not any expectation of improved
speed or reduced space; the point here is just to allow clients to use
binary format for all columns of a query result or COPY data.

This makes use of the recently added ALTER TYPE support to add binary
I/O functions to an existing data type.  As in commit a80818605,
we can piggy-back on there already being a new-for-v13 version of the
ltree extension, so we don't need a new update script file.

Nino Floris, reviewed by Alexander Korotkov and myself

Discussion: https://postgr.es/m/CANmj9Vxx50jOo1L7iSRxd142NyTz6Bdcgg7u9P3Z8o0=HGkYyQ@mail.gmail.com
This commit is contained in:
Tom Lane
2020-04-01 17:31:29 -04:00
parent 501b018799
commit 949a9f043e
5 changed files with 290 additions and 35 deletions

View File

@ -20,10 +20,10 @@
#include "utils/pg_crc.h"
unsigned int
ltree_crc32_sz(char *buf, int size)
ltree_crc32_sz(const char *buf, int size)
{
pg_crc32 crc;
char *p = buf;
const char *p = buf;
INIT_TRADITIONAL_CRC32(crc);
while (size > 0)