Thread: "lo" large object

"lo" large object

From
Patrick Welche
Date:
Just got stuck in the v7.2->v7.3 load:

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

lo being the type to keep psqlodbc happy when importing M$ access files. The
old definition was:

--
-- TOC entry 2 (OID 229586)
-- Name: lo; Type: TYPE; Schema: ; Owner: prlw1
--

CREATE TYPE lo (
    INTERNALLENGTH = 4,
    INPUT = int4in,
    OUTPUT = int4out,
    DEFAULT = '',
    ALIGNMENT = int4,
    STORAGE = plain,
    PASSEDBYVALUE
);

Suggestions? (Is my lo defn out of date, or maybe psqlodbc?)

Cheers,

Patrick

Re: "lo" large object

From
Tom Lane
Date:
Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> lo being the type to keep psqlodbc happy when importing M$ access files. The
> old definition was:

> CREATE TYPE lo (
>     INTERNALLENGTH = 4,
>     INPUT = int4in,
>     OUTPUT = int4out,

Hm.  The system doesn't tolerate type cheats like that anymore
(and the code was wrong anyway, since it should've been using
oidin/oidout).

I guess we'll have to fix the contrib/lo module.  Thanks for the
report...

            regards, tom lane

Re: "lo" large object

From
Patrick Welche
Date:
On Wed, Sep 25, 2002 at 04:11:24PM -0400, Tom Lane wrote:
> Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> > lo being the type to keep psqlodbc happy when importing M$ access files. The
> > old definition was:
>
> > CREATE TYPE lo (
> >     INTERNALLENGTH = 4,
> >     INPUT = int4in,
> >     OUTPUT = int4out,
>
> Hm.  The system doesn't tolerate type cheats like that anymore
> (and the code was wrong anyway, since it should've been using
> oidin/oidout).
>
> I guess we'll have to fix the contrib/lo module.  Thanks for the
> report...

I didn't know about contrib/lo - the above was in a FAQ - I think where
you get the psqlodbc driver from..

Cheers,

Patrick

Re: "lo" large object

From
Patrick Welche
Date:
On Wed, Sep 25, 2002 at 09:26:10PM +0100, Patrick Welche wrote:
> On Wed, Sep 25, 2002 at 04:11:24PM -0400, Tom Lane wrote:
> > Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> > > lo being the type to keep psqlodbc happy when importing M$ access files. The
> > > old definition was:
> >
> > > CREATE TYPE lo (
> > >     INTERNALLENGTH = 4,
> > >     INPUT = int4in,
> > >     OUTPUT = int4out,
> >
> > Hm.  The system doesn't tolerate type cheats like that anymore
> > (and the code was wrong anyway, since it should've been using
> > oidin/oidout).
> >
> > I guess we'll have to fix the contrib/lo module.  Thanks for the
> > report...
>
> I didn't know about contrib/lo - the above was in a FAQ - I think where
> you get the psqlodbc driver from..

And contrib/lo works :-)

patrimoine=# \i lo.sql
psql:lo.sql:14: WARNING:  ProcedureCreate: type lo is not yet defined
CREATE FUNCTION
psql:lo.sql:20: WARNING:  Argument type "lo" is only a shell
CREATE FUNCTION
CREATE TYPE
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION

and OpenOffice/Data sources -> odbc -> patrimoine worked.

Thanks,

Patrick