Datum lo_open(PG_FUNCTION_ARGS) { Oid lobjId = PG_GETARG_OID(0); int32 mode = PG_GETARG_INT32(1); LargeObjectDesc *lobjDesc; int fd; #ifdef PGXC ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("Postgres-XC does not support large object yet"), errdetail("The feature is not currently supported"))); #endif #if FSDB elog(DEBUG4, "lo_open(%u,%d)", lobjId, mode); #endif CreateFSContext(); lobjDesc = inv_open(lobjId, mode, fscxt); if (lobjDesc == NULL) { /* lookup failed */ #if FSDB elog(DEBUG4, "could not open large object %u", lobjId); #endif PG_RETURN_INT32(-1); } fd = newLOfd(lobjDesc); PG_RETURN_INT32(fd); }
Datum lo_open(PG_FUNCTION_ARGS) { Oid lobjId = PG_GETARG_OID(0); int32 mode = PG_GETARG_INT32(1); LargeObjectDesc *lobjDesc; int fd; #if FSDB elog(DEBUG4, "lo_open(%u,%d)", lobjId, mode); #endif CreateFSContext(); lobjDesc = inv_open(lobjId, mode, fscxt); if (lobjDesc == NULL) { /* lookup failed */ #if FSDB elog(DEBUG4, "could not open large object %u", lobjId); #endif PG_RETURN_INT32(-1); } fd = newLOfd(lobjDesc); PG_RETURN_INT32(fd); }
Datum be_lo_open(PG_FUNCTION_ARGS) { Oid lobjId = PG_GETARG_OID(0); int32 mode = PG_GETARG_INT32(1); LargeObjectDesc *lobjDesc; int fd; #if FSDB elog(DEBUG4, "lo_open(%u,%d)", lobjId, mode); #endif CreateFSContext(); lobjDesc = inv_open(lobjId, mode, fscxt); fd = newLOfd(lobjDesc); PG_RETURN_INT32(fd); }