I see this using the latest CVS code:
$ make installcheck
[ all tests pass ]
$ pg_dump regression > /tmp/regression.dump
$ psql template1
template1=# drop database regression;
DROP DATABASE
template1=# create database regression;
CREATE DATABASE
template1=# \c regression
You are now connected to database regression.
regression=# \i /tmp/peter-dump
The restoration of the dump products a number of errors, including
the following: (I've only included the first few)
395: WARNING: ProcedureCreate: type widget is not yet defined
411: ERROR: parser: parse error at or near ","
467: ERROR: parser: parse error at or near ","
475: ERROR: parser: parse error at or near ","
483: ERROR: parser: parse error at or near ","
The corresponds lines from the dump file are:
CREATE FUNCTION "widget_in"(opaque) RETURNS widget AS
'/home/nconway/pgsql/src/test/regress/regress.so', 'widget_in' LANGUAGE
"c";
CREATE TYPE "widget" ( internallength = 24, input = widget_in, output =
widget_out, , alignment = double, storage = plain);
CREATE TYPE "city_budget" ( internallength = 16, input = int44in, output
= int44out, , element = integer, delimiter = ',', alignment = int4,
storage = plain);
CREATE TYPE "int42" ( internallength = 4, input = int4in, output =
int4out, , default = '42', alignment = int4, storage = plain,
passedbyvalue);
CREATE TYPE "text_w_default" ( internallength = variable, input =
textin, output = textout, , default = 'zippo', alignment = int4, storage
= plain);
The problem appears to be the spurious comma in the dumped CREATE TYPE
statement, and I think it was introduced by Peter E.'s recent checkin.
Cheers,
Neil
--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC