BUG: Vacuum Analyze - datumGetSize: Invalid typLen 0

Thomas T. Thai <tom@minnesota.com>

From: "Thomas T. Thai" <tom@minnesota.com>
To: <pgsql-hackers@postgresql.org>
Cc: <teodor@sigaev.ru>, <oleg@sai.msu.su>
Date: 2003-03-27T01:42:26Z
Lists: pgsql-hackers
System: NetBSD / Alpha 1.6 (64 bit)
Postgresql 7.3.2

Bug: after vacuum analyze, I'm unable to do a simple select. Instead I'm
getting this error:

  ERROR:  datumGetSize: Invalid typLen 0

Many thanks to Teodor Sigaev for helping verify this bug. The following
test suite came from Teodor:

Reproduce bug:
initdb and start postmaster
%createdb foo
%psql foo < bug.sql
CREATE TABLE
INSERT 16996 1
INSERT 16997 1
CREATE TABLE
INSERT 17003 1
  ts_name | ts_name
---------+---------
  default | default
  default | default
(2 rows)

VACUUM
ERROR:  datumGetSize: Invalid typLen 0


bug.sql is very simple:
------------------------------------------------
CREATE TABLE pg_ts_cfgmap (
     ts_name text
);

insert into pg_ts_cfgmap values ('default');
insert into pg_ts_cfgmap values ('default');


CREATE TABLE pg_ts_cfg (
     ts_name text
);

insert into pg_ts_cfg values ('default');

select
        *
from
         pg_ts_cfgmap,
         pg_ts_cfg
where
         pg_ts_cfgmap.ts_name = pg_ts_cfg.ts_name;


vacuum analyze pg_ts_cfgmap;

select
         *
from
         pg_ts_cfgmap,
         pg_ts_cfg
where
         pg_ts_cfgmap.ts_name = pg_ts_cfg.ts_name;

---------------------------------------------------

Thomas