public inbox for [email protected]
help / color / mirror / Atom feedFrom: David G. Johnston <[email protected]>
To: Jian He <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: range data type size not mention in docs.
Date: Wed, 16 Feb 2022 23:51:02 -0700
Message-ID: <CAKFQuwYXFimG=bBeR9DSWVKK8at_+s_eBbcXDtMuyP38xa0R7Q@mail.gmail.com> (raw)
In-Reply-To: <CAMV54g35XSAq=+RL6H5W+8F7UG-s9eaDNNCTRuEGy76Vo+GGXw@mail.gmail.com>
References: <CAMV54g35XSAq=+RL6H5W+8F7UG-s9eaDNNCTRuEGy76Vo+GGXw@mail.gmail.com>
On Wednesday, February 16, 2022, Jian He <[email protected]> wrote:
>
> range type seem not mention their size in the docs.
> multi range size is variable.
> But range size seems fixed.
> why it's 17 byte?
>
> select pg_column_size('[10,20)' ::int4range ); --17 byte
> select pg_column_size('[-2147483648,2147483647)' ::int4range ); --17 byte.
>
> https://github.com/postgres/postgres/blob/4429f6a9e3e12bb4af6e3677fbc78cd80f160252/src/backend/utils...
* Binary representation: The first byte is the flags, then 4 bytes are the
* range type Oid, then the lower bound (if present) then the upper bound (if
* present). Each bound is represented by a 4-byte length header and the binary
* representation of that bound (as returned by a call to the send function for
* the subtype).
David J.
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: range data type size not mention in docs.
In-Reply-To: <CAKFQuwYXFimG=bBeR9DSWVKK8at_+s_eBbcXDtMuyP38xa0R7Q@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox