diff options
Diffstat (limited to 'contrib/lo/lo.c')
-rw-r--r-- | contrib/lo/lo.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/contrib/lo/lo.c b/contrib/lo/lo.c index 497952fdbab..386c2c2d2f7 100644 --- a/contrib/lo/lo.c +++ b/contrib/lo/lo.c @@ -1,7 +1,7 @@ /* * PostgreSQL type definitions for managed LargeObjects. * - * $Id: lo.c,v 1.3 2000/05/29 01:59:02 tgl Exp $ + * $Id: lo.c,v 1.4 2000/06/09 01:10:58 tgl Exp $ * */ @@ -76,7 +76,8 @@ lo_in(char *str) /* * There is no Oid passed, so create a new one */ - oid = lo_creat(INV_READ | INV_WRITE); + oid = DatumGetObjectId(DirectFunctionCall1(lo_creat, + Int32GetDatum(INV_READ | INV_WRITE))); if (oid == InvalidOid) { elog(ERROR, "lo_in: InvalidOid returned from lo_creat"); @@ -186,7 +187,8 @@ lo_manage(PG_FUNCTION_ARGS) char *newv = SPI_getvalue(newtuple, tupdesc, attnum); if ((orig != newv && (orig == NULL || newv == NULL)) || (orig != NULL && newv != NULL && strcmp(orig, newv))) - lo_unlink(atoi(orig)); + DirectFunctionCall1(lo_unlink, + ObjectIdGetDatum((Oid) atoi(orig))); if (newv) pfree(newv); @@ -206,7 +208,8 @@ lo_manage(PG_FUNCTION_ARGS) if (orig != NULL) { - lo_unlink(atoi(orig)); + DirectFunctionCall1(lo_unlink, + ObjectIdGetDatum((Oid) atoi(orig))); pfree(orig); } |