On Thursday 08 April 2004 15:21, Sky wrote: > Problem: > pg_loopen() unable to open PostgreSQL large object in... > > Solution from another mailing list: > My blob oid was very big. > I had to cast to (float) the oid parameter of pg_loopen. Sorry, bigger than what? Why float? > Question: > The oid is a type, isn't it? Yes > I tried to use the oid in a function: > > CREATE FUNCTION addfoto(character varying, oid) > RETURNS INTEGER > AS > ' > BEGIN; > INSERT INTO foto(filename, image) VALUES ( $1, $2 ); > COMMIT; > SELECT 1 AS RESULT; > ' > LANGUAGE 'sql'; Assuming the definition of "foto" is OK, looks fine from here. > So, What can I do, and how, how can I "CAST" ?? Sorry - dont understand, but you can cast by: SELECT foo::int8 ... SELECT CAST(foo as int8) ... Is the problem that you want to handle oid's (0 .. 4 billion) and you are using int4 (-2 billion .. +2 billion). In which case int8 might be a better choice than int4. HTH -- Richard Huxton Archonet Ltd ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend