Thread: can't create type lo (BLOB)

can't create type lo (BLOB)

From
"Daniel Schuchardt"
Date:
Hi @ all, thats my problem :

CIMSOFT=# CREATE TYPE lo (internallength=4, externallength=10, input=int4in,
output=int4out, default='', passedbyvalue);

ERROR:  TypeCreate: function int4out(lo) does not exist
ERROR:  TypeCreate: function int4out(lo) does not exist

CIMSOFT=# SELECT version();
version

----------------------------------------------------------------------------
-----------
 PostgreSQL 7.3 on i686-pc-cygwin, compiled by GCC gcc (GCC) 3.2 20020927
(prerelease)
(1 row)

Why this? With PostrgreSql 7.2 this works well.

Thanks for help



Re: can't create type lo (BLOB)

From
Tom Lane
Date:
"Daniel Schuchardt" <daniel_schuchardt@web.de> writes:
> Why this? With PostrgreSql 7.2 this works well.

7.3 tries to enforce type safety (with 7.2 it's trivial to create type
definitions that crash the server when used).  Your type declaration
doesn't pass because the I/O functions are declared to be for int4,
not lo.

My advice as of 7.3 would be to create type lo as a domain alias for
type OID:

regression=# create domain lo as oid;
CREATE DOMAIN

            regards, tom lane