Re: Type of bare text strings

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Type of bare text strings
Date: 2006-06-08 16:12:09
Message-ID: 20060608161208.GB17421@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jim C. Nasby wrote:
> What type are bare strings considered if they haven't been cast? I'm curious as
> to how the first case is of size 5, and how the last case is 301...
>
> decibel=# select pg_column_size('test');
> 5

"unknown". This seems to be a cstring (i.e. length 5 considering the
trailing \0)

> decibel=# select pg_column_size('test'::varchar);
> 8
> decibel=# select pg_column_size('test'::text);
> 8
> decibel=# select pg_column_size('test'::char(4));
> 8

4 fixed varlena + 4 string length

> decibel=# select pg_column_size('test'::name);
> 64

name is fixed 64 bytes (not varlena)

> decibel=# select pg_column_size('123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890');
> 301

Same as the first case. (There are actual 300 chars here according to
my count, is that right?)

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joshua D. Drake 2006-06-08 16:13:33 Re: How to avoid transaction ID wrap
Previous Message Tom Lane 2006-06-08 16:09:10 Re: How to avoid transaction ID wrap